
|
[an error occurred while processing this directive]
|
Tutorial : Installation sécurisée, automatisée en globalité ou manuelle de Apache pour Linux avec Openssl, Php4, Mysql, Mod_ssl, Mod_rewrite, Mod_perl , DSO & Mod_security avec les rêgles de l'IDS Snort
Note : Ce tutorial a été mis à jour le 16 juin 2004 à 15:38 pour la sortie de la version stable 1.8 de mod_security + activation par défaut du chroot dans la partie automatisée.
Par Xavier Poli, SecuObs.com
Le 03/05/2004
|
|
Pages : 1 - 2 - 3 - 4 - 5 - 6 - 7
----------------------------------------
Ce tutoriel va vous permettre d'installer, de configurer et de sécuriser ces éléments. Nous vous conseillons pour gagner du temps de d'abord le lire ou tout du moins suvoler dans son intégralité afin d'en comprendre les tenants et les aboutissants. De nombreuses procédures d'automatisation vous sont également proposées. L'ensemble à installer est constitué de la sorte :
- Le serveur web Apache initialement basé sur le code de NCSA httpd 1.3, il est aujourd'hui plus évolué & considéré comme un standart autant en terme de performance, de fonctionnalité et de rapidité. C'est le serveur web le plus répandu (cf. Netcraft).
- Le patch apache-patch_HARD_SERVER_LIMIT.txt qui vous permettra d'accepter 512 clients en simultané plutot que les 256 par défaut en augmentant le hard server limit dans le fichier /usr/src/apache-1.3.31/src/include/httpd.h, qui est limité pour des sites de volume moyen ou important. Le contenu du patch :
--- httpd.h-old Wed Jan 31 00:58:19 2001
+++ httpd.h Wed Jan 31 01:09:25 2001
@@ -314,7 +314,7 @@
#ifdef WIN32
#define HARD_SERVER_LIMIT 1024
#else
-#define HARD_SERVER_LIMIT 256
+#define HARD_SERVER_LIMIT 512
#endif
#endif |
- Openssl offre les librairies et les fichiers d'entête nécessaires à mod_ssl. Il permet également de créer des certificats client ou serveur. SSL ("Secure Socket Layer") est un protocole permettant la transmission sécurisée de données tout en assurant l'authentification, la confidentialité et l'intégrité de ces données.
- Mod_ssl est un module Apache qui offre des fonctions de chiffrement fort aux serveurs Apache à travers les protocoles SSL v2/v3 et TLS v1. TLS ("Transport Layer Security") est un protocol de sécurisation de la couche transport.
- PHP ("Hypertext Preprocesseur" ou "Pre-HyperTexte-Processor") pour créer des pages web dynamiques et les interfacer par exemple avec vos bases de données.
- Mysql qui est un serveur de bases de données SQL ("Structured query language") ; le SQL est un langage de définition, de manipulation et de contrôle de données.
- Mod_security est un module pour Apache qui permet de mettre en place un système de détection d'intrusion et de prévention pour vos applications web à travers un moteur s'interfaçant directement avec le serveur apache.
- Mod_rewrite offre la possibilité de réécrire à la volée les localisateurs de type URL ("Uniform Resource Locator").
- Mod_perl est un module pour Apache qui y incorpore un interpréteur Perl. Apache peut alors directement éxécuter les scripts basés sur ce language. La bibliothèque d'exploitation Perl est lié au serveur apache par l'intermédiaire de Mod_perl. L'éxécution des CGI notamment est rendue plus rapide par le fait qu'un interpréteur externe n'a pas à être appelé.
Vous trouverez également un script PERL snort2modsec.pl qui vous permettra de convertir les rêgles du systèmes Opensource de détection d'intrusion Snort en rêgles pour mod_security, rêgles obtenues directement depuis la release courante snortrules-snapshot-CURRENT sur le site de Snort.
Snort est un système Opensource de détection d'intrusion sur les réseau IP qui permet de recevoir des alertes contre toutes tentatives d'intrusion dans votre réseau, vous avez également la possibilité dans Snort d'effectuer des actions lors d'une detection.
PERL (Practical Extraction and Report Language) est un language de programmation gratuit, interprété, portable qui a pour réputation sa robustesse, sa fléxibilité et sa simplicité d'utilisation face à des language plus complexes.
Ce tutorial est soumis au changement dans le temps des versions de chacun de ces logiciels en fonction des hotfixs notamment au niveau de la récupération des sources, le principe restant essentiellement le même.
-----------------------------------------------------------------------------------------------------------------
Dans un premier temps, vous devez récupérer les sources de l'ensemble de ces programmes snortrules-snapshot-CURRENT, snort2modsec.pl, mod_security-1.7.6, apache_1.3.31, mod_ssl-2.8.18-1.3.31, php-4.3.6, openssl-0.9.7d, mysql-3.23.58, mod_perl-1.0:
cd /usr/src/
rm -fr /usr/src/snort2modsec.pl
rm -fr /usr/src/mod_security-1.8.tar.gz
rm -fr /usr/src/apache_1.3.31.tar.gz
rm -fr /usr/src/mod_ssl-2.8.18-1.3.31.tar.gz
rm -fr /usr/src/php-4.3.6.tar.gz
rm -fr /usr/src/openssl-0.9.7d.tar.gz
rm -fr /usr/src/mysql-3.23.58.tar.gz
rm -fr /usr/src/snortrules-snapshot-CURRENT.tar.gz
rm -fr /usr/src/apache-patch_HARD_SERVER_LIMIT.txt
rm -fr /usr/src/mod_perl-1.0-current.tar.gz
rm -fr /usr/src/mod_security-1.8
rm -fr /usr/src/apache_1.3.31
rm -fr /usr/src/mod_ssl-2.8.18-1.3.31
rm -fr /usr/src/php-4.3.6
rm -fr /usr/src/openssl-0.9.7d
rm -fr /usr/src/mysql-3.23.58
rm -fr /usr/src/rules
rm -fr /usr/src/apache-patch_HARD_SERVER_LIMIT.txt
rm -fr /usr/src/mod_perl-1.29/
wget http://www.modsecurity.org/documentation/snort2modsec.pl
wget http://www.modsecurity.org/download/mod_security-1.8.tar.gz
wget http://apache.crihan.fr/dist/httpd/apache_1.3.31.tar.gz
wget http://www.modssl.org/source/mod_ssl-2.8.18-1.3.31.tar.gz
wget http://fr2.php.net/get/php-4.3.6.tar.gz/from/fr.php.net/mirror
wget http://www.openssl.org/source/openssl-0.9.7d.tar.gz
wget ftp://ftp.inria.fr/pub/MySQL/Downloads/MySQL-3.23/mysql-3.23.58.tar.gz
wget http://www.snort.org/dl/rules/snortrules-snapshot-CURRENT.tar.gz
wget http://www.delouw.ch/linux/apache-patch_HARD_SERVER_LIMIT.txt
wget http://perl.apache.org/dist/mod_perl-1.0-current.tar.gz
|
Vous pouvez tout récupérer d'un coup avec le fichier suivant. Nommez le wget.sh, passez un chmod +x wget.sh, placer le dans /usr/src/ puis éxécutez le avec la commande ./wget.sh en vous plaçant au préalable dans /usr/src/.
#!/bin/sh
rm -fr /usr/src/snort2modsec.pl
rm -fr /usr/src/mod_security-1.8.tar.gz
rm -fr /usr/src/apache_1.3.31.tar.gz
rm -fr /usr/src/mod_ssl-2.8.18-1.3.31.tar.gz
rm -fr /usr/src/php-4.3.6.tar.gz
rm -fr /usr/src/openssl-0.9.7d.tar.gz
rm -fr /usr/src/mysql-3.23.58.tar.gz
rm -fr /usr/src/snortrules-snapshot-CURRENT.tar.gz
rm -fr /usr/src/apache-patch_HARD_SERVER_LIMIT.txt
rm -fr /usr/src/mod_perl-1.0-current.tar.gz
rm -fr /usr/src/mod_security-1.8
rm -fr /usr/src/apache_1.3.31
rm -fr /usr/src/mod_ssl-2.8.18-1.3.31
rm -fr /usr/src/php-4.3.6
rm -fr /usr/src/openssl-0.9.7d
rm -fr /usr/src/mysql-3.23.58
rm -fr /usr/src/rules
rm -fr /usr/src/apache-patch_HARD_SERVER_LIMIT.txt
rm -fr /usr/src/mod_perl-1.29/
wget http://www.modsecurity.org/documentation/snort2modsec.pl
wget http://www.modsecurity.org/download/mod_security-1.8.tar.gz
wget http://apache.crihan.fr/dist/httpd/apache_1.3.31.tar.gz
wget http://www.modssl.org/source/mod_ssl-2.8.18-1.3.31.tar.gz
wget http://fr2.php.net/get/php-4.3.6.tar.gz/from/fr.php.net/mirror
wget http://www.openssl.org/source/openssl-0.9.7d.tar.gz
wget ftp://ftp.inria.fr/pub/MySQL/Downloads/MySQL-3.23/mysql-3.23.58.tar.gz
wget http://www.snort.org/dl/rules/snortrules-snapshot-CURRENT.tar.gz
wget http://www.delouw.ch/linux/apache-patch_HARD_SERVER_LIMIT.txt
wget http://perl.apache.org/dist/mod_perl-1.0-current.tar.gz
|
-----------------------------------------------------------------------------------------------------------------
Passez maintenant à l'installation de openssl-0.9.7d :
rm -fr /usr/local/ssl/
cd /usr/src/
tar -zxvf openssl-0.9.7d.tar.gz
chown -R root.root openssl-0.9.7d
cd openssl-0.9.7d
./config shared
make
make install
echo "/usr/local/ssl/lib" >> /etc/ld.so.conf
ldconfig |
Vous pouvez installer ce qui a trait à openssl d'un seul coup avec le fichier suivant. Nommez le openssl.sh, passer un chmod +x openssl.sh, placez le dans /usr/src/ puis éxécutez le avec la commande ./openssl.sh en vous plaçant au préalable dans /usr/src/
#!/bin/sh
rm -fr /usr/local/ssl/
cd /usr/src/
tar -zxvf openssl-0.9.7d.tar.gz
chown -R root.root openssl-0.9.7d
cd openssl-0.9.7d
./config shared
make
make install
echo "/usr/local/ssl/lib" >> /etc/ld.so.conf
ldconfig
|
-----------------------------------------------------------------------------------------------------------------
Le serveur de base de donnée mysql-3.23.58 ensuite :
groupadd mysql
adduser -g mysql -d /usr/local/mysql mysql
rm -fr /usr/local/mysql/
mkdir /usr/local/mysql/
mkdir /usr/local/mysql/data/
mkdir /usr/local/mysql/tmp/
mkdir /usr/local/mysql/var/
cd /usr/src/
tar -zxvf mysql-3.23.58.tar.gz
cd mysql-3.23.58
./configure --prefix=/usr/local/mysql --localstatedir=/usr/local/mysql/data --with-unix-socket-path=/usr/local/mysql/tmp/mysql.socket
make
make install
chown -R mysql.mysql /usr/local/mysql
chmod 700 /usr/local/mysql/data
chmod 700 /usr/local/mysql/var
chmod 755 /usr/local/mysql/tmp |
Vous pouvez installer ce qui a trait à mysql d'un seul coup avec le fichier suivant, nommez le mysql.sh, passez un chmod +x mysql.sh, placer le dans /usr/src/ puis éxécutez le avec la commande ./mysql.sh en vous plaçant au préalable dans /usr/src/
#!/bin/sh
groupadd mysql
adduser -g mysql -d /usr/local/mysql mysql
rm -fr /usr/local/mysql/
mkdir /usr/local/mysql/
mkdir /usr/local/mysql/data/
mkdir /usr/local/mysql/tmp/
mkdir /usr/local/mysql/var/
cd /usr/src/
tar -zxvf mysql-3.23.58.tar.gz
cd mysql-3.23.58
./configure --prefix=/usr/local/mysql --localstatedir=/usr/local/mysql/data --with-unix-socket-path=/usr/local/mysql/tmp/mysql.socket
make
make install
chown -R mysql.mysql /usr/local/mysql
chmod 700 /usr/local/mysql/data
chmod 700 /usr/local/mysql/var
chmod 755 /usr/local/mysql/tmp |
Pages : 1 - 2 - 3 - 4 - 5 - 6 - 7
----------------------------------------
|
|
|
|
|
| Mini-Tagwall | | | |
Revue de presse : security, microsoft, windows, hacker, attack, network, vulnerability, google, exploit, malware, internet, remote, iphone
+ de mots clés pour la revue de presse
Annuaires des videos : vmware, security, virus, biometric, windows, lockpicking, password, metasploit, botnet, tutorial, crypt, attack, linux
+ de mots clés pour les videos
Revue Twitter : security, linux, botnet, attack, metasploit, cisco, defcon, phish, exploit, google, inject, server, firewall
+ de mots clés pour la revue Twitter
| | |
|
|