GNU/Linux >> Tutoriels Linux >  >> Linux

Équilibrer la sécurité Linux avec la convivialité

Internet regorge de personnes qui veulent détruire vos affaires. Certains d'entre eux sont simplement curieux, certains recherchent un frisson, d'autres essaient de voler vos données et certains veulent juste regarder les choses brûler. Quel que soit leur motif, c'est votre travail en tant qu'administrateur système d'empêcher ces attaquants d'accéder à vos serveurs. Si vous utilisez un système Linux, cet article est pour vous. Nous allons passer en revue certaines des raisons pour lesquelles vous devez renforcer vos systèmes et d'autres considérations de haut niveau.

Les systèmes d'exploitation sont un équilibre

Construire un système d'exploitation est un équilibre difficile, et une distribution Linux n'est pas différente. Vous devez tenir compte des fonctionnalités prêtes à l'emploi que la plupart des gens voudront et de l'accessibilité pour un large éventail de compétences des administrateurs. Si vous rendez votre distribution très sécurisée, mais qu'un administrateur système débutant ne sait pas comment l'utiliser… eh bien, il va trouver une distribution plus simple pour apprendre, et maintenant vous avez perdu cet administrateur au profit d'une autre distribution . Il n'est donc vraiment pas surprenant que, juste après l'installation, la plupart des distributions Linux aient besoin d'un peu de peaufinage pour les verrouiller. Cela s'est amélioré au fil des ans, car les installateurs eux-mêmes sont devenus plus faciles à utiliser et plus riches en fonctionnalités. Vous pouvez créer un joli système personnalisé directement à partir du programme d'installation de l'interface graphique. Un système Red Hat Enterprise Linux (RHEL) de base, par exemple, si vous avez choisi l'ensemble de packages de base, est en fait assez léger sur les services et packages inutiles.

Il fut un temps où ce n'était pas vrai. Pouvez-vous imaginer des mots de passe hachés, mais disponibles dans /etc/password pour que n'importe quel utilisateur puisse les lire ? Ou toute la gestion du système est-elle effectuée via Telnet ? SSH n'était même pas activé par défaut. Pare-feu basé sur l'hôte ? Entièrement facultatif. Ainsi, il y a 20 ans, verrouiller un système Linux nouvellement installé signifiait une longue liste de tâches. Heureusement, à mesure que l'informatique a mûri, l'installation par défaut de presque tous les systèmes d'exploitation a également évolué.

Qu'est-ce que le système "hardening ?"

Renforcer un système consiste à rendre le système plus sûr, une cible plus difficile pour les méchants. Imaginez que vous ayez une palissade blanche protégeant votre maison. C'est probablement suffisant pour que les gens honnêtes restent honnêtes - ils voient la clôture et le joli petit loquet de votre portail et décident de respecter le fait que vous ne voulez évidemment pas de personnes dans votre jardin. Vous vous sentez en sécurité en sachant que personne ne va entrer dans votre cour et piétiner vos fleurs parce que les gens respectent les limites de votre propriété. Cependant, tout ce qu'il faut, c'est un enfant qui ne se soucie pas de tout cela pour couper dans votre jardin parce qu'il ne peut pas être dérangé pour se déplacer. Votre palissade blanche et votre loquet fragile ne leur permettent pas de s'ouvrir et de passer à travers.

Le durcissement reviendrait à améliorer la palissade blanche en une palissade de six pieds de haut et à ajouter un loquet avec un verrou dessus. Quelqu'un d'assez déterminé pourrait encore grimper par-dessus la clôture, mais ce gamin qui coupait dans votre jardin ne va probablement plus s'en soucier, car c'est un peu trop de travail.

Vous voyez, la sécurité informatique ne consiste pas à être complètement incassable, à moins que vous ne soyez Oracle; il s'agit d'être juste assez sécurisé pour être difficile à pénétrer, tout en restant suffisamment ouvert pour que votre système puisse réellement faire ce pour quoi il est conçu. Un serveur Web tellement verrouillé que vous ne pouvez pas y faire fonctionner un site Web n'est pas un très bon serveur Web, comme une clôture grillagée sans portail.

Conseils de durcissement

Vous ne trouverez pas ci-dessous une procédure étape par étape, mais plutôt quelques points généraux à prendre en compte lorsque vous travaillez pour renforcer votre système.

Abandonnez l'interface graphique

Vous utilisez un poste de travail ? Ou un serveur ? Les serveurs n'ont pas besoin d'interfaces graphiques. C'est juste une chose de plus qui consomme de l'espace et du processeur. Lorsque j'installe un système, je l'installe avec la plus petite empreinte absolue autorisée par l'installateur. Cela signifie pas d'interface graphique. Vous n'en avez simplement pas besoin. Certaines applications ont besoin d'un environnement X pour être installées et gérées (ce qui est tout simplement idiot à l'ère actuelle, mais cela arrive). Si vous n'exécutez pas l'un d'entre eux, cependant, ne vous embêtez pas à installer une interface graphique ou à vous soucier de leurs exigences.

Services inutiles

En fonction de votre distribution, vous pouvez avoir certains services installés dans le cadre de la base qui ne sont tout simplement pas nécessaires, comme à l'époque de Telnet que j'ai mentionnés plus tôt - lorsque les distributions passaient encore de Telnet à SSH pour la gestion, vous obtiendriez les deux activés à partir de une installation de base. Vous devez choisir celui que vous souhaitez conserver, vous voudrez donc probablement désactiver Telnet ou au moins le pare-feu. Aujourd'hui, ces services pourraient ressembler davantage au service d'impression CUPS ou peut-être à l'agent de transfert de courrier (MTA) du système. Ils peuvent être configurés prêts à l'emploi pour écouter les connexions entrantes. Bien que vous ayez probablement besoin d'un MTA, vous n'en avez pas besoin pour accepter les connexions externes. Sur un système système, vous pouvez lister tous les services actifs assez facilement. Vous pouvez également consulter le résultat de netstat ou ss pour voir quels services sont à l'écoute des connexions. Si vous ne savez pas ce qu'est un service, c'est le moment idéal pour lire un peu.

Accès utilisateur

À moins que vous n'utilisiez un serveur shell, auquel les gens ont réellement besoin d'accéder, vous voudrez probablement réfléchir sérieusement à qui vous attribuez un compte shell sur vos systèmes. Ce n'est pas nécessairement une pratique de durcissement autant qu'une simple bonne administration. Plus il y a de comptes, plus l'empreinte des comptes pouvant être compromis est importante. C'est aussi une bonne idée de faire TRÈS attention à la façon dont vous distribuez sudo privilèges. Personne ne devrait jamais avoir le mot de passe root, à part peut-être l'équipe d'administration système (et même eux ne devraient pas l'utiliser à moins que cela ne soit absolument nécessaire). Sudo est là pour une raison; utilisez-le.

Pare-feu basés sur l'hôte

J'en ai beaucoup parlé dans ma série sur la défense en profondeur. Le pare-feu basé sur l'hôte est la dernière ligne de défense du réseau; utilise le. Hors de la boîte, votre distribution peut avoir un pare-feu grand ouvert, ou peut-être que certains ports par défaut sont ouverts. Comment les règles de pare-feu sont-elles terminées ? S'agit-il d'un système ouvert ou fermé par défaut ? Je n'ai jamais vu de raison, à part peut-être le dépannage, d'avoir un pare-feu ouvert par défaut. Je pouvais voir comment une installation de base pourrait avoir le pare-feu configuré de cette façon, donc c'est bon à savoir ou à découvrir. Toutes les règles de pare-feu astucieuses du monde ne servent à rien si votre pare-feu s'ouvre par défaut. Le logiciel doit être ouvert; les pare-feux doivent être fermés.

Protocoles sécurisés

Il fut un temps où vous ne cryptiez que le trafic qui avait une chance raisonnable d'échanger des données privées, comme des mots de passe. En effet, le cryptage avait un coût. Les ordinateurs sont doués pour faire des calculs, mais chiffrer chaque bit de communication a ajouté de la latence. Pas grand-chose, mais ça s'additionne. Eh bien, ce n'est plus vraiment le problème qu'il y avait avant. Nous sommes maintenant à un point où il n'y a vraiment aucune raison de ne pas chiffrer le trafic entrant et sortant de votre système. Vous pouvez chiffrer TLS avec LetsEncrypt gratuitement, et la gestion via SSH n'est même plus une question. Je suis sûr qu'il y a des cas extrêmes ici, mais je parie que, la plupart du temps, la réponse à "Cela devrait-il être crypté?" est probablement "oui".

Mémoriser le solde

N'oubliez pas que la sécurité est un équilibre entre l'accessibilité, la convivialité et la restriction. Trop loin dans l'une de ces directions, et vous aurez des ennuis.

[ Téléchargement gratuit :Aide-mémoire sur les commandes avancées de Linux. ]


Linux
  1. Surveillez votre système Linux dans votre terminal avec procps-ng

  2. Améliorez les performances du système Linux avec noatime

  3. Analysez votre sécurité Linux avec Lynis

  4. Planification des tâches système avec Cron sous Linux

  5. Surveillance de la sécurité sous Linux avec Tripwire

Audit de sécurité Linux avec Lynis

Commande de disponibilité Linux avec exemples

Premiers pas avec le système d'exploitation Linux

Trouver des informations sur le matériel du système Linux avec Hwinfo

Comment afficher les statistiques du système Linux avec Saidar

Audit de sécurité avec Lynis