Cum configurați un firewall pe Linux cu UFW și iptables este una dintre cele mai importante operațiuni pe care trebuie să le realizați după instalarea unui server. Un firewall corect configurat blochează accesul neautorizat și protejează serviciile expuse pe internet.
Fără un firewall activ, serverul dumneavoastră este vulnerabil la atacuri automate, scanări de porturi și tentative de acces brut.
Cum configurați un firewall pe Linux cu UFW și iptables
Linux oferă două instrumente principale pentru gestionarea firewall-ului: UFW (Uncomplicated Firewall) și iptables. UFW este interfața simplificată, recomandat pentru administratorii fără experiență avansată, în timp ce iptables oferă control granular complet.
Ambele instrumente lucrează cu același motor din kernel, netfilter, dar abordarea de configurare diferă semnificativ.
Instalarea și activarea UFW pe Ubuntu și AlmaLinux
Pe distribuțiile bazate pe Debian și Ubuntu, UFW este disponibil în repozitoriile standard. Instalarea se realizează cu o singură comandă.
sudo apt update
sudo apt install ufwPe AlmaLinux și CentOS, echivalentul este firewalld, dar UFW poate fi instalat manual. Înainte de a activa firewall-ul, asigurați-vă că permiteți conexiunile SSH pentru a nu vă bloca accesul la server.
sudo ufw allow OpenSSH
sudo ufw enableConfirmați activarea și verificați statusul firewall-ului cu comanda de mai jos.
sudo ufw status verboseReguli de bază UFW pentru un server web
Un server web tipic are nevoie de acces pe porturile 22 (SSH), 80 (HTTP) și 443 (HTTPS). Blocați tot traficul implicit și permiteți explicit doar ce este necesar.
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcpDacă utilizați un port SSH personalizat, înlocuiți 22 cu portul ales. Aceasta este una dintre cele mai eficiente metode de reducere a atacurilor automate.
Blocare IP-uri și intervale suspecte cu UFW
Când identificați un IP care lansează atacuri, îl puteți bloca imediat cu UFW. Blocarea se aplică în timp real, fără restartarea serviciului.
sudo ufw deny from 192.168.1.100
sudo ufw deny from 10.0.0.0/8Pentru a vizualiza toate regulile active și numărul lor de ordine, utilizați comanda numerotată. Aceasta este utilă când doriți să ștergeți o regulă specifică.
sudo ufw status numbered
sudo ufw delete 3Configurarea iptables pentru control avansat
iptables oferă un nivel de control mult mai detaliat față de UFW. Regulile sunt organizate în lanțuri: INPUT (trafic incoming), OUTPUT (trafic outgoing) și FORWARD (trafic rutare).
sudo iptables -L -v -nPentru a bloca toate conexiunile și a permite doar SSH și HTTP, configurați regulile în ordinea corectă. Ordinea contează în iptables, prima regulă aplicabilă câștigă.
sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP
sudo iptables -P OUTPUT ACCEPT
sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
sudo iptables -A INPUT -i lo -j ACCEPTSalvarea regulilor iptables pentru persistență după restart
Regulile iptables se pierd la repornirea serverului dacă nu sunt salvate explicit. Pe Ubuntu, instalați pachetul iptables-persistent pentru salvare automată.
sudo apt install iptables-persistent
sudo netfilter-persistent savePe AlmaLinux și RHEL, utilizați serviciul iptables sau migrați la firewalld, care persistă regulile implicit.
sudo service iptables saveProtecție împotriva atacurilor brute-force cu fail2ban
UFW și iptables filtrează traficul, dar nu detectează automat atacurile de tip brute-force. Fail2ban monitorizează log-urile și blochează IP-urile care înregistrează prea multe eșecuri de autentificare.
sudo apt install fail2ban
sudo systemctl enable fail2ban
sudo systemctl start fail2banConfigurați jail-ul SSH pentru a bloca IP-urile după 5 încercări eșuate în 10 minute, cu o blocare de 24 de ore.
[sshd]
enabled = true
port = ssh
maxretry = 5
findtime = 600
bantime = 86400Rate limiting cu iptables pentru protecție DDoS de bază
Puteți limita numărul de conexiuni noi per IP într-un interval de timp. Aceasta protejează împotriva atacurilor de tip SYN flood și a scanărilor agresive.
sudo iptables -A INPUT -p tcp --dport 80 -m limit --limit 25/minute --limit-burst 100 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 80 -j DROPAjustați valorile în funcție de traficul legitim al serverului dumneavoastră. Valorile prea restrictive pot bloca utilizatori reali în perioadele de trafic ridicat.
Monitorizarea activității firewall-ului
Activați logging-ul pentru traficul blocat pentru a identifica pattern-uri de atac. Log-urile UFW sunt stocate în /var/log/ufw.log.
sudo ufw logging on
sudo tail -f /var/log/ufw.logAnalizați periodic log-urile pentru a identifica IP-uri persistente care merită blocate permanent sau raportate furnizorului de hosting.
Verificarea configurației firewall și testarea regulilor
Înainte de a aplica regulile restrictive pe un server de producție, testați configurația pe un server de test. Folosiți nmap pentru a verifica ce porturi sunt vizibile din exterior.
nmap -sV -p 1-65535 IP_SERVER_DUMNEAVOASTRAUn server corect configurat cu firewall ar trebui să expună doar porturile 22, 80 și 443. Orice alt port deschis reprezintă o potențială vulnerabilitate care trebuie investigată.
Configurarea unui firewall pe Linux este primul pas dintr-o strategie de securitate completă. Complementați această configurație cu actualizări regulate ale sistemului, certificate SSL și monitorizare continuă a log-urilor pentru o protecție optimă. Descoperiți și alte servicii de securitate și optimizare disponibile pe goai.ro.


Comments (0)