Kā bloķēt SSH un FTP piekļuvi noteiktam IP un tīkla diapazonam Linux
Parasti mēs visi bieži izmantojam SSH un FTP pakalpojumus, lai piekļūtu attālajiem serveriem un virtuālajiem privātajiem serveriem. Kā Linux administratoram jums jāzina, kā bloķēt SSH un FTP piekļuvi noteiktam Linux IP vai tīkla diapazonam, lai mazliet vairāk pievilktu drošību.
- 25 Linux serveru drošības padomi
- 5 noderīgi padomi SSH servera drošībai un aizsardzībai
Šī apmācība parādīs, kā bloķēt SSH un FTP piekļuvi noteiktai IP adresei un/vai tīkla diapazonam CentOS 6 un 7 serverī. Šī rokasgrāmata tika pārbaudīta ar CentOS 6.x un 7.x versijām, taču tā, iespējams, darbosies citos Linux izplatījumos, piemēram, Debian, Ubuntu un SUSE/openSUSE utt.
Mēs to darīsim divās metodēs. Pirmā metode ir IPTables/firewallD izmantošana, bet otrā metode ir TCP ietinēju izmantošana ar failu hosts.allow un hosts.deny palīdzību.
Skatiet šīs rokasgrāmatas, lai uzzinātu vairāk par IPTables un Firewalld.
- IPTable (Linux Firewall) padomu/komandu pamatnostādnes
- Kā iestatīt Iptables ugunsmūri, lai iespējotu attālo piekļuvi pakalpojumiem Linux
- Kā konfigurēt ‘FirewallD’ RHEL/CentOS 7 un Fedora 21
- Noderīgi noteikumi “FirewallD”, lai konfigurētu un pārvaldītu ugunsmūri Linux
Tagad jūs zināt, kas ir IPTables un FirewallD, un tā pamati.
1. metode: bloķējiet piekļuvi SSH un FTP, izmantojot IPTables/FirewallD
Tagad ļaujiet mums redzēt, kā bloķēt SSH un FTP piekļuvi noteiktam IP (piemēram, 192.168.1.100) un/vai tīkla diapazonam (piemēram, 192.168.1.0/24), izmantojot IPtabulas RHEL/CentOS/Scientific Linux 6.x versijās un FirewallD uz 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
Lai stātos spēkā jauni noteikumi, jums jāizmanto šāda komanda.
# service iptables save [On IPtables Firewall] # firewall-cmd --reload [On FirewallD]
Tagad mēģiniet SSH serveri no bloķētā resursdatora. Lūdzu, ņemiet vērā, ka šeit 192.168.1.150 ir bloķēts resursdators.
# ssh 192.168.1.150
Jums vajadzētu redzēt šādu ziņojumu.
ssh: connect to host 192.168.1.150 port 22: Connection refused
Lai atbloķētu vai iespējotu piekļuvi SSH, dodieties uz attālo serveri un izpildiet šādu komandu:
--------------------- 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
Saglabājiet izmaiņas, izmantojot sekojošo, lai piekļūtu savam serverim, izmantojot SSH.
# service iptables save [On IPtables Firewall] # firewall-cmd --reload [On FirewallD]
Parasti FTP noklusējuma porti ir 20 un 21. Tātad, lai bloķētu visu FTP trafiku, izmantojot IPTables, izpildiet šādu komandu:
--------------------- 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
Lai stātos spēkā jauni noteikumi, jums jāizmanto šāda komanda.
# service iptables save [On IPtables Firewall] # firewall-cmd --reload [On FirewallD]
Tagad mēģiniet piekļūt serverim no bloķētā resursdatora (192.168.1.100) ar komandu:
# ftp 192.168.1.150
Jūs saņemsit kļūdas ziņojumu, piemēram, zemāk.
ftp: connect: Connection refused
Lai atbloķētu un iespējotu FTP piekļuvi atpakaļ, palaidiet:
--------------------- 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
Saglabājiet izmaiņas ar komandu:
# service iptables save [On IPtables Firewall] # firewall-cmd --reload [On FirewallD]
Tagad mēģiniet piekļūt serverim, izmantojot FTP:
# ftp 192.168.1.150
Ievadiet savu ftp lietotājvārdu un paroli.
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. metode: bloķējiet piekļuvi SSH un FTP, izmantojot TCP iesaiņotājus
Ja jūs nevēlaties sajaukt ar IPTables vai FirewallD, TCP iesaiņotāji ir labākais veids, kā bloķēt SSH un FTP piekļuvi noteiktam IP un/vai tīkla diapazonam.
OpenSSH un FTP tiek apkopoti ar TCP iesaiņotāju atbalstu, kas nozīmē, ka divos šādos svarīgos failos varat norādīt, kuriem saimniekiem ir atļauts izveidot savienojumu, nepieskaroties ugunsmūrim:
- /etc/hosts.allow
- /etc/hosts.deny
Kā norāda nosaukums, pirmajā failā ir iekļauti atļauto resursdatoru ieraksti, bet otrajā - bloķēto saimnieku adreses.
Piemēram, bloķēsim SSH un FTP piekļuvi resursdatoram, kuram ir IP adrese 192.168.1.100 un tīkla diapazons 192.168.1.0. Šī metode ir vienāda CentOS 6.x un 7.x sērijām. Protams, tas darbosies arī citos izplatījumos, piemēram, Debian, Ubuntu, SUSE, openSUSE utt.
Atveriet failu /etc/hosts.deny
un pievienojiet šādas IP adreses vai tīkla diapazonu, kuru vēlaties bloķēt, kā parādīts zemāk.
##### 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
Saglabājiet un izejiet no faila.
Tagad restartējiet sshd un vsftpd pakalpojumu, lai stātos spēkā jaunas izmaiņas.
--------------- 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]
Tagad mēģiniet SSH serveri vai bloķētu resursdatoru.
# ssh 192.168.1.150
Jūs redzēsiet šādu izvadi:
ssh_exchange_identification: read: Connection reset by peer
Tagad mēģiniet FTP serveri vai bloķētu resursdatoru.
# ftp 192.168.1.150
Jūs redzēsiet šādu izvadi:
Connected to 192.168.1.150. 421 Service not available.
Lai atkal atbloķētu vai iespējotu SSH un FTP pakalpojumus, rediģējiet failu hosts.deny un komentējiet visas rindas un visbeidzot restartējiet vsftpd un sshd pakalpojumus.
Secinājums
Tas pagaidām ir viss. Apkopojot, šodien mēs uzzinājām, kā bloķēt noteiktu IP adresi un tīkla diapazonu, izmantojot IPTables, FirewallD un TCP ietinējus. Šīs metodes ir diezgan vienkāršas un vienkāršas.
Pat iesācēju Linux administrators to var izdarīt pāris minūšu laikā. Ja jūs zināt dažus citus veidus, kā bloķēt piekļuvi SSH un FTP, nekautrējieties tos kopīgot komentāru sadaļā. Neaizmirstiet kopīgot mūsu rakstus visos savos sociālajos tīklos.