Hogyan lehet blokkolni az SSH- és FTP-hozzáférést egy adott IP- és hálózati tartományhoz Linux alatt
Általában mindannyian gyakran használunk SSH és FTP szolgáltatásokat a távoli szerverek és virtuális magánszerverek eléréséhez. Linux rendszergazdáként tisztában kell lennie azzal, hogyan blokkolhatja az SSH- és FTP-hozzáférést egy adott IP- vagy hálózati tartományhoz Linuxban, hogy még jobban szigorítsa a biztonságot.
- 25 erősítő biztonsági tipp Linux szerverekhez
- 5 hasznos tipp az SSH-kiszolgáló biztonságossá tételéhez és védelméhez
Ez az oktatóanyag bemutatja, hogyan blokkolhatja az SSH- és FTP-hozzáférést egy adott IP-címhez és/vagy egy hálózati tartományhoz a CentOS 6 és 7 szerveren. Ezt az útmutatót CentOS 6.x és 7.x verziókon tesztelték, de valószínűleg más Linux-disztribúciókon is működik, mint például a Debian, az Ubuntu és a SUSE/openSUSE stb.
Két módszerrel fogjuk megtenni. Az első módszer az IPTables/firewallD, a második módszer pedig a TCP burkolók használata a hosts.allow segítségével. > és a hosts.deny fájlt.
Olvassa el a következő útmutatókat, ha többet szeretne megtudni az IPTables-ról és a Firewall-ról.
- Alapvető útmutató az IPTables (Linux tűzfal) Tippek/Parancsok használatához
- Hogyan állítsunk be egy Iptables tűzfalat a szolgáltatások távoli eléréséhez Linux alatt
- A „FirewallD” konfigurálása az RHEL/CentOS 7 és a Fedora 21 rendszerben
- Hasznos „FirewallD” szabályok a tűzfal konfigurálásához és kezeléséhez Linux alatt
Most már tisztában van az IPTables és a FirewallD alapjaival.
1. módszer: Az SSH és az FTP hozzáférés blokkolása IPTables/FirewallD használatával
Most pedig nézzük meg, hogyan blokkolhatjuk az SSH- és FTP-hozzáférést egy adott IP-címhez (például 192.168.1.100) és/vagy hálózati tartományhoz (például 192.168.1.0/24) IPtables használatával RHEL/CentOS/Scientific Linux 6.x verziókon és FirewallD használatával CentOS 7.x rendszeren.
Az SSH-hozzáférés blokkolása vagy letiltása
--------------------- 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
Az új szabályok életbe léptetéséhez a következő parancsot kell használnia.
service iptables save [On IPtables Firewall]
firewall-cmd --reload [On FirewallD]
Most próbálja meg SSH-olni a szervert a blokkolt gazdagépről. Kérjük, vegye figyelembe, hogy itt a 192.168.1.150 a letiltott gazdagép.
ssh 192.168.1.150
A következő üzenetet kell látnia.
ssh: connect to host 192.168.1.150 port 22: Connection refused
Az SSH-hozzáférés feloldása vagy engedélyezése
Az SSH-hozzáférés feloldásához vagy engedélyezéséhez lépjen a távoli kiszolgálóra, és futtassa a következő parancsot:
--------------------- 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
Mentse el a változtatásokat a következő használatával, hogy SSH-n keresztül elérje a szervert.
service iptables save [On IPtables Firewall]
firewall-cmd --reload [On FirewallD]
Az FTP-hozzáférés blokkolása vagy letiltása
Az FTP alapértelmezett portjai általában a 20 és a 21. Tehát az összes FTP-forgalom IPTables használatával blokkolásához futtassa a következő parancsot:
--------------------- 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
Az új szabályok életbe léptetéséhez a következő parancsot kell használnia.
service iptables save [On IPtables Firewall]
firewall-cmd --reload [On FirewallD]
Most próbáljon meg elérni a szervert a blokkolt gazdagépről (192.168.1.100), a következő paranccsal:
ftp 192.168.1.150
Az alábbihoz hasonló hibaüzenetet fog kapni.
ftp: connect: Connection refused
FTP-hozzáférés feloldása vagy engedélyezése
A blokkolás feloldásához és az FTP-hozzáférés visszaengedéséhez futtassa:
--------------------- 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
Mentse el a változtatásokat a következő paranccsal:
service iptables save [On IPtables Firewall]
firewall-cmd --reload [On FirewallD]
Most próbálja meg elérni a szervert FTP-n keresztül:
ftp 192.168.1.150
Adja meg ftp felhasználónevét és jelszavát.
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. módszer: SSH és FTP hozzáférés blokkolása TCP burkolókkal
Ha nem szeretne az IPTables vagy a FirewallD programokkal bajlódni, akkor a TCP-burkolók a jobb módja annak, hogy blokkolja az SSH- és FTP-hozzáférést egy adott IP és/vagy hálózat tartománya.
Az OpenSSH és az FTP TCP-burkolók támogatásával van lefordítva, ami azt jelenti, hogy megadhatja, hogy mely gazdagépek csatlakozhatnak anélkül, hogy megérintené a tűzfalat a következő két fontos fájlban:
- /etc/hosts.allow
- /etc/hosts.deny
Ahogy a név is sugallja, az első fájl az engedélyezett gazdagépek bejegyzéseit tartalmazza, a második pedig a blokkolt gazdagépek címét.
Például blokkoljuk az SSH- és FTP-hozzáférést a 192.168.1.100 IP-címmel és a 192.168.1.0 hálózati tartománysal rendelkező gazdagéphez. Ez a módszer ugyanaz a CentOS 6.x és 7.x sorozat esetén. És természetesen más disztribúciókon is működik, mint például a Debian, Ubuntu, SUSE, openSUSE stb.
Nyissa meg az /etc/hosts.deny
fájlt, és adja hozzá a blokkolni kívánt következő IP-címeket vagy hálózati tartományt az alábbiak szerint.
##### 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
Mentse el és lépjen ki a fájlból.
Most indítsa újra az sshd és a vsftpd szolgáltatást az új módosítások életbe lépéséhez.
--------------- 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]
Most próbálja meg SSH-t küldeni a szerverről vagy egy blokkolt gazdagépről.
ssh 192.168.1.150
A következő kimenetet fogja látni:
ssh_exchange_identification: read: Connection reset by peer
Most próbálja meg FTP-vel küldeni a szervert vagy egy blokkolt gazdagépről.
ftp 192.168.1.150
A következő kimenetet fogja látni:
Connected to 192.168.1.150.
421 Service not available.
Az SSH- és FTP-szolgáltatások blokkolásának feloldásához vagy ismételt engedélyezéséhez szerkessze a hosts.deny fájlt, és írja ki a megjegyzéseket az összes sorhoz, végül indítsa újra a vsftpd és sshd szolgáltatásokat.
Következtetés
Ez minden most. Összefoglalva, ma megtanultuk, hogyan blokkolhatunk egy adott IP-címet és hálózati tartományt IPTables, FirewallD és TCP burkolókkal. Ezek a módszerek meglehetősen egyszerűek és egyértelműek.
Ezt még egy kezdő Linux rendszergazda is megteheti néhány perc alatt. Ha ismer más módszereket az SSH- és FTP-hozzáférés blokkolására, nyugodtan ossza meg őket a megjegyzés részben. És ne felejtse el megosztani cikkeinket minden közösségi hálózatán.