Je souhaite héberger un petit site à la maison et installer Apache, etc. comme ceci:
Sudo apt-get update
Sudo apt-get install tasksel
Sudo tasksel install lamp-server
Tout cela a fonctionné et tout est opérationnel.
Maintenant, je suis habitué à travailler avec XAMPP pour développer et je ne voulais pas utiliser ça en direct, car de nombreuses références disaient qu’il n’était pas très sécurisé.
Donc ma question est, maintenant que j'ai Apache/PHP & MySql installé par la méthode ci-dessus; comment est le niveau de sécurité par défaut?
Y a-t-il des moyens de le rendre plus sûr et peut-être une liste de contrôle ou une liste des modifications qui pourraient être recommandées?
Précision: le serveur LAMP serait un site actif et non en développement.
J'exécute mes propres serveurs LAMP sur Ubuntu, qui est connecté à Internet. Je respecte donc toujours les mêmes règles. D'habitude, je vérifierai ce qui suit:
/etc/Apache2/conf-enabled/Apache2-doc.conf
)/etc/Apache2/mods-enabled
. Chaque lien pointe vers un fichier du répertoire /etc/Apache2/mods-available
qui charge et configure un module à la fois./etc/Apache2/conf-available/security.conf
. Ils proposent des astuces de sécurité, qui ne sont pas activées par défaut:/etc/php4/Apache2/php.ini
fichier. Les commentaires dans le fichier donnent beaucoup d'informations sur ce qu'il est préférable de faire)Pas besoin d'exposer votre serveur MySQL à Internet. Par défaut, dans Ubuntu, le serveur Mysql n’écoute que sur localhost. Vérifiez /etc/mysql/my.cnf
dans la section mysqld pour le paramètre bind-address . Il devrait être sur 127.0.0.1:
bind-address = 127.0.0.1
N'installez pas plus de services sur ce serveur que ce dont vous avez besoin.
Ce sont les premières choses qui me viennent à l’esprit. Vous pouvez bien sûr trouver des guides et des guides plus détaillés sur Internet:
Voici ce que je fais généralement après une configuration LAMP: (for development use, not production
)
Désactivez Apache2 à partir de démarrer automatiquement:
Sudo update-rc.d Apache2 disable
Lorsque vous voulez utiliser, vous pouvez commencer par:
Sudo service Apache2 start
Désactiver mysql à partir de démarrer automatiquement:
echo "manual" | Sudo tee /etc/init/mysql.override
Lorsque vous voulez utiliser, vous pouvez commencer par:
Sudo service mysql start
Bloquez les ports entrants 80 et 3306 sur le pare-feu pour protéger votre LAMP contre l’invasion:
Sudo iptables -A INPUT -p tcp --dport 80 -j DROP
Sudo iptables -A INPUT -p tcp --dport 3306 -j DROP
(En fait, je bloque tous les ports entrants sauf quelques critiques, mais la sécurité de Linux est un sujet différent!)