Comment puis-je bloquer le port 6379 pour le trafic extérieur sur ubuntu?

Je souhaite bloquer l'access au port 6379 sur mon server, mais je souhaite toujours me connecter à l'interne. L'application redis-server s'exécute sur ce port et je souhaite me connecter à lui uniquement localement (127.0.0.1). Comment puis-je faire ceci?

Pour ce faire, vous devez vous assurer que vos règles IPTables sont configurées correctement. Ubuntu en général laisse les servers ouverts par défaut, c'est pourquoi je ne recommand toujours pas leur utilisation en tant que servers, à less que vous ne soyez assez conscient de la façon de procéder correctement.

J'imagine que votre iptables -L -nv ressemble à quelque chose comme ça, oui?

 # iptables -L -nv Chain INPUT (policy ACCEPT 4M packets, 9M bytes) pkts bytes target prot opt in out source destination Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination Chain OUTPUT (policy ACCEPT 8M packets, 4M bytes) pkts bytes target prot opt in out source destination 

Il est vide et il est très ouvert. L'Ubuntu IPTables HowTo aidera probablement un peu avec ceci. ( https://help.ubuntu.com/community/IptablesHowTo )

Je recommand quelque chose comme ça, ce qui permet à SSH sur n'importe quelle interface et tcp 6379 toute interface mais celle que vous ne voulez pas:

 *filter :INPUT DROP [92:16679] :FORWARD DROP [0:0] :OUTPUT ACCEPT [203:36556] -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT -A INPUT -i lo -p tcp -m tcp --dport 6379 -j ACCEPT -A INPUT -i lo -p udp -m udp --dport 6379 -j ACCEPT -A INPUT -p icmp -j ACCEPT -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT -A INPUT -i lo -j ACCEPT COMMIT 

Vous sauvegarderez ensuite ce file dans /etc/iptables.rules.

De toute évidence, tous les autres ports que vous souhaitez spécifiquement ouvrir devraient être ajoutés.

Remarque: J'ai ajouté les lignes 6379 spécifiques pour plus de clarté. Le fond ACCEPT juste avant le COMMIT permettrait cela, car toutes les connections de bouclage doivent être autorisées sur un système Linux pour un bon fonctionnement.

Vous voudrez également insert les règles dans votre file / etc / network / interfaces, afin de s'assurer qu'elles sont ajoutées lors de l'apparition de l'interface et pas plus tard dans le process de démarrage. L'ajout de quelque chose comme ceci est recommandé:

 auto eth0 iface eth0 inet dhcp pre-up iptables-restore < /etc/iptables.rules 

Modifier: Pour charger cette configuration initialement, vous devez exécuter la command iptables-restore mentionnée ci-dessus:

 iptables-restore < /etc/iptables.rules 

Eh bien, je suggère d'utiliser le «pare-feu sans complication» (ufw), qui est également recommandé par canonical. La lecture et l'écriture d'iptables est trop compliquée pour les tâches occasionnelles de locking des ports.

Voir ici: https://wiki.ubuntu.com/UncomplicatedFirewall

Quelque chose comme

 iptables -A INPUT -s 0.0.0.0 -i eth0 --protocol tcp --dport 6379 -j DROP 

Devrait marcher.