Eh bien, j'avais préparé ce post pour mon blog depuis quelque temps, ils me l'ont suggéré en DesdeLinux, et faute de temps, il n’avait pas pu ou voulu. Si je suis un peu paresseux 😀. Mais maintenant ils se mettent en grève, comme on dit à Cuba ...
0- Gardez nos systèmes à jour avec les dernières mises à jour de sécurité.
Séries 0.1- Listes de diffusion des mises à jour critiques [Conseiller en sécurité Slackware, Conseiller en sécurité Debian, dans mon cas]
1- Aucun accès physique aux serveurs par du personnel non autorisé.
Séries 1.1- Appliquer le mot de passe à BIOS de nos serveurs
Séries 1.2- Pas de démarrage par CD / DVD
Séries 1.3- Mot de passe dans GRUB / Lilo
2- Bonne politique de mot de passe, caractères alphanumériques et autres.
Séries 2.1- Vieillissement des mots de passe [Password Aging] avec la commande "chage", ainsi que le nombre de jours entre le changement de mot de passe et la date du dernier changement.
Séries 2.2- Évitez d'utiliser les mots de passe précédents:
dans /etc/pam.d/common-password
password sufficient pam_unix.so use_auth ok md5 shadow remember 10
Vous changez donc le mot de passe et cela vous rappelle les 10 derniers mots de passe que l'utilisateur avait.
3- Bonne politique de gestion / segmentation de notre réseau [routeurs, commutateurs, vlans] et pare-feu, ainsi que des règles de filtrage INPUT, OUTPUT, FORWARD [NAT, SNAT, DNAT]
4- Activez l'utilisation des shells [/ etc / shells]. Les utilisateurs qui n'ont pas besoin de se connecter au système obtiendront / bin / false ou / bin / nologin.
5- Bloquer les utilisateurs lorsque la connexion échoue [faillog], ainsi que contrôler le compte utilisateur du système.
passwd -l pepe -> bloquer l'utilisateur pepe passwd -v pepe -> débloquer l'utilisateur pepe
6- Activez l'utilisation de "sudo", ne vous connectez JAMAIS en tant que root par ssh, "JAMAIS". En fait, vous devez modifier la configuration ssh pour atteindre cet objectif. Utilisez des clés publiques / privées sur vos serveurs avec sudo.
7- Appliquer dans nos systèmes le "Principe du moindre privilège" .
8- Consultez nos services de temps en temps [netstat -lptun], pour chacun de nos serveurs. Ajoutez des outils de surveillance qui peuvent nous aider dans cette tâche [Nagios, Cacti, Munin, Monit, Ntop, Zabbix].
9- Installez les IDS, Snort / AcidBase, Snotby, Barnyard, OSSEC.
Séries 10- Nmap est votre ami, utilisez-le pour vérifier votre sous-réseau / sous-réseaux.
Séries 11- Bonnes pratiques de sécurité dans OpenSSH, Apache2, Nginx, MySQL, PostgreSQL, Postfix, Squid, Samba, LDAP [ceux qui utilisent le plus] et certains autres services dont vous avez besoin dans votre réseau.
Séries 12- Cryptez toutes les communications tant que possible dans nos systèmes, SSL, gnuTLS, StarTTLS, digest, etc ... Et si vous gérez des informations sensibles, cryptez votre disque dur !!!
Séries 13- Mettez à jour nos serveurs de messagerie avec les dernières règles de sécurité, de liste noire et antispam.
Séries 14- Journalisation des activités dans nos systèmes avec logwatch et logcheck.
Séries 15- Connaissance et utilisation d'outils tels que top, sar, vmstat, gratuit, entre autres.
sar -> rapport d'activité du système vmstat -> processus, mémoire, système, entrées / sorties, activité du processeur, etc. iostat -> état des entrées / sorties du processeur mpstat -> état et utilisation du multiprocesseur pmap -> utilisation de la mémoire par les processus libres - > iptraf memory -> trafic en temps réel de notre réseau ethstatus -> moniteur de statistiques Ethernet basé sur la console etherape -> moniteur de réseau graphique ss -> état des sockets [tcp socket info, udp, raw sockets, DCCP Sockets] tcpdump -> Analyse détaillée de traffic vnstat -> surveillance du trafic réseau des interfaces sélectionnées mtr -> outil de diagnostic et analyse de surcharge dans les réseaux ethtool -> stats sur les cartes réseau
Pour l'instant, c'est tout. Je sais qu'il y a mille et une autres suggestions de sécurité dans ce type d'environnement, mais ce sont celles qui m'ont le plus frappé, ou qu'à un moment donné j'ai dû appliquer / m'exercer dans un environnement que j'ai administré.
Un câlin et j'espère que cela vous servira 😀
Je vous invite dans les commentaires à nous parler de quelques autres règles qui ont été mises en place en dehors de celles déjà évoquées, pour accroître les connaissances de nos lecteurs 😀
Eh bien, j'ajouterais:
1.- Appliquer des règles sysctl pour empêcher l'accès à dmesg, / proc, SysRQ, attribuer PID1 au noyau, activer les protections pour les liens symboliques durs et logiciels, les protections pour les piles TCP / IP pour IPv4 et IPv6, activer le VDSO complet pour une randomisation maximale les pointeurs et les allocations d'espace mémoire et améliorent la résistance contre les débordements de tampon.
2.- Créez des pare-feu de type SPI (Stateful Package Inspect) pour empêcher les connexions non créées ou précédemment autorisées d'avoir accès au système.
3.- Si vous ne disposez pas de services qui nécessitent des connexions avec des privilèges élevés depuis un emplacement distant, révoquez simplement leur accès à l'aide de access.conf, ou, à défaut, activez l'accès uniquement à un utilisateur ou à un groupe spécifique.
4.- Utilisez des limites strictes pour empêcher l'accès à certains groupes ou utilisateurs de déstabiliser votre système. Très utile dans les environnements où il y a un vrai multi-utilisateur actif à tout moment.
5.- TCPWrappers est votre ami, si vous êtes sur un système qui le prend en charge, l'utiliser ne ferait pas de mal, vous pouvez donc refuser l'accès à partir de n'importe quel hôte à moins qu'il ne soit préalablement configuré dans le système.
6.- Créez des clés SSH RSA d'au moins 2048 bits ou mieux de 4096 bits avec des clés alphanumériques de plus de 16 caractères.
7.- Dans quelle mesure êtes-vous inscriptible dans le monde? Vérifier les autorisations de lecture-écriture de vos répertoires n'est pas du tout mauvais et c'est le meilleur moyen d'éviter les accès non autorisés dans les environnements multi-utilisateurs, sans oublier que cela rend plus difficile pour certains accès non autorisés d'accéder à des informations que vous ne voulez pas. personne d'autre ne voit.
8.- Montez toute partition externe qui ne le mérite pas, avec les options noexec, nosuid, nodev.
9.- Utilisez des outils tels que rkhunter et chkrootkit pour vérifier périodiquement que le système n'a pas de rootkit ou de malware installé. Une mesure prudente si vous faites partie de ceux qui installent des éléments à partir de référentiels non sécurisés, à partir de PPA ou simplement en compilant du code en direct à partir de sites non approuvés.
Euhmmm, délicieux… Bon commentaire, ajoutez les gars… 😀
Appliquer un contrôle d'accès obligatoire avec SElinux?
très bon article
Merci mon ami 😀
Bonjour et si je suis un utilisateur normal, dois-je utiliser su ou sudo?
J'utilise su parce que je n'aime pas sudo, parce que quiconque a mon mot de passe utilisateur peut changer ce qu'il veut sur le système, à la place avec su no.
Sur votre PC cela ne prend pas la peine d'utiliser su, vous pouvez l'utiliser sans problème, sur les serveurs, il est fortement recommandé de désactiver l'utilisation de su et d'utiliser sudo, beaucoup disent que c'est dû au fait d'auditer qui a exécuté quoi et sudo fait cette tâche ... moi en particulier, sur mon pc j'utilise le sien, tout comme vous ...
Bien sûr, je ne sais pas vraiment comment cela fonctionne sur les serveurs. Cependant, il me semble que sudo avait l'avantage de pouvoir donner des privilèges à l'utilisateur d'un autre ordinateur, si je ne me trompe pas.
Article intéressant, je crypte certains fichiers avec gnu-gpg, comme le privilège minimum, au cas où vous voudriez exécuter, par exemple, un binaire d'origine inconnue perdu dans les immenses mers d'informations sur le disque, comment supprimer l'accès à certaines fonctions ?
Je vous dois cette partie, même si je pense que vous ne devriez exécuter qu'en tant que sudo / root, des programmes fiables, c'est-à-dire qu'ils proviennent de votre repo ...
Je me souviens avoir lu qu'il existe un moyen d'activer les capacités root dans un manuel sur GNU / Linux et UNIX, si je le trouve, je le mettrai 😀
@andrew voici l'article que j'ai mentionné et une aide supplémentaire
http://www.cis.syr.edu/~wedu/seed/Labs/Capability_Exploration/Capability_Exploration.pdf
http://linux.die.net/man/7/capabilities
https://wiki.archlinux.org/index.php/Capabilities
et chown cages pour exécuter des binaires inconnus?
Il est préférable d'utiliser sudo à tout moment.
Ou vous pouvez utiliser sudo, mais en limitant le temps de mémorisation du mot de passe.
Des outils similaires que j'utilise pour surveiller le PC, "iotop" en remplacement de "iostat", "htop" excellent "gestionnaire de tâches", "iftop" surveillance de la bande passante.
beaucoup penseront que c'est exagéré, mais j'ai déjà vu des attaques visant à inclure un serveur dans un botnet.
https://twitter.com/monitolinux/status/594235592260636672/photo/1
ps: les mendiants chinois et leurs tentatives de pirater mon serveur.
quelque chose qui est également pratique est d'utiliser des cages chown pour les services, donc si pour une raison quelconque ils sont attaqués, ils ne compromettraient pas le système.
L'utilisation de la commande ps est également excellente pour la surveillance et pourrait faire partie des actions de vérification des failles de sécurité. l'exécution de ps -ef répertorie tous les processus, il est similaire à top mais il montre quelques différences. l'installation d'iptraf est un autre outil qui peut fonctionner.
Bonne contribution.
J'ajouterais: SELinux ou Apparmor, selon la distribution, toujours activé.
D'après ma propre expérience, j'ai réalisé que désactiver ces composants était une mauvaise pratique. Presque toujours, nous le faisons lorsque nous allons installer ou configurer un service, avec l'excuse qu'il fonctionne sans problèmes, alors que ce que nous devrions vraiment faire est d'apprendre à les gérer pour autoriser ce service.
Salutations.
1.Comment crypter l'ensemble du système de fichiers? ça vaut la peine??
2.Doit-il être décrypté à chaque mise à jour du système?
3. Le cryptage de l'ensemble du système de fichiers de la machine est-il identique au cryptage de tout autre fichier?
Comment montrez-vous que vous savez de quoi vous parlez?
En outre, vous pouvez mettre en cage des programmes et même plusieurs utilisateurs. Bien que faire cela soit plus de travail, mais si quelque chose s'est produit et que vous aviez une copie précédente de ce dossier, il s'agit simplement de frapper et de chanter.
La politique de sécurité la meilleure et la plus pratique est de ne pas être paranoïaque.
Essayez-le, c'est infaillible.
J'utilise csf et lors du déverrouillage d'un client qui a égaré son mot de passe dans certains accès, cela retarde le processus, mais c'est le cas. C'est normal?
Je recherche la commande pour débloquer de ssh ... toute suggestion