Com configurar un tallafoc al servidor Ubuntu
Publicat: 5 de març del 2025, a les 19:31:05 UTC
Aquest article explica i ofereix alguns exemples sobre com configurar un tallafoc a GNU/Linux utilitzant ufw, que és l'abreviatura de Uncomplicated FireWall, i el nom és adequat, realment és una manera molt fàcil d'assegurar-vos que no teniu més ports oberts dels que necessiteu.
How to Set Up a Firewall on Ubuntu Server
La informació d'aquesta publicació es basa en Ubuntu Server 14.04 x64. Pot ser vàlid o no per a altres versions. (Actualització: puc confirmar que la informació d'aquesta publicació bàsicament encara és vàlida i funcional a partir d'Ubuntu Server 24.04, però en els 10 anys intermedis, ufw s'ha tornat una mica "més intel·ligent" tenint perfils per a aplicacions de servidor habituals (per exemple, podeu habilitar "Nginx full" en lloc dels ports 80 i 443 per separat)
Quan vaig començar amb servidors GNU/Linux (Ubuntu), configurar un tallafocs implicava crear i mantenir manualment un fitxer de configuració potencialment complex per a iptables. Tanmateix, recentment he descobert ufw , que és l'abreviatura de Uncomplicated Firewall, i realment ho és :-)
La meva instal·lació d'Ubuntu Server 14.04 ja tenia instal·lat ufw, però si no, simplement instal·leu-lo des dels repositoris:
En realitat, UFW és només una eina que simplifica la configuració d'iptables: entre bastidors, encara és iptables i el tallafocs del nucli de Linux els que fan el filtratge, de manera que ufw no és ni menys ni més segur que aquests. Tanmateix, com que ufw fa que sigui molt més fàcil configurar correctament un tallafoc, pot reduir el risc d'error humà i, per tant, és possible que sigui més segur per als administradors sense experiència.
Si el vostre servidor està configurat amb IPv6 i amb IPv4, assegureu-vos que també estigui habilitat per a UFW. Editeu el fitxer /etc/default/ufw i busqueu una línia que digui IPV6=yes . A la meva instal·lació ja hi era, però si no ho és o si diu que no, hauríeu d'editar-lo
A continuació, només cal que utilitzeu l'indicador d'ordres per habilitar els ports que voleu obrir. Si esteu connectat al vostre servidor mitjançant ssh, assegureu-vos de permetre-ho també o pot interrompre la vostra connexió i possiblement bloquejar-vos fora del vostre servidor quan l'activeu, depenent de si teniu accés físic al servidor o no, això pot ser una mica inconvenient ;-)
Per exemple, si utilitzeu ssh al port estàndard 22 i esteu configurant un servidor web que admeti tant connexions no xifrades (HTTP al port 80) com encriptades (HTTPS al port 443), emetreu les ordres següents per configurar ufw:
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
Si necessiteu més regles, simplement afegiu-les com a anterior.
Si teniu una adreça IP estàtica i només us heu de poder connectar mitjançant ssh des d'una ubicació, també podeu restringir les connexions ssh a una única adreça d'origen com aquesta:
Per descomptat, introduïu la vostra pròpia adreça IP.
Quan acabeu, activeu ufw introduint:
I ja has acabat! El tallafoc s'està executant i s'iniciarà automàticament quan reinicieu el servidor :-)
Si feu canvis a la configuració d'ufw, és possible que hàgiu de desactivar-lo i activar-lo de nou per posar-los en vigor, com aquest:
sudo ufw enable
Per veure la configuració actual, simplement introduïu:
Si ufw no està habilitat, això simplement mostrarà un missatge "inactiu", en cas contrari mostrarà les regles definides actualment.