Zoeken op website

Hoe SSH- en FTP-toegang tot specifiek IP- en netwerkbereik in Linux te blokkeren


Meestal gebruiken we allemaal vaak SSH- en FTP-services om toegang te krijgen tot externe servers en virtuele privéservers. Als Linux-beheerder moet je weten hoe je SSH- en FTP-toegang tot een specifiek IP- of netwerkbereik in Linux kunt blokkeren om de beveiliging nog verder aan te scherpen.

  1. 25 Verbeterde beveiligingstips voor Linux-servers
  2. 5 Handige tips om de SSH-server te beveiligen en te beschermen

Deze tutorial laat zien hoe je SSH- en FTP-toegang tot een bepaald IP-adres en/of een netwerkbereik in de CentOS 6- en 7-server kunt blokkeren. Deze handleiding is getest op CentOS 6.x en 7.x versies, maar zal waarschijnlijk werken op andere Linux-distributies zoals Debian, Ubuntu en SUSE/openSUSE enz.

We doen het op twee manieren. De eerste methode gebruikt IPTables/firewallD en de tweede methode gebruikt TCP wrappers met behulp van hosts.allow > en hosts.deny bestand.

Raadpleeg de volgende handleidingen voor meer informatie over IPTables en Firewalld.

  1. Basisgids over IPTables (Linux Firewall) Tips/Commando's
  2. Hoe u een Iptables-firewall instelt om externe toegang tot services in Linux mogelijk te maken
  3. Hoe ‘FirewallD’ te configureren in RHEL/CentOS 7 en Fedora 21
  4. Handige ‘FirewallD’-regels voor het configureren en beheren van Firewall in Linux

Nu weet je wat IPTables en FirewallD zijn en wat de basis ervan is.

Methode 1: SSH- en FTP-toegang blokkeren met IPTables/FirewallD

Laten we nu eens kijken hoe we SSH- en FTP-toegang tot een specifiek IP-adres (bijvoorbeeld 192.168.1.100) en/of netwerkbereik (bijvoorbeeld 192.168.1.0/24) kunnen blokkeren. gebruik van IPtables op RHEL/CentOS/Scientific Linux 6.x-versies en FirewallD op CentOS 7.x.

Blokkeer of schakel SSH-toegang uit

--------------------- 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

Om nieuwe regels van kracht te laten worden, moet u de volgende opdracht gebruiken.

service iptables save         [On IPtables Firewall]
firewall-cmd --reload         [On FirewallD]

Probeer nu de server te SSH vanaf de geblokkeerde host. Houd er rekening mee dat 192.168.1.150 hier de geblokkeerde host is.

ssh 192.168.1.150

U zou het volgende bericht moeten zien.

ssh: connect to host 192.168.1.150 port 22: Connection refused

Deblokkeer of schakel SSH-toegang in

Om SSH-toegang te deblokkeren of in te schakelen, gaat u naar de externe server en voert u de volgende opdracht uit:

--------------------- 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

Sla de wijzigingen op met behulp van het volgende om toegang te krijgen tot uw server via SSH.

service iptables save         [On IPtables Firewall]
firewall-cmd --reload         [On FirewallD]

FTP-toegang blokkeren of uitschakelen

Normaal gesproken zijn de standaardpoorten voor FTP 20 en 21. Om dus al het FTP-verkeer met IPTables te blokkeren, voert u de volgende opdracht uit:

--------------------- 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

Om nieuwe regels van kracht te laten worden, moet u de volgende opdracht gebruiken.

service iptables save         [On IPtables Firewall]
firewall-cmd --reload         [On FirewallD]

Probeer nu toegang te krijgen tot de server vanaf de geblokkeerde host (192.168.1.100), met het commando:

ftp 192.168.1.150

U krijgt een foutmelding zoals hieronder.

ftp: connect: Connection refused

Deblokkeer of schakel FTP-toegang in

Om de blokkering op te heffen en FTP-toegang weer in te schakelen, voert u het volgende uit:

--------------------- 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

Sla de wijzigingen op met het commando:

service iptables save         [On IPtables Firewall]
firewall-cmd --reload         [On FirewallD]

Probeer nu via FTP toegang te krijgen tot de server:

ftp 192.168.1.150

Voer uw ftp-gebruikersnaam en wachtwoord in.

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> 

Methode 2: SSH- en FTP-toegang blokkeren met TCP-wrappers

Als je geen zin hebt in IPTables of FirewallD, dan zijn TCP-wrappers de betere manier om SSH- en FTP-toegang tot een specifiek bestand te blokkeren IP en/of een netwerkbereik.

OpenSSH en FTP zijn gecompileerd met ondersteuning voor TCP-wrappers, wat betekent dat u kunt opgeven welke hosts verbinding mogen maken zonder uw firewall aan te raken in de volgende twee belangrijke bestanden:

  1. /etc/hosts.allow
  2. /etc/hosts.deny

Zoals de naam al aangeeft, bevat het eerste bestand vermeldingen van toegestane hosts, en het tweede bevat adressen van geblokkeerde hosts.

Laten we bijvoorbeeld de SSH- en FTP-toegang blokkeren voor een host met IP-adres 192.168.1.100 en netwerkbereik 192.168.1.0. Deze methode is hetzelfde voor de CentOS 6.x- en 7.x-serie. En natuurlijk zal het werken op andere distributies zoals Debian, Ubuntu, SUSE, openSUSE enz.

Open het bestand /etc/hosts.deny en voeg de volgende IP-adressen of het netwerkbereik toe dat u wilt blokkeren, zoals hieronder weergegeven.

##### 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

Sla het bestand op en sluit het af.

Start nu de sshd- en vsftpd-service opnieuw op om de nieuwe wijzigingen door te voeren.

--------------- 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]

Probeer nu de server of vanaf een geblokkeerde host te SSHen.

ssh 192.168.1.150

Je ziet de volgende uitvoer:

ssh_exchange_identification: read: Connection reset by peer

Probeer nu de server of vanaf een geblokkeerde host te FTP-en.


ftp 192.168.1.150

Je ziet de volgende uitvoer:

Connected to 192.168.1.150.
421 Service not available.

Om SSH- en FTP-services weer te deblokkeren of in te schakelen, bewerkt u het bestand hosts.deny, plaatst u commentaar op alle regels en start u ten slotte de vsftpd- en sshd-services opnieuw.

Conclusie

Dat is het voor nu. Samenvattend hebben we vandaag geleerd hoe we een specifiek IP-adres en netwerkbereik kunnen blokkeren met behulp van IPTables, FirewallD en TCP-wrappers. Deze methoden zijn vrij eenvoudig en duidelijk.

Zelfs een beginnende Linux-beheerder kan dit binnen een paar minuten doen. Als je nog andere manieren kent om SSH- en FTP-toegang te blokkeren, deel ze dan gerust in het commentaargedeelte. En vergeet niet onze artikelen op al uw sociale netwerken te delen.