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.

  1. 25 Savjeti za jačanje sigurnosti za Linux poslužitelje
  2. 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.

  1. Osnovni vodič za IPTables (Linux Firewall) Savjeti/Naredbe
  2. Kako postaviti Iptables vatrozid za omogućavanje udaljenog pristupa uslugama u Linuxu
  3. Kako konfigurirati 'FirewallD' u RHEL/CentOS 7 i Fedora 21
  4. 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:

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