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

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

Plus en détail