Weboldal keresés

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.

  1. 25 erősítő biztonsági tipp Linux szerverekhez
  2. 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.

  1. Alapvető útmutató az IPTables (Linux tűzfal) Tippek/Parancsok használatához
  2. Hogyan állítsunk be egy Iptables tűzfalat a szolgáltatások távoli eléréséhez Linux alatt
  3. A „FirewallD” konfigurálása az RHEL/CentOS 7 és a Fedora 21 rendszerben
  4. 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:

  1. /etc/hosts.allow
  2. /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.