Mise en Place d`un Serveur Web Sécurisé
Transcription
Mise en Place d`un Serveur Web Sécurisé
Mise en Place d’un Serveur Web Sécurisé HHTP + PHP + MySQL + SSL 1. Configuration des dépôts des logiciels sur Centos http://wiki.centos.org/AdditionalResources/Repositories/RPMForge Télécharger le package suivant votre configuration matérielle (64 ou 32 bits), i386 http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.i386.rpm x86_64 http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm Importer la clef # rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt Vérifier le package # rpm -K rpmforge-release-0.5.2-2.el5.rf.*.rpm Installer le package # rpm -i rpmforge-release-0.5.2-2.el5.rf.*.rpm 2. Installation de LAMP (Apache, MySQL, PHP) Installer le serveur Apache # yum install httpd httpd-devel httpd-devel pour compiler et installer des autres modules à partir des sources /etc/httpd/conf/httpd.conf est le fichier de configuration de base # /etc/init.d/httpd start Edition de fichier de configuration Répertoire racine : DocumentRoot "/var/www/html" Edition des informations de site <VirtualHost *:80> <Directory /var/www/vhosts/yoursite.com/httpdocs> AllowOverride All </Directory> DocumentRoot /var/www/vhosts/yoursite.com/httpdocs ServerName yoursite.com </VirtualHost> Mr. Mohamed Salah MEDDEB Mise en Place d’un Serveur Web Sécurisé 1 Installer MySQL yum install mysql mysql-server mysql-devel /etc/init.d/mysqld start Changement le mot de passe de MySQL pour root Par défaut le mot de passe de MySQL pour l’utilisateur root est vide. Pour assurer plus de sécurité sur votre serveur vous devez changer le mot de passe du root mysql> USE mysql; mysql> UPDATE user SET Password=PASSWORD('newpassword') WHERE user='root'; mysql> FLUSH PRIVILEGES; Vérification : mysql -u root -p Enter Password: <your new password> Création d’un nouveau utilisateur Pour créer un nouveau utilisateur ‘guest’ avec tous les privilèges sur la base des données ‘demo’ mysql > create database demo mysql >GRANT ALL PRIVILEGES ON demo.* TO 'guest'@'localhost' IDENTIFIED BY 'guest' WITH GRANT OPTION; mysql> UPDATE user SET Password=PASSWORD('guest') WHERE user='guest'; Installer PHP5 Plusieurs modules sont disponibles avec php, selon vos besoins choisissez c’est que vous en êtes besoin. yum install php php-mysql php-common php-gd php-mbstring php-mcrypt php-devel phpxml php-gd (gd library) est nécessaire pour executer les scripts captcha scripts sur le serveur. Restart Apache to load php. /etc/init.d/httpd restart Mr. Mohamed Salah MEDDEB Mise en Place d’un Serveur Web Sécurisé 2 Test Phpinfo.php <?php phpinfo(); ?> 3. HTTPS Installation des paquets nécessaires yum install mod_ssl openssl Génération du certificat via openssl # Generate private key openssl genrsa -out ca.key 1024 # Generate CSR openssl req -new -key ca.key -out ca.csr # Generate Self Signed Key openssl x509 -req -days 365 -in ca.csr -signkey ca.key -out ca.crt # Copy the files to the correct locations cp ca.crt /etc/pki/tls/certs cp ca.key /etc/pki/tls/private/ca.key cp ca.csr /etc/pki/tls/private/ca.csr Mise à jour du fichier de configuration d’apache SSL vi +/SSLCertificateFile /etc/httpd/conf.d/ssl.conf Changez le path « SSLCertificateFile » avec celui du certificat généré (ca.crt) SSLCertificateFile /etc/pki/tls/certs/ca.crt Changez le path « SSLCertificateKeyFile» avec celui de la clé générée (ca.key) SSLCertificateKeyFile /etc/pki/tls/private/ca.key Enregistrez et redémarrer le serveur Apache /etc/init.d/httpd restart Mr. Mohamed Salah MEDDEB Mise en Place d’un Serveur Web Sécurisé 3 Configuration des virtual hosts Comme vous avez configuré le VirtualHosts pour HTTP sur port 80, configurez un deuxième pour le HTTPS sur le port 443. Pour ajouter un deuxième site sur le port 443 vous devez ajouter la ligne suivante dans le fichier e configuration SSL NameVirtualHost *:443 Voici une exemple de configuration d’un VirtualHost <VirtualHost *:443> SSLEngine on SSLCertificateFile /etc/pki/tls/certs/ca.crt SSLCertificateKeyFile /etc/pki/tls/private/ca.key <Directory /var/www/vhosts/yoursite.com/httpsdocs> AllowOverride All </Directory> DocumentRoot /var/www/vhosts/yoursite.com/httpsdocs ServerName yoursite.com </VirtualHost> Redémarrer le serveur Apache /etc/init.d/httpd restart Configuration de firewall Ajoutez une nouvelle règle dans le firewall iptables -A INPUT -p tcp --dport 443 -j ACCEPT /sbin/service iptables save iptables -L -v Mr. Mohamed Salah MEDDEB Mise en Place d’un Serveur Web Sécurisé 4
Documents pareils
Installation de OCSNG Inventory sur CentOS v5.3
serveur apache. Si cela ne marche pas il y a de grande chance que cela soit dû à la règle iptables.
Modifiez le fichier de configuration de iptables:
www.beemoon.fr – page 2/7