1 votes

Un ordinateur portable itinérant accédant à une boîte LAMP CentOS - Problèmes de sécurité !

Je suis un développeur qui travaille pour une petite entreprise. L'entreprise ne peut pas se permettre d'embaucher un véritable administrateur système *nix à l'heure actuelle. Par conséquent, j'ai été chargé de configurer un serveur LAMP fonctionnant sous CentOS qui sera administré à distance par notre développeur principal. Ce développeur se trouve dans des fuseaux horaires différents chaque semaine. La sécurité est une priorité pour moi.

Le serveur sera utilisé pour le test bêta d'une nouvelle version de notre produit phare. Les bêta-testeurs (consommateurs, pas le personnel du service d'assurance qualité) pourront accéder au serveur par le port 80 http standard et par le protocole SSL. Notre développeur y accèdera par SSH - ainsi que par un accès SSL à Subversion pour le contrôle de la source et au port 21 pour le FTP.

Voici ce que j'ai mis en place jusqu'à présent...

Ordinateur portable de voyage :

  1. Le fichier de base de données de l'application de gestion des mots de passe "Keepass" est sauvegardé à distance sur mozy. Le mot de passe principal est une clé de 198 bits. Le fichier de base de données réside sur une clé électronique cryptée "IronKey".
  2. La connexion Windows est une clé de 132 bits. La station de travail se verrouille après 5 minutes d'inactivité.
  3. Tous les codes, documents et paramètres d'application sont stockés sur un disque crypté à clé matérielle.

Serveur CentOS LAMP :

  1. L'accès à la racine par SSH est désactivé. SU - pour root.
  2. J'ai suivi ce tutoriel (cyberciti.biz/tips/linux-unix-bsd-openssh-server-best-practices.html) afin de verrouiller OpenSSH.
  3. Ce qui suit est un rapport de scan nmap pour les ports ouverts :

Démarrage de Nmap 4.11 ( http://www.insecure.org/nmap/ ) à 2009-08-31 10:56 EDT
Ports intéressants sur localhost.localdomain (127.0.0.1) :
Non montré : 1668 ports fermés
SERVICE D'ÉTAT PORTUAIRE
21/tcp open ftp
22/tcp ouvrir ssh
25/tcp ouvrir smtp
80/tcp open http
110/tcp ouvrir pop3
143/tcp ouvrir imap
225/tcp ouvert inconnu
443/tcp ouvrir https
631/tcp open ipp
993/tcp ouvrir imaps
995/tcp ouvrir pop3s
3306/tcp ouvrir mysql

Voilà, je sais que ce n'est pas très sûr dans son état actuel. J'ai fait des recherches pendant des jours et avant de mettre en œuvre ou de modifier quoi que ce soit d'autre dans cette configuration, j'aimerais avoir l'avis de professionnels. J'espère que notre économie va rebondir et que ce travail de sécurité stressant sera confié à quelqu'un de plus qualifié qu'un simple développeur C#.

Merci d'avance !

2voto

Grant Johnson Points 968

Il y a plusieurs choses que je suggérerais :

  • Je commencerais par désactiver tous les services inutilisés (tels que pop3 et imap). Cela réduira considérablement votre surface d'attaque. Si vous devez laisser un service actif, bloquez-le par le pare-feu pour toute source externe.
  • De même, pré-remplir l'empreinte de la clé du serveur SSH ou la donner d'une manière ou d'une autre au responsable. Assurez-vous qu'il/elle ne se connectera pas à la machine à moins que l'empreinte ne corresponde réellement, sinon une attaque de type man-in-the-middle peut être réalisée.
  • Envisagez d'utiliser sudo au lieu du bon vieux su et limitez ce que le responsable du développement peut faire. N'assouplissez la politique de sécurité que si l'accès est justifié par une raison légitime.

Dans toutes les circonstances éviter FTP. SSH a un support intégré pour le transfert de fichiers, n'utilisez donc pas du tout FTP. Il envoie les informations d'identification (nom d'utilisateur/mot de passe) et les fichiers en clair, de sorte que n'importe qui sur le même réseau peut intercepter toutes les données.

Considérez ceci comme le point de départ de votre voyage amusant : ).

0 votes

Merci pour la réponse ! Suggérez-vous SCP ou SFTP en remplacement de FTP ?

0 votes

@Chase, l'un ou l'autre est bon, ils sont similaires dans la mesure où ils fonctionnent sur le même port et agissent de la même manière en ce qui concerne le transfert de fichiers. SCP est supposé être plus rapide, mais SFTP vous permet d'émuler un système de fichiers entre autres choses.

2voto

Considérez également les guides fournis par la National Security Agency, les personnes responsables de Security Enhanced Linux. Ils couvrent RedHat (et CentOS) 5.3, Mac, Windows, Solaris. Utilisez le guide à l'adresse suivante : http://www.nsa.gov/ia/_files/ . (Soyez paranoïaque : tapez l'url dans votre navigateur au lieu de suivre les liens).

L'utilisation des listes de contrôle d'accès n'est pas abordée dans le guide. Vous trouverez cela sur . Google "red hat acl. Cela améliore radicalement le contrôle d'accès basé sur *nix en vous donnant beaucoup plus de flexibilité pour autoriser ou interdire l'accès. Il faut un peu de temps pour s'y habituer mais cela en vaut la peine.

"Ports inutilisés" Votre message ne disait pas si vous nécessaire ces applications. Cependant, à moins que cela ne soit absolument nécessaire (c'est-à-dire qu'il n'y ait pas d'autre moyen de le faire), je désactiverais l'accès à tout. Il semble que vous ayez besoin de http et de ssh, mais tout le reste devrait avoir une solution de contournement si vous en avez besoin. (par exemple, mysql est accessible via la ligne de commande après ssh dans la machine. Si vous avez besoin de quelque chose de plus, vous pouvez utiliser le transfert de port SSH, etc.)

Autres considérations :

  • Je ne sais pas pour la subversion, mais GIT (contrôle de source distribué) utilise SSH.
  • Il existe plusieurs façons d'utiliser transfert de fichiers plus sécurisé que au ftp.
  • D'après les études, il est pratiquement garanti que la machine Windows est compromise, donc ne faites jamais entièrement confiance ni à la machine ni à l'utilisateur.
  • Si vous avez les ressources matérielles (par exemple, suffisamment de CPU et de RAM, utilisez des virtuelles pour partitionner davantage les services (puis exécutez SELinux sur ces hôtes).
  • Le guide de la NSA recommande le pare-feu qui verrouillent les ports. Les autres options sont le rôle propre (c'est-à-dire basé sur le guide de masquage à le Linux Documentation Project).

Si la sécurité physique du système ou des lecteurs est remise en question, envisagez d'utiliser l'option de cryptage LUKS, facile à utiliser, pendant l'installation. Ensuite, il y a la sécurité de la sauvegarde. Bon voyage.

Eric Chowanski

0voto

Hurda Points 614

Envisagez d'utiliser un outil de durcissement tel que Bastille . CentOS est essentiellement un RedHat relooké, et en tant que tel, il est compatible binairement, donc pour la plupart, toutes les instructions pour le même numéro de version de RHEL devraient fonctionner pour CentOS.

Une autre bonne ressource spécifique à CentOS est le Protection de l'OS page wiki.

L'analyse la plus approfondie consisterait à suivre l'évolution de la situation de l'UE. Référence CIS .

0 votes

Wow. Excellente ressource ! Je suis en train de télécharger le pdf du CIS.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X