Une installation par défaut écoute sur plus de ports que vous ne le pensez. Un pare-feu qui refuse par défaut transforme « ce qui pourrait être exposé » en « ce que j'ai délibérément ouvert », liste bien plus courte et bien plus facile à examiner.

Regardez d'abord ce qui écoute

ss -tulpn | grep LISTEN

Tout ce qui est lié à 0.0.0.0 est joignable depuis internet. Une base de données qui ne doit être atteinte qu'en local doit être liée à 127.0.0.1, et c'est une correction dans le service, pas dans le pare-feu.

Autorisez SSH avant d'activer

Activer un pare-feu qui refuse par défaut sans autoriser SSH d'abord vous déconnecte, et il n'existe aucun retour possible sinon la console de l'hébergeur. C'est de loin la façon la plus courante de s'enfermer dehors de son propre serveur.
ufw allow OpenSSH
ufw allow 80,443/tcp
ufw default deny incoming
ufw default allow outgoing
ufw enable

Vérifiez-le

ufw status verbose

Ce qu'un pare-feu ne fait pas

  • Il n'arrête pas une attaque sur le port 443 — ce port est ouvert par conception, et tout ce qui atteint votre application passe par là.
  • Il ne corrige rien. Une extension périmée est jointe par le port que vous vouliez ouvrir.
  • Il ne protège pas d'un mot de passe volé sur un service que vous avez autorisé.

Limitez le débit de SSH

ufw limit OpenSSH

Cela refuse une adresse après six tentatives en trente secondes. Avec des clés déjà exigées, c'est ceinture et bretelles — et cela garde le journal lisible.

Notez en commentaire la raison d'être de chaque règle. Dans un an, la question « puis-je fermer ceci ? » n'aura aucune réponse sans cela, et personne ne fermera rien.