Kuidas blokeerida Linuxis SSH ja FTP juurdepääs konkreetsele IP- ja võrgupiirkonnale
Tavaliselt kasutame kõik kaugserveritele ja virtuaalsetele privaatserveritele juurdepääsu saamiseks SSH- ja FTP-teenuseid. Kui olete Linuxi administraator, peate turvalisuse natuke rangemaks muutmiseks teadma, kuidas blokeerida SSH ja FTP juurdepääs Linuxi konkreetsele IP-le või võrgupiirkonnale.
- 25 Linuxi serverite turvalisuse näpunäiteid
- 5 kasulikku näpunäidet SSH-serveri turvamiseks ja kaitsmiseks
See õpetus näitab teile, kuidas blokeerida SSH ja FTP juurdepääs konkreetsele IP-aadressile ja/või CentOS 6 ja 7 serveri võrgupiirkonnale. Seda juhendit testiti CentOS 6.x ja 7.x versioonidel, kuid see töötab tõenäoliselt ka teistes Linuxi distributsioonides nagu Debian, Ubuntu ja SUSE/openSUSE jne.
Teeme seda kahel viisil. Esimene meetod kasutab IPTables/tulemüüriD ja teine meetod TCP ümbriseid failide hosts.allow ja hosts.deny abil.
IPT-tabelite ja tulemüüri kohta lisateabe saamiseks lugege järgmisi juhendeid.
- IPTable'i (Linuxi tulemüüri) näpunäited/käsud - põhijuhend
- Kuidas seadistada Iptablesi tulemüür, et lubada Linuxis teenustele kaugjuurdepääs
- Kuidas seadistada faili FirewallD RHEL/CentOS 7 ja Fedora 21
- Kasulikud reeglid FirewallD Linuxi tulemüüri konfigureerimiseks ja haldamiseks
Nüüd olete teadlik sellest, mis on IPTabelid ja tulemüürD ning selle põhitõed.
1. meetod: blokeerige SSH ja FTP juurdepääs, kasutades IPTable/FirewallD
Vaatame nüüd, kuidas blokeerida SSH- ja FTP-juurdepääs konkreetsele IP-le (näiteks 192.168.1.100) ja/või võrgupiirkonnale (näiteks 192.168.1.0/24), kasutades IP-tabeleid RHEL/CentOS/Scientific Linux 6.x versioonides FirOS FirewallD saidil CentOS 7.x.
--------------------- 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
Uute reeglite jõustamiseks peate kasutama järgmist käsku.
# service iptables save [On IPtables Firewall] # firewall-cmd --reload [On FirewallD]
Nüüd proovige SSH-server blokeeritud hostilt. Pidage meeles, et siin on 192.168.1.150 blokeeritud host.
# ssh 192.168.1.150
Te peaksite nägema järgmist teadet.
ssh: connect to host 192.168.1.150 port 22: Connection refused
SSH-i juurdepääsu blokeerimiseks või lubamiseks minge kaugserverisse ja käivitage järgmine käsk:
--------------------- 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
Salvestage muudatused järgmiselt, et pääseda oma serverile juurde SSH kaudu.
# service iptables save [On IPtables Firewall] # firewall-cmd --reload [On FirewallD]
Tavaliselt on FTP vaikepordid 20 ja 21. Seega kogu FTP-liikluse blokeerimiseks IPTable-ide abil käivitage järgmine käsk:
--------------------- 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
Uute reeglite jõustamiseks peate kasutama järgmist käsku.
# service iptables save [On IPtables Firewall] # firewall-cmd --reload [On FirewallD]
Nüüd proovige pääseda serverile blokeeritud hostilt (192.168.1.100) käsuga:
# ftp 192.168.1.150
Saate veateate, mis sarnaneb allpool kirjeldatuga.
ftp: connect: Connection refused
FTP-de juurdepääsu blokeerimise tühistamiseks ja lubamiseks käivitage:
--------------------- 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
Salvestage muudatused käsuga:
# service iptables save [On IPtables Firewall] # firewall-cmd --reload [On FirewallD]
Nüüd proovige pääseda serverile FTP kaudu:
# ftp 192.168.1.150
Sisestage oma ftp kasutajanimi ja parool.
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>
2. meetod: blokeerige SSH- ja FTP-juurdepääs TCP-mähiste abil
Kui te ei soovi IPTable-ide või FirewallD-ga segi ajada, on TCP-mähised parem viis blokeerida SSH-le ja FTP-le juurdepääs konkreetsele IP-le ja/või võrgu vahemikule.
OpenSSH ja FTP kompileeritakse TCP ümbriste toega, mis tähendab, et saate määratleda, millistel hostidel on lubatud ühenduda ilma tulemüüri puudutamata järgmises kahes olulises failis:
- /etc/hosts.allow
- /etc/hosts.deny
Nagu nimigi ütleb, sisaldab esimene fail lubatud hostide kirjeid ja teine blokeeritud hostide aadresse.
Näiteks blokeerime SSH-le ja FTP-le juurdepääsu hostile, millel on IP-aadress 192.168.1.100 ja võrgupiirkond 192.168.1.0. See meetod on sama CentOS 6.x ja 7.x seeriate puhul. Muidugi töötab see ka muude distributsioonidega nagu Debian, Ubuntu, SUSE, openSUSE jne.
Avage fail /etc/hosts.deny
ja lisage järgmised IP-aadressid või võrgupiirkond, mille soovite blokeerida, nagu allpool näidatud.
##### 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
Salvestage ja väljuge failist.
Nüüd taaskäivitage sshd ja vsftpd teenused, et uued muudatused jõustuksid.
--------------- 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]
Nüüd proovige SSH-d serverisse või blokeeritud hostilt.
# ssh 192.168.1.150
Näete järgmist väljundit:
ssh_exchange_identification: read: Connection reset by peer
Nüüd proovige serverit või blokeeritud hostilt FTP-d.
# ftp 192.168.1.150
Näete järgmist väljundit:
Connected to 192.168.1.150. 421 Service not available.
SSH ja FTP teenuste uuesti deblokeerimiseks või lubamiseks muutke faili hosts.deny ja kommenteerige kõik read ning taaskäivitage vsftpd ja sshd teenused.
Järeldus
Praeguseks kõik. Kokkuvõtteks õppisime täna, kuidas blokeerida konkreetne IP-aadress ja võrgupiirkond IPTable'i, FirewallD ja TCP ümbriste abil. Need meetodid on üsna lihtsad ja arusaadavad.
Isegi algaja Linuxi administraator suudab selle paari minutiga teha. Kui teate mõnda muud viisi SSH ja FTP juurdepääsu blokeerimiseks, jagage neid julgelt kommentaaride jaotises. Ja ärge unustage jagada meie artikleid oma kõigis sotsiaalsetes võrgustikes.