J'installe un serveur Debian connecté directement à Internet. Évidemment, je veux le rendre aussi sécurisé que possible. Je voudrais que vous, les gars, ajoutiez vos idées pour le sécuriser et quels programmes vous utilisez pour cela.
Je veux qu'une partie de cette question couvre ce que vous utilisez comme pare-feu? Juste iptables configuré manuellement ou utilisez-vous un logiciel quelconque pour vous aider? Quel est le meilleur moyen? Bloquer tout et ne permettre que ce qui est nécessaire? Existe-t-il de bons tutoriels pour les débutants sur ce sujet?
Est-ce que vous changez votre port SSH? Utilisez-vous un logiciel comme Fail2Ban pour prévenir les attaques par force brute?
Réponses:
Obligatoire:
En fonction du niveau de paranoïa en plus:
integrit
pour vérifier si certaines parties du système de fichiers n'ont pas été modifiées [avec une somme de contrôle conservée en dehors de la machine], par exemple Tripwire/etc/passwd
ajout de nouveaux utilisateurs est donc un peu plus difficile-m state --satete ESTABLISHED
veille à autoriser le flux de paquets tant que vous utilisez une seule session SSH]Les choses que je ne fais pas moi-même mais qui ont du sens:
la source
Juste une note sur le pare-feu de votre machine ...
amap
, etnmap
l'-A
option de. Cela dit, vous pouvez (et devriez probablement si cela vous inquiète) modifier vos services pour vous protéger des regards indiscrets. Par exemple, les informations suivantes permettraient à l'attaquant de connaître la version exacte deOpenSSH
celle que vous utilisez, il peut alors rechercher des exploits pour cette version exacte. Si vous cachez de telles choses, vous leur rendrez la tâche plus difficile.En bout de ligne, vous ne réussirez jamais à sécuriser quoi que ce soit à 100% - ce n'est tout simplement pas possible - le but est de le rendre aussi sécurisé que possible - si vous devez faire un effort supplémentaire pour casser votre système, c'est assez bon, et la plupart des lecteurs les script-kiddies passeront au système suivant.
iptables
est la voie à suivre pour n’importe quel système Linux - mais configurez-le vous-même.N'utilisez jamais un "logiciel de sécurité" qui ne soit pas basé sur des normes ouvertes - ils sont condamnés à être mal écrits et seront piratés (pas une question de "si", mais de "quand"). Les protocoles open source et ouverts sont ouverts à la consultation du public et convergent pour devenir un produit mature et fiable; Les logiciels à code source fermé reposent principalement sur la confiance en soi des auteurs quant à la qualité / à la sécurité d'un produit qu'ils pensent être - c'est-à-dire un petit nombre d'yeux par rapport à une terre pleine d'yeux.
J'espère que ça t'as aidé :)
la source
utilisez denyhosts (ou similaire)
écrivez votre propre script iptbles (pour que vous contrôliez exactement ce qu'il faut autoriser et que vous puissiez tout laisser tomber)
forcer l'utilisation des communications sécurisées SSL / TLS et s'assurer d'avoir des certificats valides, non expirés et signés
la source
Commencer ici:
http://www.debian.org/doc/manuals/securing-debian-howto/
la source
Comme point de départ général, je me base sur les repères / guides du Center for Internet Security , qui sont des compilations complètes des meilleures pratiques de sécurité. Il ne semble pas que leur test de performance Debian ait été mis à jour depuis un certain temps, mais voici un aperçu général de la procédure:
Il existe de nombreuses ressources sur tous ces paramètres, y compris les commandes spécifiques et les fichiers de configuration à implémenter sur le système dans les tests d'évaluation de CISecurity.
la source
Je suggérerais de ne pas connecter une machine directement à Internet. Placez une sorte de pare-feu entre la machine et Internet. Cela vous permet de surveiller le réseau et la sécurité sans mettre plus de charge sur le serveur. Personnellement, je trouve que la segmentation du réseau et des fonctions simplifie souvent le dépannage du réseau, même si parfois la complexité supplémentaire rend l’analyse plus difficile.
La stratégie de pare-feu la plus sûre, mais la plus ennuyeuse à gérer, consiste à tout refuser et à n'autoriser explicitement que le trafic que vous devez autoriser. Ceci est gênant, car il est souvent nécessaire de mettre à jour la stratégie de pare-feu lorsque le réseau doit être modifié.
Je suggérerais également d’utiliser une sorte de pare-feu d’interface sur le serveur - la clé de la défense en profondeur. L'utilisation de ports non standard pour des services liés à l'administration ne fait pas de mal. fail2ban va bien. Répondez aux questions plus spécifiques sur les applications de sécurité sur Serverfault pour trouver plus d’idées.
La sécurité, c'est comme la blague sur les deux randonneurs et l'ours - bien qu'un ne puisse jamais atteindre une sécurité parfaite, il est utile d'être une cible plus difficile que les autres gars.
la source
Certaines personnes ont pointé du doigt le manuel Sécuriser Debian . Cela devrait parfaitement convenir à tout sauf aux exigences militaires.
Beaucoup de gens pensent qu'être ridiculement paranoïaque est cool ou professionnel. Ce n'est pas , c'est simplement ennuyeux pour les autres administrateurs et purement répressif pour vos utilisateurs. La plupart des choses que vous recommanderez sont simplement des faux travaux pour vous sentir utiles à l’administrateur paranoïaque, mais ce n’est vraiment pas utile, car la véritable faille de sécurité sera probablement causée par un système insuffisamment mis à jour et / ou par une source interne.
Cela dit, j’estime que l’un de mes principes est de ne faire confiance à rien sur le réseau local, pas plus qu’à partir d’Internet. Par conséquent, je configure tout pour exiger une authentification même sur le réseau local. Je crypte et authentifie tout le trafic entre chaque ordinateur utilisant IPsec.
Je suis en train de convertir le chiffrement sur disque intégral pour tous mes serveurs.
J'installe uniquement les services que j'utilise. Je n'ai pas de pare-feu; Je configure les services pour lesquels je dois exiger une authentification ou les limite (par la configuration propre du programme ou par TCP-wrappers) à certaines IP. La seule chose que j’ai jamais eu besoin de bloquer avec iptables était
memcached
, puisqu’il n’avait pas de fichier de configuration et n’utilisait pas de wrappers TCP.J'utilise de bons mots de passe générés de manière aléatoire pour mes comptes et je fais confiance à mon serveur SSH (et à tous les autres services) pour empêcher ceux qui ne connaissent pas le mot de passe de sortir.
fail2ban
est réservé aux personnes disposant d'un espace limité pour les fichiers journaux, IMO. (Vous devriez avoir assez de mots de passe pour pouvoir leur faire confiance.)la source
Suivez ce tutoriel sur www.debian.org/doc/manuals/securing-debian-howto/
Personnellement, je change le port ssh et utilise fail2ban + denyhosts. Et je bloque tout ce qui n'est pas nécessaire. Plus vous bloquez, moins vous devez vous inquiéter.
la source