Kuinka estää SSH- ja FTP-pääsy tietylle IP- ja verkkoalueelle Linuxissa


Yleensä me kaikki käytämme SSH- ja FTP-palveluita usein päästäksemme etäpalvelimiin ja virtuaalisiin yksityisiin palvelimiin. Linux-järjestelmänvalvojana sinun on tiedettävä, kuinka voit estää SSH- ja FTP-pääsyn tietylle IP- tai verkkoalueelle Linuxissa, jotta suojausta voidaan tiukentaa hieman.

  1. 25 turvallisuusvinkkiä Linux-palvelimille
  2. 5 hyödyllistä vinkkiä SSH-palvelimen suojaamiseen

Tämä opetusohjelma näyttää, kuinka voit estää SSH- ja FTP-pääsyn tiettyyn IP-osoitteeseen ja/tai verkkoalueeseen CentOS 6- ja 7-palvelimessa. Tämä opas on testattu CentOS 6.x- ja 7.x-versioissa, mutta se toimii todennäköisesti muissa Linux-jakeluissa, kuten Debianissa, Ubuntussa ja SUSE/openSUSE-versiossa jne.

Teemme sen kahdella tavalla. Ensimmäinen menetelmä käyttää IPTables/firewallD- ja toinen menetelmä TCP-kääreitä hosts.allow-tiedoston avulla. > ja hosts.deny-tiedosto.

Katso seuraavista oppaista lisätietoja IPTablesista ja palomuurista.

  1. IPTablesin (Linux Firewall) -vihjeet/komennot perusopas
  2. Iptables-palomuurin määrittäminen mahdollistamaan palvelujen etäkäyttö Linuxissa
  3. FirewallD:n määrittäminen RHEL/CentOS 7:ssä ja Fedora 21:ssä
  4. Hyödyllisiä FirewallD-sääntöjä palomuurin määrittämiseen ja hallintaan Linuxissa

Nyt tiedät, mitä ovat IPTables ja FirewallD ja niiden perusteet.

Tapa 1: Estä SSH- ja FTP-käyttö käyttämällä IPTablesia/palomuuriaD

Katsotaan nyt, kuinka estetään SSH- ja FTP-pääsy tiettyyn IP-osoitteeseen (esimerkiksi 192.168.1.100) ja/tai verkkoalueeseen (esimerkiksi 192.168.1.0/24). käyttämällä IPtablesia RHEL/CentOS/Scientific Linux 6.x -versioissa ja FirewallD:tä CentOS 7.x:ssä.

Estä tai poista käytöstä SSH-käyttö

--------------------- On IPtables Firewall ---------------------
iptables -I INPUT -s 192.168.1.100 -p tcp --dport ssh -j REJECT
iptables -I INPUT -s 192.168.1.0/24 -p tcp --dport ssh -j REJECT
--------------------- On FirewallD ---------------------
firewall-cmd --direct --add-rule ipv4 filter INPUT 1 -m tcp --source 192.168.1.100 -p tcp --dport 22 -j REJECT
firewall-cmd --direct --add-rule ipv4 filter INPUT 1 -m tcp --source 192.168.1.100/24 -p tcp --dport 22 -j REJECT

Jotta uudet säännöt tulevat voimaan, sinun on käytettävä seuraavaa komentoa.

service iptables save         [On IPtables Firewall]
firewall-cmd --reload         [On FirewallD]

Yritä nyt SSH palvelin estetystä isännästä. Muista, että tässä 192.168.1.150 on estetty isäntä.

ssh 192.168.1.150

Sinun pitäisi nähdä seuraava viesti.

ssh: connect to host 192.168.1.150 port 22: Connection refused

Kumoa tai ota SSH-käyttö käyttöön

Voit poistaa SSH-käytön eston tai ottaa sen käyttöön siirtymällä etäpalvelimeen ja suorittamalla seuraava komento:

--------------------- On IPtables Firewall ---------------------
iptables -I INPUT -s 192.168.1.100 -p tcp --dport ssh -j ACCEPT
iptables -I INPUT -s 192.168.1.100/24 -p tcp --dport ssh -j ACCEPT
--------------------- On FirewallD ---------------------
firewall-cmd --direct --add-rule ipv4 filter INPUT 1 -m tcp --source 192.168.1.100 -p tcp --dport 22 -j ACCEPT
firewall-cmd --direct --add-rule ipv4 filter INPUT 1 -m tcp --source 192.168.1.100/24 -p tcp --dport 22 -j ACCEPT

Tallenna muutokset käyttämällä seuraavaa päästäksesi palvelimellesi SSH:n kautta.

service iptables save         [On IPtables Firewall]
firewall-cmd --reload         [On FirewallD]

Estä tai poista käytöstä FTP-käyttö

Yleensä FTP:n oletusportit ovat 20 ja 21. Joten, jos haluat estää kaiken FTP-liikenteen IPTablesia käyttämällä, suorita seuraava komento:

--------------------- On IPtables Firewall ---------------------
iptables -I INPUT -s 192.168.1.100 -p tcp --dport 20,21 -j REJECT
iptables -I INPUT -s 192.168.1.100/24 -p tcp --dport 20,21 -j REJECT
--------------------- On FirewallD ---------------------
firewall-cmd --direct --add-rule ipv4 filter INPUT 1 -m tcp --source 192.168.1.100 -p tcp --dport 20,21 -j REJECT
firewall-cmd --direct --add-rule ipv4 filter INPUT 1 -m tcp --source 192.168.1.100/24 -p tcp --dport 20,21 -j REJECT

Jotta uudet säännöt tulevat voimaan, sinun on käytettävä seuraavaa komentoa.

service iptables save         [On IPtables Firewall]
firewall-cmd --reload         [On FirewallD]

Yritä nyt päästä palvelimeen estetystä isännästä (192.168.1.100) komennolla:

ftp 192.168.1.150

Saat alla olevan kaltaisen virheilmoituksen.

ftp: connect: Connection refused

Poista esto tai ota FTP-käyttö käyttöön

Poista esto ja ota FTP-käyttö takaisin käyttöön suorittamalla:

--------------------- On IPtables Firewall ---------------------
iptables -I INPUT -s 192.168.1.100 -p tcp --dport 20,21 -j ACCEPT
iptables -I INPUT -s 192.168.1.100/24 -p tcp --dport 20,21 -j ACCEPT
--------------------- On FirewallD ---------------------
firewall-cmd --direct --add-rule ipv4 filter INPUT 1 -m tcp --source 192.168.1.100 -p tcp --dport 20,21 -j ACCEPT
firewall-cmd --direct --add-rule ipv4 filter INPUT 1 -m tcp --source 192.168.1.100/24 -p tcp --dport 20,21 -j ACCEPT

Tallenna muutokset komennolla:

service iptables save         [On IPtables Firewall]
firewall-cmd --reload         [On FirewallD]

Yritä nyt päästä palvelimelle FTP:n kautta:

ftp 192.168.1.150

Syötä ftp-käyttäjänimesi ja salasanasi.

Connected to 192.168.1.150.
220 Welcome to TecMint FTP service.
Name (192.168.1.150:sk): tecmint
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> 

Tapa 2: Estä SSH- ja FTP-käyttö TCP-kääreillä

Jos et halua sotkea IPTablesin tai FirewallD kanssa, TCP-kääreet on parempi tapa estää SSH- ja FTP-pääsy tiettyyn IP ja/tai verkko.

OpenSSH ja FTP on käännetty TCP-kääreiden tuella, mikä tarkoittaa, että voit määrittää, mitkä isännät saavat muodostaa yhteyden koskematta palomuuriisi seuraavissa kahdessa tärkeässä tiedostossa:

  1. /etc/hosts.allow
  2. /etc/hosts.deny

Kuten nimestä voi päätellä, ensimmäinen tiedosto sisältää sallittujen isäntien merkinnät ja toinen estää estettyjen isäntien osoitteet.

Estetään esimerkiksi SSH- ja FTP-pääsy isäntään, jonka IP-osoite on 192.168.1.100 ja verkkoalue 192.168.1.0. Tämä menetelmä on sama CentOS 6.x- ja 7.x-sarjoissa. Ja tietysti se toimii muissa jakeluissa, kuten Debian, Ubuntu, SUSE, openSUSE jne.

Avaa /etc/hosts.deny-tiedosto ja lisää seuraavat IP-osoitteet tai verkkoalue, jonka haluat estää alla olevan kuvan mukaisesti.

##### To block SSH Access #####
sshd: 192.168.1.100
sshd: 192.168.1.0/255.255.255.0

##### To block FTP Access #####
vsftpd: 192.168.1.100
vsftpd: 192.168.1.0/255.255.255.0

Tallenna ja poistu tiedostosta.

Käynnistä sshd- ja vsftpd-palvelu nyt uudelleen, jotta uudet muutokset tulevat voimaan.

--------------- For SSH Service ---------------
service sshd restart        [On SysVinit]
systemctl restart sshd      [On SystemD]
--------------- For FTP Service ---------------
service vsftpd restart        [On SysVinit]
systemctl restart vsftpd      [On SystemD]

Yritä nyt SSH-palvelua palvelimelta tai estetyltä isännältä.

ssh 192.168.1.150

Näet seuraavan tulosteen:

ssh_exchange_identification: read: Connection reset by peer

Yritä nyt FTP palvelimelta tai estetyltä isännältä.


ftp 192.168.1.150

Näet seuraavan tulosteen:

Connected to 192.168.1.150.
421 Service not available.

Voit poistaa SSH- ja FTP-palvelujen eston tai ottaa ne uudelleen käyttöön muokkaamalla hosts.deny-tiedostoa ja kommentoimalla kaikki rivit ja käynnistämällä lopuksi vsftpd- ja sshd-palvelut uudelleen.

Johtopäätös

Tässä kaikki tältä erää. Yhteenvetona totean, että tänään opimme estämään tietyn IP-osoitteen ja verkkoalueen IPTables-, FirewallD- ja TCP-kääreillä. Nämä menetelmät ovat melko helppoja ja yksinkertaisia.

Jopa aloitteleva Linux-järjestelmänvalvoja voi tehdä tämän muutamassa minuutissa. Jos tiedät muita tapoja estää SSH- ja FTP-käyttö, voit jakaa ne kommenttiosiossa. Ja älä unohda jakaa artikkeleitamme kaikissa sosiaalisissa verkostoissasi.