Comment configurez-vous les iptables pour que ce soit seulement Autoriser SSH dans, et laisser aucun autre trafic in ou out?] ==?
Toute précaution de sécurité Tout le monde peut recommander?
J'ai un serveur que je croire a été migré de Godaddy avec succès et je croire n'est plus utilisé.
Mais je veux m'assurer que ... tu ne sais jamais. :)
Notez qu'il s'agit d'un serveur dédié virtuel de GoDaddy ... Cela signifie aucune sauvegarde et pratiquement aucun support.
Vous devez simplement définir la stratégie par défaut pour déposer sur les chaînes d'entrée et de sortie.
Pour permettre à SSH, vous avez besoin des commandes suivantes:
$ Sudo iptables -P INPUT DROP
$ Sudo iptables -P OUTPUT DROP
$ Sudo iptables -A INPUT -i lo -j ACCEPT
$ Sudo iptables -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
$ Sudo iptables -A OUTPUT -o lo -j ACCEPT
$ Sudo iptables -A OUTPUT -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT
Les deux dernières commandes autorisent le trafic de bouclage car cela est requis par certaines applications pour fonctionner correctement. Vous pouvez limiter l'accès SSH à partir d'une adresse IP spécifique à l'aide de -s source_ip
option.
Exécution des commandes dans l'ordre, comme indiqué ci-dessus, la session SSH actuelle sera suspendue. En effet, les commandes IPTABLES prennent effet immédiatement. Vous devez les exécuter dans un script shell pour éviter de perdre la possibilité de vous connecter à votre machine lorsque vous les exécutez à distance.
Quelque chose comme ça:
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -j REJECT # or iptables -P INPUT DROP
iptables -A OUTPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -j REJECT # or iptables -P OUTPUT DROP