18 votes

Comment configurer un pare-feu simple sur Ubuntu ?

Quelqu'un pourrait-il donner quelques étapes simples avec un exemple de configuration pour configurer un pare-feu simple sur Ubuntu (en utilisant uniquement la console) ? Seuls les accès ssh, http et https doivent être autorisés.

0 votes

Parlez-vous d'un pare-feu réseau, ou simplement d'un pare-feu système ?

0 votes

Qu'entendez-vous par pare-feu réseau ? S'agit-il d'un pare-feu sur le routeur ? Si oui, alors je parlais de pare-feu système.

20voto

Nerdfest Points 608

Sudo ufw default deny

sudo ufw allow http

sudo ufw allow https

sudo ufw allow ssh

sudo ufw enable

0 votes

Si j'appelle ces commandes en séquence via ssh, ma connexion sera-t-elle interrompue ?

0 votes

Je ne le crois pas, mais vous devriez vérifier pour être sûr. Le statut est également conservé entre les redémarrages, vous ne devriez donc avoir à le faire qu'une seule fois.

0 votes

Je vérifierai quand je serai près de cet ordinateur...

14voto

Mikeage Points 2731

Utilisez ce script.

Décidez simplement si vous voulez autoriser les ICMP entrants (ping) ou non.

# Clear any existing firewall stuff before we start
iptables --flush
iptables -t nat --flush
iptables -t mangle --flush

# As the default policies, drop all incoming traffic but allow all
# outgoing traffic.  This will allow us to make outgoing connections
# from any port, but will only allow incoming connections on the ports
# specified below.
iptables --policy INPUT DROP
iptables --policy OUTPUT ACCEPT

# Allow all incoming traffic if it is coming from the local loopback device
iptables -A INPUT -i lo -j ACCEPT

# Accept all incoming traffic associated with an established
# connection, or a "related" connection
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT

# Allow incoming connections
# SSH
iptables -A INPUT -p tcp -i eth0 --dport 22 -m state --state NEW -j ACCEPT
# HTTP
iptables -A INPUT -p tcp -i eth0 --dport 80 -m state --state NEW -j ACCEPT
# HTTPS
iptables -A INPUT -p tcp -i eth0 --dport 443 -m state --state NEW -j ACCEPT

# Allow icmp input so that people can ping us
iptables -A INPUT -p icmp -j ACCEPT

# Reject all other incoming packets
iptables -A INPUT -j REJECT

8voto

Hamish Downer Points 9012

Comme indiqué dans les commentaires d'une autre réponse, vous ne voulez pas perdre votre connexion avant d'autoriser le port ssh. Extrait de la page de manuel :

"GESTION À DISTANCE

En exécutant ufw enable ou en démarrant ufw via son initscript, ufw va vider ses chaînes. Ceci est nécessaire pour qu'ufw puisse maintenir un état cohérent, mais cela peut interrompre des connexions existantes (par exemple ssh). ufw supporte l'ajout de règles avant d'activer le pare-feu, ainsi les administrateurs peuvent le faire :

ufw allow proto tcp from any to any port 22

avant de lancer 'ufw enable'. Les règles seront toujours effacées, mais le port ssh sera ouvert après l'activation du pare-feu. Veuillez noter qu'une fois que ufw est 'activé', ufw ne videra pas les chaînes lors de l'ajout ou de la suppression de règles (mais le fera lors de la modification d'une règle ou du changement de la politique par défaut)."

Voici donc une approche qui utilise un pour le définir. Vous serez déconnecté lorsque vous exécuterez ce script, mais après l'avoir exécuté, vous pourrez vous reconnecter via ssh.

Mettez ce qui suit dans un script et appelez-le start-firewall.sh

#!/bin/sh
ufw allow ssh
ufw enable
ufw default deny
ufw allow http
ufw allow https

Et ensuite, rendez-le exécutable et lancez-le en faisant

$ chmod + x start-firewall.sh
$ sudo ./start-firewall.sh

Pour en savoir plus, lisez le page de manuel .

2voto

Dave Anderson Points 5159

Si vous vous familiarisez avec les scripts iptables vous aurez un contrôle total sur toutes les fonctionnalités du pare-feu. C'est loin d'être aussi convivial que Firestarter, mais cela peut être fait à la console avec nano / vi éditeurs. Regardez ça tutoriel orienté vers Ubuntu.

1voto

Brock D Points 321

Quicktables m'a aidé à apprendre les règles d'iptables. Il suffit d'exécuter le script pour vous... puis vous pouvez l'ouvrir et voir les commandes associées générées par les questions qu'il vous a posées. C'est une excellente ressource d'apprentissage.

Malheureusement, il n'est plus entretenu.

http://qtables.radom.org/

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X