Chrooter apache
Matériel
Ajout disque dur
Ajout carte
Audit des disques durs
Gestion des peripheriques
Disquette d'installation
Ajout d'un scanner
Astuces
Ajout d'une imprimante
Réseau
Configuration reseau
Dns
Serveur cvs
Proxy squid 
Installation serveur ftp
Installation qmail 
Installation serveur courrier sous debian
Outil TCP/IP 
Le serveur samba
Connexion a distance securisee
Client/serveur vnc
Configurer apache
Dyndns
Sécurité
Chiffrer un fichier/dossier
Securiser son poste
Mur pare feu pas a pas
Authentification ht-access
Surveillance de serveur CACTI
Snort
Snort-inline
Securiser Apache avec mod_security
Filtrage squid/squidguard/dansguardian
Auditer son site web
Sécuriser son linux
Installer un Lamp avec ssl
Contrer les scans de ports
Traitement anti-spam
Installer/Utiliser tripwire
Faire des sauvegardes incrémentales
Rsync
Nessus
Divers
Elisa, le multimédia facile
Utilisation de lilo
Les commandes Linux
Le multi-tache
Le crontab
Exploration de la configuration
Quotas
Messagerie
Installer une application
Debugger ses applications
Le format RPM
Mise a jour du noyau
Qemu
Tour d'horizon des principaux p2p
Récupération du système
Bips d'un pc
Astuces windows
Table Ascii
Lamerland
Conversion de fichiers musicaux
Compiler ses rpms
Graver en ligne de commande
Graver un fichier avi pour un dvd de salon
Liens
hakin9
Secureroot.com
Hackerthreads.org
Defcon
Hackerlounge
Les derniers exploits
Tous les codes sources
Securite sous Linux
Les logiciels libres quotidiens
Ezine divers
Madchat
Textes divers
Archives
 
Traductions LG
Toutes les traductions
Traductions Phrack
Toutes les traductions

Il y a actuellement 2 visiteurs connectés sur le site !

Google

Installer un LAMP avec ssl
Installer un LAMP avec ssl

 

Introduction
Pre-requis
Installation
Ssl
Configuration apache pour ssl et virtual host

 

Introduction

J'avais tout d'abord dans l'idée de monter un serveur apache avec certaines données sensibles mais néanmoins accessibles au web et que je placerai dans un répertoire sécurisé . Après diverses recherches ,il apparaît que la protection par .htaccess ,ou bien par authentification http (via un script php) fait transiter les données en clair par le protocole http et n'offre pas une sécurisation bien élevée . Je me suis donc orienté vers une solution ménageant la chèvre et le chou : un accès normal via http pour mon site d'aide , accessible sans mot de passe ,ni protection. un accès via https, pour mon autre site ,accessible a des personnes bien définies.

Prérequis:

Procurez vous les applications sources suivantes
httpd-2.0.54
php-5.0.5/
mysql-4.1.13
openssl-0.9.8
Il vous faudra sans doute quelques rpm (ou deb) relatifs aux librairies que vous souhaiterez compiler avec php: zlib, jpeg,t1lib etc.....

J'ai toujours apprécie de compiler mes applications LAMP ,afin de pouvoir affiner ultérieurement ma configuration (rajout de modules apache) et aussi parce que j'ai du mal avec les RPM a voir ou ces derniers placent leurs fichiers . Ceci n'engageant que moi ,nul doute que pour la plupart des utilisateurs une installation via RPM,ou DEB serait plus conviviale (mot à la mode qui évite toute méningite à l'installation)

Installation:

1/Mysql

shell> groupadd mysql
shell> useradd -g mysql mysql
shell> gunzip < mysql-VERSION.tar.gz | tar -xvf -
shell> cd mysql-VERSION
shell> ./configure --prefix=/usr/local/mysql
shell> make
shell> make install
shell> cp support-files/my-medium.cnf /etc/my.cnf
shell> cd /usr/local/mysql
shell> bin/mysql_install_db --user=mysql
shell> chown -R root .
shell> chown -R mysql var
shell> chgrp -R mysql .
shell> bin/mysqld_safe --user=mysql &

si il y a une erreur au lancement If faut modifier dans le fichier my.cnf la ligne #tmpdir=/tmp/ (en tant que commentaire vu le #)

2/apache

cd httpd-2.0.54
make distclean
./configure --prefix=/usr/local/apache2 --enable-ssl --enable-mods-shared=all
make
make install
Apache doit être configuré avec l'option --enable-ssl

3/php

tar -vzxf php-5.0.5.tar.gz
cd php-5.0.5
./configure --with-mysql=/usr/local/mysql --with-apxs2=/usr/local/apache2/bin/apxs --with-zlib=/usr --with-gd --with-png=/usr --with-jpeg=/usr --enable-png --enable-jpeg --with-ttf --with-t1lib --enable-gd-native-ttf --enable-dbase --with-dom=shared --with-dom-xslt=shared --with-dom-exslt=shared --with-iconv
make
make install
cp php.ini-dist /usr/local/lib/php.ini

Ssl:

Avant de démarrer le serveur apache, vous devez toutefois créer les certificats pour apache ssl Voici quelques étapes basiques pour faire un certificat auto-signé a des fins de tests
1/ mkdir ssl; chown root:root ssl; chmod 700 ssl; cd ssl
créer un répertoire protégé pour ssl ou on mettre les fichiers KEY, CSR, et CRT
2/ openssl genrsa -des3 1024 > www.xxx.com.key
Générer la clef. Si vous ne désirez pas faire un certificat réel, ce fichier est très important. Ne le perdez pas et ne laissez pas dans de mauvaises mains. Cela vous coûtera au moins un nouveau certificat et le piratage de vos données protégées par la paire certificat/clé. Note au sujet des 3 options: spécification de l'option permettant d'encrypter ultérieurement la clé avec une pass phrase. Cela offre une protection accrue, car même si la clé est volée ,on est encore protégé. Cela a pour inconvénient a chaque fois qu'on démarre le serveur (apachectl startssl), d'être physiquement devant la console et d'entrer la pass phrase
3/ openssl req -new -key www.xxx.com.key > www.xxx.com.csr
Création du Certificat Signing Request (CSR). Le Common Name (CN) spécifié ici doit concorder avec l'adresse du serveur, (server.com et www.server.com sont par exemple différents).
4/ openssl req -x509 -days 30 -key www.xxx.com.key -in www.xxx.com.csr > www.xxx.com.crt
Auto-signe votre certificat comme si vous étiez un Certificate Authority (CA).
5/ chown root.root *; chmod 400 * Protection ultérieure des fichiers KEY, CSR et CRT

Configuration apache pour ssl et virtual host

Il vous faut maintenant modifier votre fichier ssl.conf d'apache2 pour tenir compte du chemin de ces nouveaux fichiers:
#SSLCertificateFile /usr/local/apache2/conf/ssl.crt/server-dsa.crt
deviendra chez moi
SSLCertificateFile /home/deny/ssl/www.mesvoyages.org.crt et de même pour
SSLCertificateKeyFile /home/deny/ssl/www.mesvoyages.org.key

Configurer ensuite vos virtuals hosts J'ai désiré ,pour ma part ,configurer un nom de domaine en http , et un autre en https Le https est configuré de la sorte dans ssl.conf

#afin de binder le port https
# General setup for the virtual host
DocumentRoot "/home/deny/host"
ServerName www.mondomaine.org:443
ServerAdmin admin@toto.net
ErrorLog /home/deny/host/error_log
TransferLog /home/deny/host/access_log
# SSL Engine Switch:
# Enable/Disable SSL for this virtual host.
SSLEngine on

etc..............
et mon second en mode non sécurisé est configuré de la sorte dans httpd.conf:


ServerAdmin admin@toto.net
DocumentRoot /home/deny/host
ServerName linux-pour-lesnuls.com
ErrorLog /home/deny/error_log
CustomLog /home/deny/access.log combined

Ne pas oublier de relancer apache avec un : /usr/local/apache2/bin/apachectl startssl
Bon linux !


 

Forum
Forum d'entraide
Blog
Le blog
Boutique
La boutique du Geek
Php/Mysql
Formulaire en php
Administrer un serveur Mysql
Session en php
Gerer ses bases mysql
Les bases php
Securiser ses scripts PHP
Controler ses programmes avec RATS
Convertir une base sql en utf8
Astuces php
Le fichier php.ini
Programmation
Python rapide
Tutorial Python
Tutorial Perl
Tutorial Perl complet
Tutoriel ruby
Tutoriel C
Introduction à gawk
Filtres et utilitaires
Find
Programmation Shell
Ecriture de scripts bash
Expressions regulieres
Vi
Introduction a Javascript
Compiler avec gcc
Astuces en Bash
Cracking
Tutoriel Assembleur
Guide du cracking pour débutant
Assembleur
Manual Unpacking
Techniques de Protection
Différentes failles Web
Arp spoofing dans un réseau switché
Les intrusions
Les attaques externes
Defacage
Defacage complet
Buffer overflow
Netcat
Injection sql
Injection sql(suite)
John the Ripper
Spoofer un email
Utiliser google
La faille system
Usurper une identité
Le rooting
Shellcode sous Unix
La faille race condition
La faille xss
La faille xss (2)
Attaques sur un routeur
P2P
Azureus pas-a-pas
News
Lire les news de Linux-pour-lesnuls.com au format RSS
Distros
Gestion des paquets debian
101 commandes debian
Jeu
Webtarot
Graphisme
Effet neon dans GIMP
Effet vapeur dans GIMP
Cours fonctionnalités de GIMP
Redimentionner une image avec GIMP
Redimentionner une photo pour en faire un cadre avec gimp
Morphing avec gimp
Détourer avec gimp
Réduire le poids d'une image avec gimp
Humour
Ensemble
Divers