GNU/Linux >> Linux Esercitazione >  >> Linux

Come installare Fail2ban con Firewalld su Rocky Linux 8

Fail2ban è una soluzione software gratuita e open source per la prevenzione delle intrusioni che protegge i server dagli attacchi di accesso di forza bruta. Monitora vari file di registro di SSH e altre applicazioni Web e ogni volta che viene rilevata un'autenticazione non riuscita e raggiunge il numero massimo, Fail2Ban bloccherà automaticamente l'indirizzo IP utilizzando iptables di Firewalld. Fail2Ban è semplice, maneggevole, facile da configurare e flessibile.

In questa guida ti mostreremo come installare Fail2Ban con firewalld su Rocky Linux 8.

Prerequisiti

  • Un server che esegue Rocky Linux 8 sulla piattaforma Atlantic.Net Cloud
  • Una password di root configurata sul tuo server

Fase 1:crea un server cloud Atlantic.Net

Per prima cosa, accedi al tuo server Atlantic.Net Cloud. Crea un nuovo server, scegliendo Rocky Linux 8 come sistema operativo con almeno 2 GB di RAM. Collegati al tuo Cloud Server tramite SSH e accedi utilizzando le credenziali evidenziate in alto nella pagina.

Una volta effettuato l'accesso al server, eseguire il comando seguente per aggiornare il sistema di base con gli ultimi pacchetti disponibili.

dnf update -y

Fase 2 – Configura Firewalld

dnf info firewalld

Se è installato, otterrai il seguente output:

Last metadata expiration check: 0:34:46 ago on Wednesday 17 November 2021 09:52:51 AM UTC.
Installed Packages
Name         : firewalld
Version      : 0.8.2
Release      : 7.el8_4
Architecture : noarch
Size         : 1.9 M
Source       : firewalld-0.8.2-7.el8_4.src.rpm
Repository   : @System
From repo    : baseos
Summary      : A firewall daemon with D-Bus interface providing a dynamic firewall
URL          : http://www.firewalld.org
License      : GPLv2+
Description  : firewalld is a firewall service daemon that provides a dynamic customizable
             : firewall with a D-Bus interface.

Available Packages
Name         : firewalld
Version      : 0.9.3
Release      : 7.el8
Architecture : noarch
Size         : 501 k
Source       : firewalld-0.9.3-7.el8.src.rpm
Repository   : baseos
Summary      : A firewall daemon with D-Bus interface providing a dynamic firewall
URL          : http://www.firewalld.org
License      : GPLv2+
Description  : firewalld is a firewall service daemon that provides a dynamic customizable
             : firewall with a D-Bus interface.

Quindi, verifica se Firewalld è in esecuzione o meno.

systemctl status firewalld

Dovresti vedere che il servizio Firewalld è mascherato:

● firewalld.service
   Loaded: masked (Reason: Unit firewalld.service is masked.)
   Active: inactive (dead)

Quindi dovrai smascherare il servizio Firewalld. Puoi smascherarlo usando il seguente comando:

systemctl unmask firewalld

Quindi, avvia il servizio Firewalld e abilitalo per l'avvio al riavvio del sistema:

systemctl start firewalld
systemctl enable firewalld

A questo punto, Firewalld è installato e in esecuzione nel sistema. Ora puoi procedere al passaggio successivo.

Fase 3 – Installa Fail2Ban

dnf install epel-release -y

Quindi, installa il pacchetto Fail2Ban con il seguente comando:

dnf install fail2ban fail2ban-firewalld -y

Una volta installato Fail2Ban, avvia e abilita il servizio Fail2Ban utilizzando il seguente comando:

systemctl start fail2ban
systemctl enable fail2ban

Puoi verificare la versione di Fail2Ban usando il seguente comando:

fail2ban-client --version

Esempio di output:

Fail2Ban v0.11.2

Fase 4 – Configura Fail2Ban

Innanzitutto, rinomina il file di configurazione di Firewalld per Fail2Ban utilizzando il seguente comando:

mv /etc/fail2ban/jail.d/00-firewalld.conf /etc/fail2ban/jail.d/00-firewalld.local

Quindi, copia il file di configurazione predefinito di Fail2Ban:

cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

Quindi, modifica il file jail.local:

nano /etc/fail2ban/jail.local

Trova le seguenti righe:

banaction = iptables-multiport
banaction_allports = iptables-allports

E sostituiscili con le seguenti righe:

banaction = firewallcmd-rich-rules[actiontype=]
banaction_allports = firewallcmd-rich-rules[actiontype=]

Salva e chiudi il file, quindi riavvia Fail2Ban per applicare le modifiche:

systemctl restart fail2ban

A questo punto, Fail2Ban è configurato per funzionare con Firewalld.

Fase 5:servizio SSH sicuro con Fail2Ban

Per proteggere il servizio SSHD, modifica il file jail.local:

nano /etc/fail2ban/jail.local

Trova la sezione [sshd] e abilitala aggiungendo le seguenti righe:

[sshd]

enabled = true
port    = ssh
logpath = %(sshd_log)s
backend = %(sshd_backend)s
bantime = 10m
findtime = 10m
maxretry = 5

Salva e chiudi il file, quindi riavvia Fail2Ban per applicare le modifiche:

systemctl restart fail2ban

Ora puoi verificare lo stato di Fail2Ban usando il seguente comando:

systemctl status fail2ban

Otterrai il seguente output:

● fail2ban.service - Fail2Ban Service
   Loaded: loaded (/usr/lib/systemd/system/fail2ban.service; disabled; vendor preset: disabled)
   Active: active (running) since Wed 2021-11-17 10:34:49 UTC; 2s ago
     Docs: man:fail2ban(1)
  Process: 21154 ExecStop=/usr/bin/fail2ban-client stop (code=exited, status=0/SUCCESS)
  Process: 21185 ExecStartPre=/bin/mkdir -p /run/fail2ban (code=exited, status=0/SUCCESS)
 Main PID: 21186 (fail2ban-server)
    Tasks: 5 (limit: 11411)
   Memory: 14.6M
   CGroup: /system.slice/fail2ban.service
           └─21186 /usr/bin/python3.6 -s /usr/bin/fail2ban-server -xf start

Nov 17 10:34:49 rockylinux systemd[1]: Starting Fail2Ban Service...
Nov 17 10:34:49 rockylinux systemd[1]: Started Fail2Ban Service.
Nov 17 10:34:49 rockylinux fail2ban-server[21186]: Server ready

Passaggio 6:verifica del firewall Fail2Ban

A questo punto, Fail2Ban è configurato per proteggere il servizio SSH. Ora è il momento di verificare se Fail2Ban funziona.

Per prima cosa, verifica la configurazione della jail usando il seguente comando:

fail2ban-client status

Dovresti vedere il seguente output:

Status
|- Number of jail:	1
`- Jail list:	sshd

Ora vai alla macchina remota e prova a connetterti al server SSH con una password errata. Dopo aver raggiunto il numero massimo di tentativi (5 volte), il tuo indirizzo IP verrà bloccato da Fail2Ban.

Ora controlla l'indirizzo IP bloccato da Fail2Ban usando il seguente comando:

fail2ban-client status sshd

Dovresti ottenere il seguente output:

Status for the jail: sshd
|- Filter
|  |- Currently failed:	1
|  |- Total failed:	6
|  `- Journal matches:	_SYSTEMD_UNIT=sshd.service + _COMM=sshd
`- Actions
   |- Currently banned:	1
   |- Total banned:	1
   `- Banned IP list:	27.61.171.115

Puoi controllare le regole aggiunte da Firewalld con il seguente comando:

firewall-cmd --list-rich-rules

Otterrai il seguente output:

rule family="ipv4" source address="27.61.171.115" port port="ssh" protocol="tcp" reject type="icmp-port-unreachable"

Puoi anche controllare i log di Fail2Ban per ulteriori informazioni:

tail -f /var/log/fail2ban.log

Esempio di output:

2021-11-17 10:37:21,837 fail2ban.filter         [21186]: INFO    [sshd] Found 27.61.171.115 - 2021-11-17 10:37:21
2021-11-17 10:37:21,859 fail2ban.actions        [21186]: NOTICE  [sshd] Ban 27.61.171.115
2021-11-17 10:37:27,220 fail2ban.filter         [21186]: INFO    [sshd] Found 27.61.171.115 - 2021-11-17 10:37:27

Conclusione

Congratulazioni! Hai installato con successo Fail2Ban con Firewalld. Ora puoi implementare Fail2Ban sul tuo server per proteggerlo dagli attacchi di accesso di forza bruta. Provalo sul tuo account di hosting VPS da Atlantic.Net!


Linux
  1. Come installare e configurare Fail2ban su Alma Linux 8

  2. Come installare ModSecurity con Nginx su Rocky Linux 8

  3. Come installare Gulp.js su Rocky Linux 8

  4. Come installare Apache Kafka su Rocky Linux 8

  5. Come installare Python 3.10 su Rocky Linux 8

Come installare Sails.js Framework con Nginx su Rocky Linux 8

Come installare Memcached su Rocky Linux 8

Come installare phpBB con LEMP su Rocky Linux 8

Come installare Anaconda Python su Rocky Linux 8

Come installare Jenkins su Rocky Linux 8

Come installare Fail2ban su Rocky Linux 8