Quelqu'un pourrait-il donner quelques étapes simples avec un exemple de configuration pour configurer un pare-feu simple sur Ubuntu (en utilisant la console uniquement)? Seuls les accès ssh, http et https doivent être autorisés.
Quelqu'un pourrait-il donner quelques étapes simples avec un exemple de configuration pour configurer un pare-feu simple sur Ubuntu (en utilisant la console uniquement)? Seuls les accès ssh, http et https doivent être autorisés.
Réponses:
sudo ufw par défaut deny
sudo ufw autorise http
sudo ufw autorise https
sudo ufw autorise ssh
sudo ufw enable
Utilisez ce script.
Décidez simplement si vous souhaitez autoriser ICMP entrant (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
Comme indiqué dans les commentaires d'une autre réponse, vous ne voulez pas perdre votre connexion avant d'autoriser le port ssh. Depuis la page de manuel:
"GESTION À DISTANCE
Lorsque vous exécutez ufw enable ou démarrez ufw via son script, ufw videra ses chaînes. Ceci est nécessaire pour que ufw puisse maintenir un état cohérent, mais il peut supprimer les connexions existantes (par exemple ssh). ufw prend en charge l'ajout de règles avant d'activer le pare-feu, les administrateurs peuvent donc:
ufw allow proto tcp from any to any port 22
avant d'exécuter «ufw enable». Les règles seront toujours vidé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 sera lors de la modification d'une règle ou de la modification de la stratégie par défaut). "
Voici donc une approche qui utilise un script 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 puis le rendre exécutable et l'exécuter en faisant
$ chmod + x start-firewall.sh
$ sudo ./start-firewall.sh
Pour en savoir plus, lisez la page de manuel .
Quicktables m'a aidé à apprendre les règles iptables. Exécutez simplement le script et il générera un script iptables pour vous ... puis vous pourrez l'ouvrir et afficher 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 maintenu.
J'aime vraiment utiliser firehol ( package ).
Pour créer des règles de configuration que vous aimez, vous devez modifier le fichier / etc / default / firehol et changer START_FIREHOL = YES
Et vous voudriez que votre /etc/firehol/firehol.conf ressemble à ceci.
version 5
interface any IfAll
client any AnyClient accept
server "ssh http https" accept
# Accept everything from trusted networks
server anystateless AllInside accept src "10.3.27.0/24"
L'une des grandes choses à propos de firehol est la commande «try». Vous pouvez ajuster votre fichier de configuration et faire un «essai de firehol», si vous étiez connecté via ssh, et quelque chose sur ce que vous avez changé a tué votre accès réseau, alors firehol annulera les changements. Pour que les modifications entrent en vigueur, vous devez dire commit.
Je préférerais Shorewall . Il est facile à configurer mais flexible en même temps.
Vous devriez peut-être jeter un œil à http://iptables-tutorial.frozentux.net/iptables-tutorial.html . Vous pouvez également trouver plus d'informations sur lartc.org
sudo apt-get install firestarter
Ensuite, regardez dans le menu Système-> Administration.