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.
- 25 turvallisuusvinkkiä Linux-palvelimille
- 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.
- IPTablesin (Linux Firewall) -vihjeet/komennot perusopas
- Iptables-palomuurin määrittäminen mahdollistamaan palvelujen etäkäyttö Linuxissa
- FirewallD:n määrittäminen RHEL/CentOS 7:ssä ja Fedora 21:ssä
- 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:
- /etc/hosts.allow
- /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.