Site Meter
jail apacheChrooter apache
Matériel
ajout de disqueAjout disque dur
ajout de carteAjout carte
auditAudit des disques durs
gestion perifGestion des peripheriques
disquette Disquette d'installation
ajout de scannerAjout d'un scanner
Ajout d'une imprimante
Astuces
astuces sous LinuxAstuces sous Linux
Pierre de rosette
Réseau
le reseau sous linuxConfiguration reseau
ajout des dnsDns
serveur cssServeur cvs
configuration squidProxy squid 
configuration ftpInstallation serveur ftp
configuration serveur courrierInstallation qmail 
courrier debianInstallation serveur courrier sous debian
outils tcp ipOutil TCP/IP 
configuration sambaLe serveur samba
sshConnexion a distance securisee
serveur vncClient/serveur vnc
configuration serveur apache Configurer apache
Dyndns
lamp sous linuxInstaller un LAMP sous mandriva
Sécurité
chiffrer un dossierChiffrer un fichier/dossier
securiser son pcSecuriser son poste
parefeuMur pare feu pas a pas
fichier ht accessAuthentification ht-access
configuration serveur cactiSurveillance de serveur CACTI
sonde snortSnort
sonde snort insideSnort-inline
securiser apacheSecuriser Apache avec mod_security
filtrage avec squidguardFiltrage squid/squidguard/dansguardian
auditer site webAuditer son site web
securité sous linuxSécuriser son linux
Installer un Lamp avec ssl
scan portsContrer les scans de ports
Traitement anti-spam
tripwireInstaller/Utiliser tripwire
faire des sauvegardesFaire des sauvegardes incrémentales
rsyncRsync
nessusNessus
Divers
multimedia Elisa, le multimédia facile
le chargeur lilo Utilisation de lilo
commandes sous linux Les commandes Linux
le multitache Le multi-tache
ordonnancement des tâches Le crontab
config Exploration de la configuration
gestion des quotas utilisateursQuotas
Messagerie
installer un programmeInstaller une application
deboguerDebugger ses applications
paquetage rpmLe format RPM
update noyauMise a jour du noyau
Qemu
les peer to peerTour d'horizon des principaux p2p
recuperationRécupération du système
Bips d'un pc
Astuces windows
tableTable Ascii
Lamerland
Conversion de fichiers musicaux
Compiler ses rpms
Graver en ligne de commande
Graver un fichier avi pour un dvd de salon
Récupérer des fichiers effacés
Gardez le contact avec Emesene
Raid logiciel
Liens
Notes php
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
Tchat gratuit
 
Traductions LG
Toutes les traductions
Traductions Phrack
Toutes les traductions

Il y a actuellement 6 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 !


 


RSS
S'abonner au flux rss
Le Blog
Le blog
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
Les filtres php
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
Décoder un shellcode
P2P
Azureus pas-a-pas
Debian
Gestion des paquets debian
101 commandes debian
Jeu
Webtarot
Graphisme
Enlever un élément gênant dans une photo
Effet neon dans GIMP
Découper une image avec 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
Ajouter un cadre avec GIMP
Morphing avec GIMP
Détourer avec GIMP
Réduire le poids d'une image avec GIMP
Caricature avec GIMP
Eclairage avec GIMP
Mettre en évidence avec GIMP
Pluie sur le château
Créer une onde de surface avec GIMP
Un aspect satiné avec GIMP
Impacts de balle avec GIMP
Réalisez votre démotivateur pour roxer sur Webtarot
Humour
Ensemble
Divers