Dacă aveți nevoie de un firewall bun pentru serverul sau desktopul dvs. Linux, iptables este o alegere excelentă. Este foarte flexibil și rapid. În acest ghid, vă vom arăta cum să configurați un firewall iptables pe Linux.
Instalarea iptables pe Linux
Pentru a configura firewall -ul cu iptables pe sistemul dvs. Linux , trebuie să îl instalați mai întâi. Deschideți o fereastră de terminal și urmați instrucțiunile de instalare de mai jos pentru sistemul de operare Linux. Iptables este instalabil atât pe desktop-uri Linux, cât și pe servere, iar dacă preferați o descărcare Linux generică de iptables, puteți vizita site-ul oficial . Odată ce instalarea este finalizată, puteți continua să configurați firewall-ul cu iptables.
Instrucțiuni Ubuntu
sudo apt install iptables
Instrucțiuni Debian
sudo apt-get install iptables
Instrucțiuni Arch Linux
sudo pacman -S iptables
Instrucțiuni Fedora
sudo dnf instalează iptables
Instrucțiuni OpenSUSE
sudo sudo zypper în iptables
Distribuții EPEL (Rhel, CentOS, Rocky, Alma etc.)
sudo yum instalează iptables
Cum se creează un set de reguli iptables
Trebuie să creați un nou set de reguli iptables înainte de a încerca să îl utilizați ca firewall. Deschideți o fereastră de terminal și asigurați-vă că puteți introduce comenzi sudo . Dacă utilizatorul dvs. nu poate, conectați-vă la contul root cu su .
De aici, utilizați comanda iptables -F . Această comandă va șterge și șterge toate regulile anterioare pentru iptables de pe sistemul dumneavoastră.
sudo iptables -F
După ce rulați comanda de mai sus, puteți rula comanda iptables -L pentru a verifica și confirma că regulile au fost șterse.
sudo iptables -L
După ce ați confirmat că regulile iptables au fost eliminate, utilizați comanda iptables -P de mai jos pentru a bloca traficul de intrare în mod implicit.
AVERTISMENT: dacă editați iptables prin SSH, deconectați-vă și editați la mașina fizică. Rularea comenzii de mai jos vă va deconecta automat de la SSH până când îi permiteți să treacă prin firewall.
sudo iptables -P INPUT DROP
Apoi, trebuie să permiteți traficul de ieșire din sistemul dvs. prin iptables. Puteți permite traficul de ieșire prin firewall-ul iptables introducând următoarea comandă iptables -P .
sudo iptables -P OUTPUT ACCEPT
După ce ați dezactivat traficul de intrare și ați activat traficul de ieșire, treceți la permiterea anumitor servicii.
Cum să permiteți porturi prin firewall iptables
În mod implicit, rularea iptables -P INPUT DROP dezactivează traficul de intrare din toate sursele (SSH, HTTP, etc.) Pentru a activa aceste servicii, va trebui să adăugați regulile iptables.
Pentru a simplifica lucrurile, iată o listă de porturi comune pe care poate doriți să le activați în firewall-ul dvs. iptables. Copiați comanda asociată portului pe care doriți să-l activați prin firewall-ul dvs. iptables.
- HTTP (port 80):
sudo iptables -A INPUT -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
- HTTPS (port 443):
sudo iptables -A INPUT -p tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT
- SSH (port 22):
sudo iptables -A INPUT -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
- FTP (port 21):
sudo iptables -A INPUT -p tcp --dport 21 -m state --state NEW,ESTABLISHED -j ACCEPT
- SMTP (port 25):
sudo iptables -A INPUT -p tcp --dport 25 -m state --state NEW,ESTABLISHED -j ACCEPT
- DNS (port 53):
sudo iptables -A INPUT -p udp --dport 53 -j ACCEPT
pentru UDP sau sudo iptables -A INPUT -p tcp --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT
pentru TCP
- DNS prin TLS (DoT) (port 853):
sudo iptables -A INPUT -p tcp --dport 853 -m state --state NEW,ESTABLISHED -j ACCEPT
- DNS prin HTTPS (DoH) (port 443):
sudo iptables -A INPUT -p tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT
- Protocol desktop la distanță (RDP) (port 3389):
sudo iptables -A INPUT -p tcp --dport 3389 -m state --state NEW,ESTABLISHED -j ACCEPT
- Virtual Network Computing (VNC) (port 5900):
sudo iptables -A INPUT -p tcp --dport 5900 -m state --state NEW,ESTABLISHED -j ACCEPT
- Secure Shell (SSH) cu redirecționare X11 (port 6010):
sudo iptables -A INPUT -p tcp --dport 6010 -m state --state NEW,ESTABLISHED -j ACCEPT
- Baza de date MySQL (port 3306):
sudo iptables -A INPUT -p tcp --dport 3306 -m state --state NEW,ESTABLISHED -j ACCEPT
- Baza de date PostgreSQL (port 5432):
sudo iptables -A INPUT -p tcp --dport 5432 -m state --state NEW,ESTABLISHED -j ACCEPT
Când ați permis toate porturile pe care doriți să le permiteți, vă puteți verifica regulile cu iptables -L .
sudo iptables -L
În cele din urmă, salvați regulile iptables într-un fișier pentru scopuri de backup. Puteți face acest lucru cu comanda iptables-save .
sudo iptables-save > /path/tosave/where/you/wish/to/save/rules/iptable-rules-backup
Cum să restabiliți copiile de rezervă iptables
Dacă trebuie să reinstalați paravanul de protecție iptables pe o altă mașină, iată ce trebuie să faceți. Mai întâi, utilizați comanda iptables -F pentru a șterge regulile existente.
sudo iptables -F
Apoi, copiați fișierul de rezervă în sistem. Odată ce este copiat, restaurați copia de rezervă.
sudo iptables-restore <>