Kako blokirati SSH i FTP pristup određenom IP-u i mrežnom rasponu u Linuxu
Obično svi često koristimo usluge SSH i FTP za pristup udaljenim poslužiteljima i virtualnim privatnim poslužiteljima. Kao Linux administrator, morate znati kako blokirati SSH i FTP pristup određenom IP-u ili mrežnom rasponu u Linuxu kako biste dodatno pooštrili sigurnost.
- 25 Savjeti za jačanje sigurnosti za Linux poslužitelje
- 5 korisnih savjeta za osiguranje i zaštitu SSH poslužitelja
Ovaj vodič će vam pokazati kako blokirati SSH i FTP pristup određenoj IP adresi i/ili mrežnom rasponu u CentOS 6 i 7 poslužitelju. 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.
Učinit ćemo to na dva načina. Prva metoda koristi IPTables/firewallD, a druga metoda koristi TCP omotače uz pomoć hosts.allow i hosts.deny datoteku.
Pogledajte sljedeće vodiče da saznate više o IPTables i Firewalld.
- Osnovni vodič za IPTables (Linux Firewall) Savjeti/Naredbe
- Kako postaviti Iptables vatrozid za omogućavanje udaljenog pristupa uslugama u Linuxu
- Kako konfigurirati 'FirewallD' u RHEL/CentOS 7 i Fedora 21
- Korisna pravila 'FirewallD' za konfiguriranje i upravljanje vatrozidom u Linuxu
Sada znate što su IPTables i FirewallD i njihove osnove.
Metoda 1: Blokirajte SSH i FTP pristup pomoću IPTables/FirewallD
Pogledajmo sada kako blokirati SSH i FTP pristup određenoj IP (na primjer 192.168.1.100) i/ili rasponu mreže (na primjer 192.168.1.0/24) koristeći IPtables na verzijama RHEL/CentOS/Scientific Linux 6.x 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
Kako bi nova pravila stupila na snagu, morate koristiti sljedeću naredbu.
service iptables save [On IPtables Firewall]
firewall-cmd --reload [On FirewallD]
Sada pokušajte SSH poslužitelj s 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 biste deblokirali ili omogućili SSH pristup, idite na udaljeni poslužitelj 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
Spremite promjene pomoću sljedećeg za pristup vašem poslužitelju putem SSH-a.
service iptables save [On IPtables Firewall]
firewall-cmd --reload [On FirewallD]
Blokirajte ili onemogućite FTP pristup
Obično su zadani priključci za FTP 20 i 21. Dakle, da biste blokirali sav FTP promet 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
Kako bi nova pravila stupila na snagu, morate koristiti sljedeću naredbu.
service iptables save [On IPtables Firewall]
firewall-cmd --reload [On FirewallD]
Sada pokušajte pristupiti poslužitelju s blokiranog hosta (192.168.1.100), naredbom:
ftp 192.168.1.150
Dobit ćete poruku o pogrešci otprilike kao u nastavku.
ftp: connect: Connection refused
Deblokirajte ili omogućite FTP pristup
Za deblokiranje i vraćanje FTP pristupa 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
Spremite promjene naredbom:
service iptables save [On IPtables Firewall]
firewall-cmd --reload [On FirewallD]
Sada pokušajte pristupiti poslužitelju putem 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 s IPTables ili FirewallD, tada su TCP omoti bolji način za blokiranje SSH i FTP pristupa određenom IP i/ili raspon mreže.
OpenSSH i FTP kompilirani su s podrškom za TCP omote, što znači da možete odrediti koji se hostovi smiju povezati bez dodirivanja vašeg vatrozida u sljedeće dvije važne datoteke i to su:
- /etc/hosts.allow
- /etc/hosts.deny
Kao što naziv implicira, prva datoteka sadrži unose dopuštenih računala, a druga sadrži adrese blokiranih računala.
Na primjer, blokirajmo SSH i FTP pristup hostu koji ima IP adresu 192.168.1.100 i raspon mreže 192.168.1.0. Ova metoda je ista za serije CentOS 6.x i 7.x. 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 mrežni raspon koji želite blokirati kao što je prikazano u nastavku.
##### 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
Spremite i izađite iz datoteke.
Sada ponovno pokrenite sshd i vsftpd servis kako bi nove promjene stupile 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 poslužitelja ili s blokiranog glavnog računala.
ssh 192.168.1.150
Vidjet ćete sljedeće rezultate:
ssh_exchange_identification: read: Connection reset by peer
Sada pokušajte otvoriti FTP poslužitelj ili s blokiranog glavnog računala.
ftp 192.168.1.150
Vidjet ćete sljedeće rezultate:
Connected to 192.168.1.150.
421 Service not available.
Da biste deblokirali ili ponovno omogućili SSH i FTP usluge, uredite datoteku hosts.deny i komentirajte sve retke te na kraju ponovno pokrenite vsftpd i sshd usluge.
Zaključak
To je sve za sada. Ukratko, danas smo naučili kako blokirati određenu IP adresu i mrežni raspon pomoću IPTables, FirewallD i TCP omotača. Ove metode su prilično jednostavne i jednostavne.
Čak i početnik Linux administrator može to učiniti u nekoliko minuta. Ako znate neke druge načine za blokiranje SSH i FTP pristupa, slobodno ih podijelite u odjeljku za komentare. I ne zaboravite podijeliti naše članke na svim svojim društvenim mrežama.