Kako blokirati SSH i FTP pristup određenoj IP adresi i opsegu mreže u Linuxu
Obično svi često koristimo SSH i FTP usluge za pristup udaljenim serverima i virtuelnim privatnim serverima. Kao Linux administrator, morate biti svjesni kako blokirati SSH i FTP pristup određenom IP-u ili rasponu mreže u Linuxu kako biste još malo pooštrili sigurnost.
- 25 Savjeti za jačanje sigurnosti za Linux servere
- 5 korisnih savjeta za sigurnost i zaštitu SSH servera
Ovaj vodič će vam pokazati kako blokirati SSH i FTP pristup određenoj IP adresi i/ili opsegu mreže u CentOS 6 i 7 serveru. Ovaj vodič je testiran na verzijama CentOS 6.x i 7.x, ali će vjerojatno raditi i na drugim distribucijama Linuxa kao što su Debian, Ubuntu i SUSE/openSUSE itd.
Uradićemo to na dva načina. Prva metoda koristi IPTables/firewallD, a druga metoda koristi TCP omote uz pomoć hosts.allow > i hosts.deny fajl.
Pogledajte sljedeće vodiče da saznate više o IPTables i Firewalld-u.
- Osnovni vodič za IPTables (Linux Firewall) Savjeti/naredbe
- Kako postaviti Iptables Firewall da omogućite daljinski pristup uslugama u Linuxu
- Kako konfigurirati 'FirewallD' u RHEL/CentOS 7 i Fedora 21
- Korisna pravila 'FirewallD' za konfiguriranje i upravljanje vatrozidom u Linuxu
Sada ste svjesni šta su IPTables i FirewallD i to su osnove.
Metoda 1: Blokirajte SSH i FTP pristup koristeći IPTables/FirewallD
Sada da vidimo kako blokirati SSH i FTP pristup određenoj IP adresi (na primjer 192.168.1.100) i/ili opsegu mreže (na primjer 192.168.1.0/24) koristeći IPtables na RHEL/CentOS/Scientific Linux 6.x verzijama i FirewallD na CentOS 7.x.
Blokirajte ili onemogućite SSH pristup
--------------------- 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
Da biste stupili na snagu nova pravila, trebate koristiti sljedeću naredbu.
service iptables save [On IPtables Firewall]
firewall-cmd --reload [On FirewallD]
Sada pokušajte SSH server sa blokiranog hosta. Imajte na umu da je ovdje 192.168.1.150 blokirani host.
ssh 192.168.1.150
Trebali biste vidjeti sljedeću poruku.
ssh: connect to host 192.168.1.150 port 22: Connection refused
Deblokirajte ili omogućite SSH pristup
Da deblokirate ili omogućite SSH pristup, idite na udaljeni server i pokrenite sljedeću naredbu:
--------------------- 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
Sačuvajte promjene koristeći sljedeće za pristup vašem serveru putem SSH-a.
service iptables save [On IPtables Firewall]
firewall-cmd --reload [On FirewallD]
Blokirajte ili onemogućite FTP pristup
Tipično, zadani portovi za FTP su 20 i 21. Dakle, da blokirate sav FTP saobraćaj koristeći IPTables, pokrenite sljedeću naredbu:
--------------------- 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
Da biste stupili na snagu nova pravila, trebate koristiti sljedeću naredbu.
service iptables save [On IPtables Firewall]
firewall-cmd --reload [On FirewallD]
Sada pokušajte pristupiti serveru sa blokiranog hosta (192.168.1.100), sa naredbom:
ftp 192.168.1.150
Dobit ćete poruku o grešci nešto kao ispod.
ftp: connect: Connection refused
Deblokirajte ili omogućite FTP pristup
Da deblokirate i vratite FTP pristup, pokrenite:
--------------------- 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
Sačuvajte promene komandom:
service iptables save [On IPtables Firewall]
firewall-cmd --reload [On FirewallD]
Sada pokušajte pristupiti serveru preko FTP-a:
ftp 192.168.1.150
Unesite svoje ftp korisničko ime i lozinku.
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>
Metoda 2: Blokirajte SSH i FTP pristup pomoću TCP omotača
Ako se ne želite petljati sa IPTables ili FirewallD, onda je TCP omotač bolji način da blokirate SSH i FTP pristup određenom IP i/ili niz mreža.
OpenSSH i FTP su kompajlirani sa podrškom za TCP omote, što znači da možete odrediti koji se hostovi mogu povezati bez dodirivanja vašeg firewall-a u sljedeće dvije važne datoteke, a to su:
- /etc/hosts.allow
- /etc/hosts.deny
Kao što naziv govori, prva datoteka sadrži unose dozvoljenih hostova, a druga sadrži adrese blokiranih hostova.
Na primjer, blokirajmo SSH i FTP pristup hostu koji ima IP adresu 192.168.1.100 i opseg mreže 192.168.1.0. Ova metoda je ista za CentOS 6.x i 7.x serije. I, naravno, radit će na drugim distribucijama kao što su Debian, Ubuntu, SUSE, openSUSE itd.
Otvorite datoteku /etc/hosts.deny
i dodajte sljedeće IP adrese ili opseg mreže koje želite blokirati kao što je prikazano ispod.
##### 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
Sačuvajte i izađite iz datoteke.
Sada ponovo pokrenite sshd i vsftpd servis da nove promjene stupe na snagu.
--------------- 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]
Sada pokušajte SSH na serveru ili sa blokiranog hosta.
ssh 192.168.1.150
Vidjet ćete sljedeći izlaz:
ssh_exchange_identification: read: Connection reset by peer
Sada pokušajte FTP server ili sa blokiranog hosta.
ftp 192.168.1.150
Vidjet ćete sljedeći izlaz:
Connected to 192.168.1.150.
421 Service not available.
Da biste ponovo deblokirali ili omogućili SSH i FTP usluge, uredite datoteku hosts.deny i komentarišite sve linije i konačno ponovo pokrenite vsftpd i sshd usluge.
Zaključak
To je sve za sada. Da sumiramo, danas smo naučili kako blokirati određenu IP adresu i opseg mreže koristeći IPTables, FirewallD i TCP omote. Ove metode su prilično jednostavne i jednostavne.
Čak i početnik Linux administrator to može učiniti za nekoliko minuta. Ako znate neke druge načine da blokirate SSH i FTP pristup, slobodno ih podijelite u odjeljku za komentare. I ne zaboravite podijeliti naše članke na svim vašim društvenim mrežama.