son - sécuriser un serveur linux pdf




Sécuriser un serveur web linux pour un accès public (8)

C'est sûr et sécurisé si vous gardez votre voix à ce sujet (c.-à-d., Rarement quelqu'un viendra-t-il après votre serveur domestique si vous hébergez simplement un webroot glorifié sur une connexion domestique) et votre intelligence de votre configuration (c.-à-d. pour tout, assurez-vous de garder votre logiciel à jour).

Sur cette note, bien que ce fil risque de diminuer jusqu'à flaming, ma suggestion pour votre serveur personnel est de coller à n'importe quoi Ubuntu ( obtenir Ubuntu Server ici ); dans mon expérience, le plus rapide pour obtenir des réponses d'où poser des questions sur les forums (ne sais pas quoi dire à propos de l'adoption si).

La sécurité de mon serveur domestique BTW profite un peu (je pense, ou j'aime penser) de ne pas avoir d'IP statique (fonctionne sur DynDNS).

Bonne chance!

/ mp

Je voudrais installer une box Linux bon marché en tant que serveur web pour héberger une variété de technologies web (je pense à PHP & Java EE, mais j'aimerais aussi expérimenter avec Ruby ou Python à l'avenir).

Je suis assez versé dans la configuration de Tomcat pour fonctionner sur Linux pour servir des applications Java EE, mais j'aimerais pouvoir ouvrir ce serveur, même juste pour pouvoir créer des outils que je peux utiliser pendant que je travaille le bureau. Toute l'expérience que j'ai eu avec la configuration des sites Java EE a été pour les applications intranet où on nous a dit de ne pas nous concentrer sur la sécurisation des pages pour les utilisateurs externes.

Quel est votre conseil pour configurer un serveur Web personnel Linux de manière suffisamment sécurisée pour l'ouvrir au trafic externe?


Cet article a quelques-unes des meilleures façons de verrouiller les choses:

http://www.petefreitag.com/item/505.cfm

Quelques faits saillants

  • Assurez-vous que personne ne peut parcourir les répertoires
  • Assurez-vous que seule la racine a des droits d'écriture sur tout, et que seule la racine a des privilèges de lecture sur certains fichiers de configuration
  • Exécuter mod_security

L'article prend également quelques indications de ce livre:

Apache Securiy (O'Reilly Press)

En ce qui concerne les distributions, j'ai lancé Debain et Ubuntu, mais cela dépend de ce que vous voulez faire. J'ai couru Debian sans X et juste ssh'd dedans chaque fois que j'avais besoin de quelque chose. C'est un moyen simple de réduire les frais généraux. Ou Ubuntu a de jolies choses qui facilitent le contrôle d'Apache / MySQL / PHP.


Vous pourriez envisager une instance EC2 d'Amazon . De cette façon, vous pouvez facilement tester "choses" sans perturber la production. Et ne payez que pour l'espace, l'heure et la bande passante que vous utilisez.


Wow, vous ouvrez une boîte de Pandore dès que vous commencez à ouvrir quoi que ce soit jusqu'au trafic externe. Gardez à l'esprit que ce que vous considérez comme un serveur expérimental, presque comme un agneau sacrificiel, est également un choix facile pour les personnes qui cherchent à faire de mauvaises choses avec votre réseau et vos ressources.

Votre approche globale d'un serveur externe doit être très conservatrice et approfondie. Il commence par des choses simples comme les politiques de pare-feu, inclut le système d'exploitation sous-jacent (en le gardant corrigé, en le configurant pour la sécurité, etc.) et implique chaque couche de chaque pile que vous utiliserez. J'ai peur, il n'y a pas de réponse ou de recette simple.

Si vous voulez expérimenter, vous ferez beaucoup mieux de garder le serveur privé et d'utiliser un VPN si vous avez besoin de travailler à distance.


Il est important de suivre les meilleures pratiques en matière de sécurité dans la mesure du possible, mais vous ne voulez pas vous compliquer la vie ou vous empêcher de dormir en vous souciant des derniers exploits. Dans mon expérience, il y a deux choses clés qui peuvent aider à garder votre serveur personnel assez sécurisé pour lancer sur Internet tout en conservant votre santé mentale:

1) La sécurité par l'obscurité

Inutile de dire que se fier à cela dans le «monde réel» est une mauvaise idée et ne doit pas être amusé. Mais c'est parce que dans le monde réel, les méchants savent ce qu'il y a et qu'il y a du butin à avoir.

Sur un serveur personnel, la majorité des «attaques» que vous subirez seront simplement des balayages automatisés à partir de machines déjà compromises, à la recherche d'installations par défaut de produits connus pour être vulnérables. Si votre serveur n'offre rien d'attirant sur les ports par défaut ou dans les emplacements par défaut, l'attaquant automatisé se déplacera. Par conséquent, si vous voulez exécuter un serveur ssh, placez-le sur un port non standard (> 1024) et il est probable qu'il ne sera jamais trouvé. Si vous pouvez vous en sortir avec cette technique pour votre serveur web, alors passez à un port obscur.

2) Gestion des paquets

Ne compilez pas et installez Apache ou sshd depuis la source, sauf si vous devez absolument le faire. Si vous le faites, vous prenez la responsabilité de vous tenir au courant des derniers correctifs de sécurité. Laissez les gentils mainteneurs de paquets des distributions Linux comme Debian ou Ubuntu faire le travail pour vous. Installer à partir des paquets précompilés de la distribution, et rester à jour devient une question d'émission occasionnelle de la commande apt-get update && apt-get -u dist-upgrade , ou en utilisant n'importe quel outil graphique Ubuntu fourni.


Si vous exécutez un serveur Linux depuis chez vous, installez Ossec sur celui-ci pour obtenir un bon IDS léger qui fonctionne très bien.

[MODIFIER]

En guise de note, assurez-vous de ne pas aller à l'encontre de la politique d'utilisation acceptable de votre FAI et d' autoriser les connexions entrantes sur les ports standards. Le FAI pour lequel je travaillais avait écrit dans ses termes que vous pourriez être déconnecté pour l'exécution de serveurs sur le port 80/25, sauf si vous étiez sur un compte de classe affaires. Bien que nous n'ayons pas bloqué activement ces ports (nous nous en foutions sauf si cela causait un problème), certains FAI n'autorisent aucun trafic sur le port 80 ou 25, donc vous devrez utiliser des ports alternatifs.


Bit-Tech.Net a publié quelques articles sur la configuration d'un serveur domestique utilisant Linux. Voici les liens:

Article 1
Article 2

J'espère que ceux-ci ont de l'aide.


Si vous allez faire cela, dépensez un peu d'argent et achetez au moins un routeur / pare-feu dédié avec un port DMZ séparé. Vous aurez besoin de pare-feu de votre réseau interne à partir de votre serveur afin que lorsque (et non si!) Votre serveur web est compromis, votre réseau interne n'est pas immédiatement vulnérable.





webserver