Contribuez à SecuObs en envoyant des bitcoins ou des dogecoins.
Nouveaux articles (fr): 1pwnthhW21zdnQ5WucjmnF3pk9puT5fDF
Amélioration du site: 1hckU85orcGCm8A9hk67391LCy4ECGJca

Contribute to SecuObs by sending bitcoins or dogecoins.

Chercher :
Newsletter :  


Revues :
- Presse
- Presse FR
- Vidéos
- Twitter
- Secuobs





Sommaires :
- Tendances
- Failles
- Virus
- Concours
- Reportages
- Acteurs
- Outils
- Breves
- Infrastructures
- Livres
- Tutoriels
- Interviews
- Podcasts
- Communiques
- USBsploit
- Commentaires


Revue Presse:
- Tous
- Francophone
- Par mot clé
- Par site
- Le tagwall


Top bi-hebdo:
- Ensemble
- Articles
- Revue
- Videos
- Twitter
- Auteurs


Articles :
- Par mot clé
- Par auteur
- Par organisme
- Le tagwall


Videos :
- Toutes
- Par mot clé
- Par site
- Le tagwall


Twitter :
- Tous
- Par mot clé
- Par compte
- Le tagwall


Commentaires :
- Breves
- Virus
- Failles
- Outils
- Tutoriels
- Tendances
- Acteurs
- Reportages
- Infrastructures
- Interviews
- Concours
- Livres
- Communiques


RSS/XML :
- Articles
- Commentaires
- Revue
- Revue FR
- Videos
- Twitter


RSS SecuObs :
- sécurité
- exploit
- windows
- attaque
- outil
- microsoft


RSS Revue :
- security
- microsoft
- windows
- hacker
- attack
- network


RSS Videos :
- curit
- security
- biomet
- metasploit
- biometric
- cking


RSS Twitter :
- security
- linux
- botnet
- attack
- metasploit
- cisco


RSS Comments :
- Breves
- Virus
- Failles
- Outils
- Tutoriels
- Tendances
- Acteurs
- Reportages
- Infrastructures
- Interviews
- Concours
- Livres
- Communiques


RSS OPML :
- Français
- International











Revue de presse francophone :
- Appaloosa AppDome nouent un partenariat pour accompagner les entreprises dans le déploiement et la protection des applications mobiles
- D-Link offre une avec un routeur VPN sans fil AC
- 19 mai Paris Petit-Déjeuner Coreye Développer son business à l'abri des cyberattaques
- POYNTING PRESENTE LA NOUVELLE ANTENNE OMNI-291, SPECIALE MILIEU MARITIME, CÔTIER ET MILIEU HUMIDE
- Flexera Software Les utilisateurs français de PC progressent dans l'application de correctifs logiciels, mais des défis de tailles subsistent
- Riverbed lance SD-WAN basé sur le cloud
- Fujitsu multi-récompensé VMware lui décerne plusieurs Partner Innovation Awards à l'occasion du Partner Leadership Summit
- Zscaler Private Access sécuriser l'accès à distance en supprimant les risques inhérents aux réseaux privés virtuels
- QNAP annonce la sortie de QTS 4.2.1
- Une enquête réalisée par la société de cyber sécurité F-Secure a décelé des milliers de vulnérabilités graves, potentiellement utilisables par des cyber criminels pour infiltrer l'infrastru
- Trouver le juste équilibre entre une infrastructure dédiée et cloud le dilemme de la distribution numérique
- 3 juin - Fleurance - Cybersécurité Territoires
- Cyber-assurances Seules 40 pourcents des entreprises françaises sont couvertes contre les violations de sécurité et les pertes de données
- Des étudiants de l'ESIEA inventent CheckMyHTTPS un logiciel qui vérifie que vos connexions WEB sécurisées ne sont pas interceptées
- Les produits OmniSwitch d'Alcatel-Lucent Enterprise ALE gagnent en sécurité pour lutter contre les cyber-attaques modernes

Dernier articles de SecuObs :
- DIP, solution de partage d'informations automatisée
- Sqreen, protection applicative intelligente de nouvelle génération
- Renaud Bidou (Deny All): "L'innovation dans le domaine des WAFs s'oriente vers plus de bon sens et d'intelligence, plus de flexibilité et plus d'ergonomie"
- Mises à jour en perspective pour le système Vigik
- Les russes ont-ils pwn le système AEGIS ?
- Le ministère de l'intérieur censure une conférence au Canada
- Saut d'air gap, audit de firmware et (in)sécurité mobile au programme de Cansecwest 2014
- GCHQ: Le JTRIG torpille Anonymous qui torpille le JTRIG (ou pas)
- #FIC2014: Entrée en territoire inconnu
- Le Sénat investit dans les monnaies virtuelles

Revue de presse internationale :
- VEHICLE CYBERSECURITY DOT and Industry Have Efforts Under Way, but DOT Needs to Define Its Role in Responding to a Real-world Attack
- Demand letter served on poll body over disastrous Comeleak breach
- The Minimin Aims To Be The Simplest Theremin
- Hacking group PLATINUM used Windows own patching system against it
- Hacker With Victims in 100 Nations Gets 7 Years in Prison
- HPR2018 How to make Komboucha Tea
- Circuit Bender Artist bends Fresnel Lens for Art
- FBI Director Suggests iPhone Hacking Method May Remain Secret
- 2016 Hack Miami Conference May 13-15, 2016
- 8-bit Video Wall Made From 160 Gaming Keyboards
- In An Era Of Decline, News Sites Can t Afford Poor Web Performance
- BeautifulPeople.com experiences data breach 1m affected
- Swedish Air Space Infringed, Aircraft Not Required
- Why cybercriminals attack healthcare more than any other industry
- Setting the Benchmark in the Network Security Forensics Industry

Annuaire des videos
- FUZZING ON LINE PART THREE
- Official Maltego tutorial 5 Writing your own transforms
- Official Maltego tutorial 6 Integrating with SQL DBs
- Official Maltego tutorial 3 Importing CSVs spreadsheets
- install zeus botnet
- Eloy Magalhaes
- Official Maltego tutorial 1 Google s websites
- Official Maltego tutorial 4 Social Networks
- Blind String SQL Injection
- backdoor linux root from r57 php shell VPS khg crew redc00de
- How To Attaque Pc With Back Track 5 In Arabique
- RSA Todd Schomburg talks about Roundup Ready lines available in 2013
- Nessus Diagnostics Troubleshooting
- Panda Security Vidcast Panda GateDefender Performa Parte 2 de 2
- MultiPyInjector Shellcode Injection

Revue Twitter
- RT @fpalumbo: Cisco consistently leading the way ? buys vCider to boost its distributed cloud vision #CiscoONE
- @mckeay Looks odd... not much to go on (prob some slideshow/vid app under Linux)
- [SuggestedReading] Using the HTML5 Fullscreen API for Phishing Attacks
- RT @BrianHonan: Our problems are not technical but cultural. OWASP top 10 has not changed over the years @joshcorman #RSAC
- RT @mikko: Wow. Apple kernels actually have a function called PE_i_can_has_debugger:
- [Blog Spam] Metasploit and PowerShell payloads
- PinkiePie Strikes Again, Compromises Google Chrome in Pwnium Contest at Hack in the Box: For the second time thi...
- @mikko @fslabs y'all wldn't happen to have lat/long data sets for other botnets, wld you? Doing some research (free/open info rls when done)
- RT @nickhacks: Want to crash a remote host running Snow Leopard? Just use: nmap -P0 -6 --script=targets-ipv6-multicast-mld #wishiwaskidding
- An inexpensive proxy service called is actually a front for #malware distribution -

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 : curit, security, biomet, metasploit, biometric, cking, password, windows, botnet, defcon, tutorial, crypt, xploit

+ 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

Top bi-hebdo des articles de SecuObs
- [Ettercap – Partie 2] Ettercap par l'exemple - Man In the Middle et SSL sniffing
- [Infratech - release] version 0.6 de Bluetooth Stack Smasher
- [IDS Snort Windows – Partie 2] Installation et configuration
- [Infratech - vulnérabilité] Nouvelle version 0.8 de Bluetooth Stack Smasher
- Mises à jour en perspective pour le système Vigik
- USBDumper 2 nouvelle version nouvelles fonctions !
- EFIPW récupère automatiquement le mot de passe BIOS EFI des Macbook Pro avec processeurs Intel
- La sécurité des clés USB mise à mal par USBDUMPER
- Une faille critique de Firefox expose les utilisateurs de Tor Browser Bundle
- Installation sécurisée d'Apache Openssl, Php4, Mysql, Mod_ssl, Mod_rewrite, Mod_perl , Mod_security

Top bi-hebdo de la revue de presse
- StackScrambler and the Tale of a Packet Parsing Bug

Top bi-hebdo de l'annuaire des videos
- DC++ Botnet. How To DDos A Hub With Fake IPs.
- Comment creer un server botnet!!!!(Réseau de pc zombies)
- Defcon 14 Hard Drive Recovery Part 3

Top bi-hebdo de la revue Twitter
- RT @secureideas: I believe that all the XSS flaws announced are fixed in CVS. Will test again tomorrow if so, release 1.4.3. #BASESnort
- Currently, we do not support 100% of the advanced PDF features found in Adobe Reader... At least that's a good idea.
- VPN (google): German Foreign Office Selects Orange Business for Terrestrial Wide: Full
- @DisK0nn3cT Not really, mostly permission issues/info leak...they've had a couple of XSS vulns but nothing direct.
- Swatting phreaker swatted and heading to jail: A 19-year-old American has been sentenced to eleven years in pris..
- RT @fjserna You are not a true hacker if the calc.exe payload is not the scientific one... infosuck.org/0x0035.png

Top des articles les plus commentés
- [Metasploit 2.x – Partie 1] Introduction et présentation
- Microsoft !Exploitable un nouvel outil gratuit pour aider les développeurs à évaluer automatiquement les risques
- Webshag, un outil d'audit de serveur web
- Les navigateurs internet, des mini-systèmes d’exploitation hors de contrôle ?
- Yellowsn0w un utilitaire de déblocage SIM pour le firmware 2.2 des Iphone 3G
- CAINE un Live[CD|USB] pour faciliter la recherche légale de preuves numériques de compromission
- Nessus 4.0 placé sous le signe de la performance, de l'unification et de la personnalisation
- [Renforcement des fonctions de sécurité du noyau Linux – Partie 1] Présentation
- [IDS Snort Windows – Partie 1] Introduction aux IDS et à SNORT
- Origami pour forger, analyser et manipuler des fichiers PDF malicieux

Tutoriels

English version with Google Translate

Installation sécurisée d'Apache Openssl, Php4, Mysql, Mod_ssl, Mod_rewrite, Mod_perl , Mod_security

Par Rédaction, secuobs.com
Le 13/06/2004


Résumé : Si il vous arrive maladroitement de changer un mot de passe Administrateur sur un serveur WINDOWS via par exemple un logiciel de prise en main à distance comme VNC, ce tutoriel est fait pour vous. - Lire l'article



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


Le serveur web apache_1.3.31 :

cd /usr/src
tar -zxvf apache_1.3.31.tar.gz

Appliquer le patch apache-patch_HARD_SERVER_LIMIT.txt :

cd /usr/src
tar -zxvf apache_1.3.31.tar.gz
rm -fr /usr/src/apache_1.3.31/src/include/apache-patch_HARD_SERVER_LIMIT.txt
cp apache-patch_HARD_SERVER_LIMIT.txt /usr/src/apache_1.3.31/src/include/
cd /usr/src/apache_1.3.31/src/include/
patch -p0 < ./apache-patch_HARD_SERVER_LIMIT.txt
#le fichier à patcher est httpd.h

Installer mod_ssl-2.9 dans les sources d'apache :

cd /usr/src
tar -zxvf mod_ssl-2.8.18-1.3.31.tar.gz
cd /usr/src/mod_ssl-2.8.18-1.3.31
./configure --with-apache=/usr/src/apache_1.3.31

-----------------------------------------------------------------------------------------------------------------

Nous ne pouvions établir un tutorial sur la sécurisation d'Apache sans vous parler de la fonction suEXEC qui permet au administrateur de serveur Apache de faire éxécuter des programmes CGI/SSI sous des utiisateurs et des groupes différents de celui sous lequel est lancé le serveur principal et qui est normalement celui sous lequel ils sont éxécutés.

Attention ! : Lisez l'ensemble de cette section avant de vous lancer dans l'installation ou la configuration de suEXEC

Si les termes setuid root, setuid/setgid ne vous sont pas familiers il vaut mieux ne pas installer suEXEC et passer directement à l'installation d'Apache, une mauvaise configuration ou une mauvaise utilisation de suEXEC pouvant à l'inverse se révéler catastrophique pour la sécurité de votre machine.

Vous devez éditer le fichier /usr/src/apache_1.3.31/support/suexec.h :
/*
* HTTPD_USER -- Définit le nom d'utilisateur sous lequel Apache tourne en
* temps normal. C'est le seul utilisateur habilité à exécuter
* ce programme.
*/
#define HTTPD_USER "apache"

/*
* UID_MIN -- Definit le plus faible UID permis pour l'utilisateur
* cible donné à suEXEC. Dans la plupart des cas, 500 ou 100 convient.
*/
#define UID_MIN 100

/*
* GID_MIN -- Definit le plus faible GID permis pour l'utilisateur
* cible donné à suEXEC. Dans la plupart des cas, 100 convient.
*/
#define GID_MIN 100

/*
* USERDIR_SUFFIX -- Definit le sous-répertoire relatif sous la racine
* du compte utilisateur auquel suEXEC a l'autorisation
* d'accès. Tous les exécutables dans ce répertoire
* pourront être lancés par suEXEC sous cet utilisateur
* et seront donc "sécurisés". Si vous utilisez une directive
* UserDir simple (c-à-d. une ou n'apparaît pas de
* "*"), cette étoile est implicite pour le répertoire
* spécifié. suEXEC ne fonctionnera pas correctement
* si la directive UserDir pointe vers un répertoire
* différent de celui défini comme répertoire de "login"
* pour cet utilisateu dans le fichier /etc/passwd.
*
* Si vous avez défini des VirtualHosts assignés à un
* UserDir différent pour chacun, vous aurez peut être besoin
* de rassembler tous les répertoires concernés dans un seul
* et unique répertoire père ; vous pouvez nommer ce répertoire
* père ici. SI CE PARAMETRE N'EST PAS CORRECTEMENT
* RENSEIGNE, LES REQUETES CGI POUR LES ~USERDIR
* N'ABOUTIRONT PAS !
* Voir la documentation de suEXEC pour plus d'informations.
*/
#define USERDIR_SUFFIX "suexec_directory"

/*
* LOG_EXEC -- Definit le nom de fichier dans lequel toutes les
* transactions et erreurs générées par l'usage de suEXEC
* seront tracées.
*/
#define LOG_EXEC "/usr/local/apache/logs/cgi.log" /* Need me? */

/*
* DOC_ROOT -- Definit le DocumentRoot pour Apache. Ce sous-arbre
* sera le seul (à part ceux définis par chaque UserDirs)
* à pouvoir être utilisé par suEXEC.
*/
#define DOC_ROOT "/usr/local/apache/htdocs"

/*
* SAFE_PATH -- Definit un PATH d'environment sécurisé à passer aux exécutables CGI.
*
*/
#define SAFE_PATH "/usr/local/bin:/usr/bin:/bin"

Compiler et installer suEXEC :
cd /usr/src/apache_1.3.31/support/
cc /usr/src/apache_1.3.31/support/suexec.c -o /usr/src/apache_1.3.31/support/suexec
cp /usr/src/apache_1.3.31/support/suexec /usr/local/apache/sbin/
chown root /usr/local/apache/sbin/suexec
chmod 4711 /usr/local/apache/sbin/suexec

Pour vous servir de suEXEC, vous pouvez par exemple utiliser les directives USER & GROUP dans chaque Virtual Host défini à l'intérieur de votre fichier /usr/local/apache/conf/httpd.conf, les CGI de ce Virtual Host seront éxécutés sous ce couple user/group. Un exemple :


ServerAdmin postmaster@site.com
User test
Group test
DocumentRoot /usr/local/apache/www.site.com/www
ScriptAlias /cgi-bin /usr/local/apache/www.site.com/cgi-bin/
ServerName www.site.com
ErrorLog logs/www.site.com-error_log
CustomLog logs/www.site.com-access_log combined
RewriteEngine on
RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
RewriteRule .* - [F]


Apache se sert d'un programme appelé setuid pour "lier" la requête vers le script CGI ou SSI appelé via les users & groups définis du Virtual Host, à chaque appel setuid, plus d'une vingtaine de vérification d'intégrité des arguments est effectuée.

Vu le caractère sensible de la fonctionnalité suEXEC, elle ne sera intégrée dans aucun des scripts automatisés de ce tutorial et à nouveau nous vous conseillons de l'utiliser uniquement dans le cas ou vous savez ce que vous faites !

Si vous voulez plus d'informations sur suEXEC, cliquez içi.

----------------------------------------------------------------------------

Compilez et installez apache_1.3.31 avec les modules standarts, mod_ssl & la prise en charge de DSO.

DSO ("Dynamic Shared Object") ou bibliothèque d'objets partagée est chargée uniquement lors de l'exécution du programme. Cela vous permet de ne pas la charger si vous le souhaitez et de compiler puis installer des modules supplémentaires pour Apache sans avoir à le recompiler grâce la commande /usr/local/apache/bin/apxs :

rm -fr /usr/local/apache
cd /usr/src/apache_1.3.31

./configure --prefix=/usr/local/apache --enable-module=ssl --enable-module=so --enable-module=status --enable-module=rewrite --enable-module=cgi --enable-module=include --enable-module=auth --enable-module=dir --enable-module=env --enable-module=setenvif --enable-module=userdir --enable-module=imap --enable-module=negotiation --enable-module=log_config --enable-module=asis --enable-module=autoindex --enable-module=mime --enable-module=access --enable-module=rewrite --enable-shared=max

make
make certificate
make install

Pour le make certificate, changer en fonction de vos configurations et $passwd par la passphrase que vous souhaitez utiliser :

The generated X.509 CA certificate can contain either
RSA or DSA based ingredients. Select the one you want to use.
Signature Algorithm ((R)SA or (D)SA) [R]: R
---------------------------------------------------------------------
1. Country Name (2 letter code) [XY]:FR
2. State or Province Name (full name) [Snake Desert]:France
3. Locality Name (eg, city) [Snake Town]:Paris
4. Organization Name (eg, company) [Snake Oil, Ltd]: Infratech
5. Organizational Unit Name (eg, section) [Webserver Team]:TechTeam
6. Common Name (eg, FQDN) [www.snakeoil.dom]: www.secuobs.com
7. Email Address (eg, name@FQDN) [www@snakeoil.dom]:xavier.poli@infratech.fr
8. Certificate Validity (days) [365]:
---------------------------------------------------------------------
: STEP 3: Generating X.509 certificate signed by Snake Oil CA [server.crt]
Certificate Version (1 or 3) [3]:
---------------------------------------------------------------------
STEP 4: Enrypting RSA private key with a pass phrase for security [server.key]
The contents of the server.key file (the generated private key) has to be
kept secret. So we strongly recommend you to encrypt the server.key file
with a Triple-DES cipher and a Pass Phrase.
Encrypt the private key now? [Y/n]: Y
writing RSA key
Enter PEM pass phrase: $passwd
Verifying - Enter PEM pass phrase: $passwd

Vous pouvez alors démarrer votre serveur apache pour tester, entrez au prompt votre passphrase :

/usr/local/apache/bin/apachectl startssl
Apache/1.3.31 mod_ssl/2.8.16 (Pass Phrase Dialog)
Some of your private key files are encrypted for security reasons.
In order to read them you have to provide us with the pass phrases.

Server votre_serveur:443 (RSA)
Enter pass phrase:

Ok: Pass Phrase Dialog successful.
/usr/local/apache/bin/apachectl startssl: httpd started

Vous pouvez également décidé d'installer apache pour qu'il fonctionne sous un uid différent de nobody et un gid différent de nogroup qui sont les paramétres par défaut de l'installation d'apache.

Par défaut, à l'exception du process principal sous root, le reste des processus tourne sous l'uid nobody et le gid nogroup. En cas de corruption du serveur web, une personne mal intentionnée peut alors avoir les droits d'accès à l'ensemble des processus qui tourne sous le même couple uid/gid.

Vous pouvez configurer Apache pour tourner sous le couple apache/apache ; pour se faire, la compilation et les permissions associées seront alors les suivantes :

rm -fr /usr/local/apache/
groupadd apache
useradd apache -d /dev/null -g apache -s /sbin/nologin

cd /usr/src/apache_1.3.31

./configure --prefix=/usr/local/apache --enable-module=ssl --enable-module=so --server-uid=apache --server-gid=apache --enable-module=status --enable-module=rewrite --enable-module=cgi --enable-module=include --enable-module=auth --enable-module=dir --enable-module=env --enable-module=setenvif --enable-module=userdir --enable-module=imap --enable-module=negotiation --enable-module=log_config --enable-module=asis --enable-module=autoindex --enable-module=mime --enable-module=access --enable-module=rewrite --enable-shared=max

make
make certificate
make install

Vous pouvez installer ce qui a trait à apache + modssl + le patch hard server limit (fichier httpd.h à patcher) d'un seul coup avec le fichier suivant. Nommez le apache.sh, passez un chmod +x apache.sh, placer le dans /usr/src/ puis éxécuté le avec la commande ./apache.sh en vous plaçant au préalable dans /usr/src/, vous serez invité au prompt à rentrer les informations relatives au certificat ainsi que le nom du fichier à patcher (httpd.h), le fichier :

#!/bin/sh

cd /usr/src
tar -zxvf apache_1.3.31.tar.gz
rm -fr /usr/src/apache_1.3.31/src/include/apache-patch_HARD_SERVER_LIMIT.txt
cp apache-patch_HARD_SERVER_LIMIT.txt /usr/src/apache_1.3.31/src/include/
cd /usr/src/apache_1.3.31/src/include/
patch -p0 < ./apache-patch_HARD_SERVER_LIMIT.txt
cd /usr/src
tar -zxvf mod_ssl-2.8.17-1.3.31.tar.gz
cd /usr/src/mod_ssl-2.8.17-1.3.31
./configure --with-apache=/usr/src/apache_1.3.31
rm -fr /usr/local/apache
cd /usr/src/apache_1.3.31

./configure --prefix=/usr/local/apache --enable-module=ssl --enable-module=so --server-uid=apache --server-gid=apache --enable-module=status --enable-module=rewrite --enable-module=cgi --enable-module=include --enable-module=auth --enable-module=dir --enable-module=env --enable-module=setenvif --enable-module=userdir --enable-module=imap --enable-module=negotiation --enable-module=log_config --enable-module=asis --enable-module=autoindex --enable-module=mime --enable-module=access --enable-module=rewrite --enable-shared=max

make
make certificate
make install
/usr/local/apache/bin/apachectl startssl

Ajoutez les lignes suivantes dans la section DSO pour charger les modules, en choisissant en fonction de ce dont vous avez besoin :

LoadModule env_module libexec/mod_env.so
LoadModule config_log_module libexec/mod_log_config.so
LoadModule mime_module libexec/mod_mime.so
LoadModule negotiation_module libexec/mod_negotiation.so
LoadModule status_module libexec/mod_status.so
LoadModule includes_module libexec/mod_include.so
LoadModule autoindex_module libexec/mod_autoindex.so
LoadModule dir_module libexec/mod_dir.so
LoadModule cgi_module libexec/mod_cgi.so
LoadModule asis_module libexec/mod_asis.so
LoadModule imap_module libexec/mod_imap.so
LoadModule action_module libexec/mod_actions.so
LoadModule userdir_module libexec/mod_userdir.so
LoadModule alias_module libexec/mod_alias.so
LoadModule access_module libexec/mod_access.so
LoadModule auth_module libexec/mod_auth.so
LoadModule setenvif_module libexec/mod_setenvif.so
LoadModule rewrite_module libexec/mod_rewrite.so

LoadModule ssl_module libexec/libssl.so


ClearModuleList
AddModule mod_env.c
AddModule mod_log_config.c
AddModule mod_mime.c
AddModule mod_negotiation.c
AddModule mod_status.c
AddModule mod_include.c
AddModule mod_autoindex.c
AddModule mod_dir.c
AddModule mod_cgi.c
AddModule mod_asis.c
AddModule mod_imap.c
AddModule mod_actions.c
AddModule mod_userdir.c
AddModule mod_alias.c
AddModule mod_access.c
AddModule mod_auth.c
AddModule mod_so.c
AddModule mod_setenvif.c
AddModule mod_rewrite.c

AddModule mod_ssl.c


Vérifier la présence des lignes suivantes dans leur section respective du fichier de configuration d'apache /usr/local/apache/conf/httpd.conf, sinon ajouter ou modifier les :

User apache
Group apache

Vous avez aussi la possibilité de désactiver tous les modules à la compilation d'Apache puis les réactiver un par un si vous avez une connaissance suffisante au bon fonctionnement de votre serveur web :

--disable-module=all
--enable-module=nom_du_module

Déni de Service ("DoS"), attaque complexe dont le but est de rendre inatteignable une machine en envoyant une quantité de donnée importante afin qu'elle ne puisse pas la gérer, les conséquences : - crash des services et/ou reboot sauvage ! Ce genre d'attaque peut provenir d'une seule voir de plusieurs machines, dans ce cas, on appele plus communément cette attaque, un Déni de Service Distribué ou DDoS.

Afin d'éviter les possibilité de DoS ou de DDoS, ajuster les options suivantes du fichier de configuration d'apache /usr/local/apache/conf/httpd.conf en fonction des capacités de votre serveur :

MaxClients 150
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 5
Timeout 300

Les sections Directory permettent de définir les permissions des répertoires où sont stockées les contenus accessibles via les sites web du serveur correspondant. La configuration de ces sections est vitale pour la sécurité de votre machine. Il est conseillé de mettre par défaut en deny puis d'autoriser uniquement ce que vous voulez bien alloué à la manière d'un firewall :


Order deny,allow
Deny from all


Puis :


AllowOverride None
Options None
Order allow,deny
Allow from all


Vous pouvez également permettre à des utilisateurs particuliers d'accéder à certains répertoires, vous devez pour cela mettre des sections du type :


AllowOverride AuthConfig
Options none
Order allow,deny
Allow from all


Différentes options sont disponibles, parmi elles Indexes FollowSymLinks Includes ExecCGi, nous vous conseillons de ne les activer qu'au cas ou vous en auriez réellement besoin.

CGI ("Common Gateway Interface") permet à un client d'exécuter des programmes spécifiques sur un serveur. Nous vous conseillons d'externaliser vos scripts CGI puis d'ajouter la ligne suivante dans les Virtual Host concernés

ScriptAlias /nom_du_directory_accedé_pour_vos_scripts_en_ligne
/chemin/vers/vos/scripts/cgi/

Et définir le directory des cgi-bin :


AllowOverride none
Options ExecCGI
Order allow,deny
Allow from all


Ces directory doivent être créés au préalable afin d'héberger les pages que vous souhaitez diffuser, récupérer également notre page html de test et placer la dans le répertoire racine www/.

mkdir -p /usr/local/apache/www.site.com/www
mkdir /usr/local/apache/www.site.com/cgi-bin
mkdir /usr/local/apache/www.site.com/secure
wget http://www.secuobs.com/tuto/index.html
mv index.html /usr/local/apache/www.site.com/www/


Les permissions se gérent à travers les fichiers .htaccess qui sont à placer dans le répertoire en question. La section définissant les .htaccess dans le fichier de configuration d'apache /usr/local/apache/conf/httpd.conf :

AccessFileName .htaccess

Order allow,deny
Deny from all
Satisfy All


Exemple de fichier .htaccess :

AuthUserFile /chemin/vers/.htpasswd
AuthName ByPassword
AuthType Basic


require user $user


Les logins & mots de passe sont stockés dans un fichier .htpasswd. Vous devez le placer impérativement hors des répertoires de votre site web. Vous devez générer un fichier .htpasswd avec la commande suivante, remplacer par $user par le login désiré puis entrez le mot de passe au prompt :

/usr/local/apache/bin/htpasswd -c /chemin/vers/.htpasswd $user

Si le fichier .htpasswd existe déjà, ne précisez pas l'option -c ni le fichier :


/usr/local/apache/bin/htpasswd $user

Vérifier la présence des lignes suivantes dans le fichier de configuration d'apache /usr/local/apache/conf/httpd.conf, si non présentes ou différentes, ajouter ou modifier les :

ServerSignature Off
ServerTokens Prod

Cela vous permet de ne pas divulguer d'informations confidentielles sur la version de votre server web. Pour parfaire cela vous devez également modifier les options suivante dans ce même fichier :

ErrorDocument 500 "erreur 500"
#ErrorDocument 404 /missing.html
ErrorDocument 400"erreur 400"
#ErrorDocument 404 /cgi-bin/missing_handler.pl
ErrorDocument 404 "erreur 404"
#ErrorDocument 402 http://www.example.com/subscription_info.html
ErrorDocument 402 "erreur 402"

Un Virtual Host ou serveur virtuel permet à un même serveur d'héberger, sur une même adresse IP, plusieurs sites différenciés par leur nom. La section d'un Virtual Host accessible en https doit être de la forme suivante :


NameVirtualHost "votre ip":443
ServerAdmin postmaster@site.com
DocumentRoot /usr/local/apache/www.site.com/www
ScriptAlias /cgi-bin /usr/local/apache/www.site.com/cgi-bin/
ServerName www.site.com
ErrorLog logs/www.site.com-error_log
CustomLog logs/www.site.com-access_log combined
SSLEngine on
SSLCipherSuite
ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
SSLCertificateFile /usr/local/apache/conf/ssl.crt/server.crt
SSLCertificateKeyFile /usr/local/apache/conf/ssl.key/server.key
SSLCACertificateFile /usr/local/apache/conf/ssl.crt/server.crt

SSLOptions +StdEnvVars

SetEnvIf User-Agent ".*MSIE.*" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
CustomLog /usr/local/apache/logs/ssl_request_log \
"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
RewriteEngine on
RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
RewriteRule .* - [F]



Changer "votre ip" par votre ip, privilégié à un nom de domaine pour éviter les problèmes en https en cas de panne de DNS ("domain name server" est un serveur offrant la conversion des noms de domaine en adresse IP ainsi que le reverse) et www.site.com par le nom de votre site (exemple = www.secuobs.com), ajouter chaque virtual host supplémentaire dans la section . Changez également le nom des certificats en fonction des votres.

Un virtual host http classique se présente de la manière suivante :


ServerAdmin postmaster@site.com
DocumentRoot /usr/local/apache/www.site.com/www/
ScriptAlias /usr/local/apache/www.site.com/cgi-bin/
ServerName www.site.com
ErrorLog logs/www.site.com-error_log
CustomLog logs/www.site.com-access_log combined


L'ensemble des virtual host doit s'accompagner de la directive suivante (changer ip par votre ip), une seule directive pour l'ensemble des virtual host :

NameVirtualHost ip

Vérifier également la présence de la section suivante :


AddType application/x-x509-ca-cert .crt
AddType application/x-pkcs7-crl .crl


Mais aussi de :

CustomLog /var/log/httpd/access_log combined

Vous pouvez utiliser le fichier httpd.conf donné en modèle içi pour vous faire une idée de la configuration à apporter.
-----------------------------------------------------------------------------------------------------------------

Compiler puis installer php-4.3.6 en tant que module dynamique DSO :
:

cd /usr/src/
tar -zxvf php-4.3.6.tar.gz
cd php-4.3.6
./configure --with-mysql=/usr/local/mysql --with-apxs=/usr/local/apache/bin/apxs

make
make install
cp php.ini-dist /usr/local/lib/php.ini

Vous pouvez installer ce qui a trait à php d'un seul coup avec le fichier suivant. Nommez le php.sh, passez un chmod +x php.sh, placez le dans /usr/src/ puis éxécutez le avec la commande ./php.sh en vous plaçant au préalable dans /usr/src/ .

#!/bin/sh

cd /usr/src/
tar -zxvf php-4.3.6.tar.gz
cd php-4.3.6
./configure --with-mysql=/usr/local/mysql --with-apxs=/usr/local/apache/bin/apxs

make
make install
cp php.ini-dist /usr/local/lib/php.ini

PHP a été conçu pour vous permettre de configurer certaines options afin d'assurer la sécurité de vos systèmes, vous pouvez par exemple :

- vérifier les fichiers accédés avec le safe_mode,

- interdire l'utilisation de certaines commandes, disable_functions,

- accepter l'affichage de la bannière avec expose_php,

- max_execution_time et memory_limit pour empêcher les Dénis de Service DoS,

- magic_quotes_gpc mets des quotes dans les données reçues des cookies & formulaires en GET & POST.

- vous pouvez également interdire l'affichage des erreurs en cas de problème sur une page avec display_error.

L'ensemble se configure dans le fichier php.ini que vous venez de copier dans /usr/local/lib/ :

safe_mode = On
expose_php = Off
max_execution_time = 30
memory_limit = 8M
disable_functions =
magic_quotes_gpc = On
display_errors = Off
[SQL]
sql.safe_mode = On

Vérifier la présence des lignes suivantes dans leur section respective du fichier de configuration d'apache /usr/local/apache/conf/httpd.conf, sinon ajouter les :

LoadModule php4_module libexec/libphp4.so
AddModule mod_php4.c
AddType application/x-httpd-php .php .php3 .php4
AddType application/x-httpd-php-source .phps

Ajouter index.php, index.php3 & index.php4 dans la section suivante du fichier de configuration :


DirectoryIndex index.html index.htm index.php index.php3 index.php4



Configurer mod_rewrite pour apache :

Vérifier la présence des lignes suivantes dans leur section respective du fichier de configuration d'apache /usr/local/apache/conf/httpd.conf, sinon ajouter les :

LoadModule rewrite_module libexec/mod_rewrite.so
AddModule mod_rewrite.c

Pour chaque Virtual Host défini dans le fichier de configuration d'apache /usr/local/apache/conf/httpd.conf, vous devrez ajouter les rêgles suivantes de mod_rewrite si ils le contiennent pas déjà, cela vous permet d'éviter les failles de type Cross Site Scripting :

RewriteEngine on
RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
RewriteRule .* - [F]

Installer Mod_perl en tant que DSO avec apxs :

cd /usr/src/
tar -zxvf /usr/src/mod_perl-1.0-current.tar.gz
cd /usr/src/mod_perl-1.29/

perl Makefile.PL USE_APXS=1 WITH_APXS=/usr/local/apache/bin/apxs EVERYTHING=1

make
make install

Vous pouvez installer ce qui a trait à mod_perl d'un seul coup avec le fichier suivant. Nommez le perl.sh, passer un chmod +x perl.sh, placez le dans /usr/src/ puis éxécutez le avec la commande ./perl.sh en vous plaçant au préalable dans /usr/src/

#!/bin/sh

cd /usr/src/
tar -zxvf /usr/src/mod_perl-1.0-current.tar.gz
cd /usr/src/mod_perl-1.29/

perl Makefile.PL USE_APXS=1 WITH_APXS=/usr/local/apache/bin/apxs EVERYTHING=1

make
make install

L'installation de mod_perl vous permet d'activer le "Tainted Mode" de vos scripts perl éxécuté à travers le serveur web apache.

Le "Tainted Mode" permet au couple Apache/PERL de prendre des précautions supplémentaires à l'éxécution des scripts en vérifiant par exemple que personne ne puisse écrire dans le path ou utiliser des données extérieures qui n'ont pas été vérifiés dans une variable.

Ajouter la directive suivante dans votre fichier de configuration d'apache /usr/local/apache/conf/httpd.conf :

PerlTaintCheck On

Vos scripts perl doivent alors commencer par le shebang suivant qui permet d'éxécuter vos scripts via l'interpréteur perl avec l'option Tainted Mode :

#!/usr/bin/perl -T
use strict;
$ENV{'PATH'} = '/bin:/usr/bin';
delete @ENV{qw(IFS CDPATH ENV BASH_ENV)};

Ajuster la première ligne en localisant le path (chemin d'installation) de l'interpréteur perl de votre machine avec la ligne suivante dans votre shell (invite de commande linux) :

which perl

Vous pouvez par exemple nettoyer une variable mail postée à partir d'un formulaire avec les lignes suivantes :

my $email = param('email');
$email =~ /^([-\@\w.]+)$/;
$email = $1;
print "votre email $email";


Installer mod_security-1.7.6 en tant que DSO pour apache :

cd /usr/src/
tar -zxvf mod_security-1.8.tar.gz
cd mod_security-1.8
/usr/local/apache/bin/apxs -cia ./apache1/mod_security.c -DEAPI

Vérifiez la présence des lignes suivantes dans leur section respective du fichier de configuration d'apache /usr/local/apache/conf/httpd.conf, sinon ajoutez les dans la section DSO :

LoadModule security_module libexec/mod_security.so
AddModule mod_security.c

Convertir les rêgles snort du fichier snortrules-snapshot-CURRENT avec le script perl snort2modsec.pl :

cd /usr/src/
chmod +x snort2modsec.pl
rm -fr /usr/src/rules/
tar -C /usr/src/ -zxvf snortrules-snapshot-CURRENT.tar.gz

./snort2modsec.pl /usr/src/rules/* > /usr/local/apache/conf/modsec.conf

Ajouter la section module suivante dans le fichier de configuration d'apache /usr/local/apache/conf/httpd.conf avec votre éditeur préféré et ajuster vos rêgles :


# activer le moteur de mod_security
SecFilterEngine On
# vérifie la validité de l'encodage des urls
SecFilterCheckURLEncoding On
# vérifie la validité de l'unicode
SecFilterCheckUnicodeEncoding On
# Only allow bytes from this range
SecFilterForceByteRange 0 255
# log seulement pour certaines requetes
SecAuditEngine RelevantOnly
# Nom du fichier de log
SecAuditLog logs/modsec_log
# niveau de debug
SecFilterDebugLog logs/modsec_debug_log
SecFilterDebugLevel 0
# activation du scan des données en POST, par exemple les formulaires
SecFilterScanPOST On
# log des requetes http suspectes avec un status erreur 401, erreur d'authentification
SecFilterDefaultAction "deny,log,status:401"
# l'insertion du fichier modsec.conf contenant l equivalent des regles snort pour mod_security
include /usr/local/apache/conf/modsec.conf


Vous pouvez éditer le fichier /usr/local/apache/conf/modsec.conf et le fichier /usr/local/apache/conf/httpd.conf pour retirer ou configurer des rêgles. Le fichier modsec.conf devra de toutes façons être quelque peu modifié car la syntaxe de certaines rêgles (*xxx*, \x00, etc) empêche l'insertion du fichier dans httpd.conf, supprimer les rêgles qui posent problèmes, le lancement de la commande apachectl start ou apachectl startssl (/usr/local/apache/bin/) vous donnera plus d'informations sur les rêgles qui posent problèmes.

Quelques exemples de règles possibles sur lesquelles vous pouvez vous baser pour forger les votres que vous inclurez dans httpd.conf directement :

# filtre un mot dans la premiere ligne de la requête
SecFilter keyword
# filtres les mots dans des variables
SecFilterSelective "variable list separated with |" keyword
# autoriser une adresse ip à bypasser l'ensemble des regles de deny
SecFilterSelective REMOTE_ADDR "^IP_ADDRESS_HERE$" nolog,allow
# bypasser les rêgles pour les requetes avec HTTP_USER_AGENT = x
SecFilterSelective HTTP_USER_AGENT "x"
# n'autoriser les cookies que si ils comprenent entre 1 et 9 caractéres
SecFilterSelective COOKIE_sessionid "!^(|[0-9]{1,9})$"
# les entetes HTTP_USER_AGENT & HTTP_HOST sont requises, pas de telnet
SecFilterSelective "HTTP_USER_AGENT|HTTP_HOST" "^$"
# ne pas autoriser les fichiers en upload
SecFilterSelective "HTTP_CONTENT_TYPE" multipart/form-data
# check si le login secuobs est utilisé avc un mauvais passwd puis fait appel à un script externe comme l'envoi d'un mail ou autre
SecFilterSelective REQUEST_URI "login_failed\.php" chain
SecFilterSelective ARG_username "^secuobs$" log,exec:/usr/local/apache/bin/mail.pl
# interdire googlebot
SecFilter HTTP_USER_AGENT "Google" nolog,redirect:http://www.google.com
# refuser les javascripts sauf ceux inclus dans une variable
SecFilter "ARGS|!ARG_html" "<[:space:]*script"

Différentes actions sont possibles :

deny
allow
status
redirect
exec
log
nolog
pass
pause

Vous pouvez installer tout ce qui a trait à mod_security + la conversion des rêgles Snort d'un seul coup avec le fichier suivant. Nommez le mod_security.sh, passez un chmod +x mod_security.sh, placez le dans /usr/src/ puis éxécutez le avec la commande ./mod_security.sh en vous plaçant au préalable dans /usr/src/, le fichier :

#!/bin/sh

cd /usr/src/
tar -zxvf mod_security-1.8.tar.gz
cd mod_security-1.8
mkdir -p /home/usr/local/apache
/usr/local/apache/bin/apxs -cia ./apache1/mod_security.c
cd /usr/src/
chmod +x snort2modsec.pl
rm -fr /usr/src/rules/
tar -C /usr/src/ -zxvf snortrules-snapshot-CURRENT.tar.gz
./snort2modsec.pl /usr/src/rules/* > /usr/local/apache/conf/modsec.conf


Mod_security vous permet aussi de chrooter votre serveur web en interne (après le chargement des bibliothéques dynamiques & l'ouverture des fichiers de logs). Le chroot permet de modifier l'emplacement de la racine du système de fichier afin que des utilisateurs malintentionnés ne puissent pas accéder à la véritable racine de votre système.

La procédure via Mod_security est trés simple alors que c'est une opération généralement plutôt complexe pour les non initiés aux techniques de chrooting. Ajoutez la directive suivante dans la section mod_security à votre fichier de configuration apache /usr/local/apache/conf/httpd.conf

SecChrootdir /home/chroot/

L'ordre dans lequel les modules apaches sont chargés (selon la conf du httpd.conf) est primordial, mod_security devant être placé et chargé en premier avant les autres modules (voir le fichier httpd.conf d'exemple en bas de la page). Créer le directory /home/chroot/usr/local/ puis faite un move de votre install d'apache vers les directory chroot puis créer le lien symbolique dans /usr/local vers ces directory.

mkdir -p /home/chroot/usr/local/
cd /usr/local/
mv apache /home/chroot/usr/local/
ln -s /home/chroot/usr/local/apache

Vous pouvez également changer la signature de votre server web sans avoir à changer le code source d'apache, ce qui vous permettra de ne pas divulguer d'informations confidentiels à propos du serveur et de sa version à des attaquants potentiels. ajouter la directive suivante à votre fichier de configuration apache /usr/local/apache/conf/httpd.conf :

SecServerSignature "Microsoft-IIS/4.0"

Cette directive n'est pas nécéssaire pour les utilisateurs souhaitant utiliser mod_security avec apache 2.x.

La directive suivante doit être mise à jour en conséquence dans apache 1.x:

ServerTokens Full


-----------------------------------------------------------------------------------------------------------------

Votre fichier httpd.conf pourrait ressembler à ça, ajuster en fonction de vos paramêtres personnels (ip, nom du serveur, répertoire, mail) :

ServerType standalone
ServerRoot "/usr/local/apache"
PidFile /usr/local/apache/logs/httpd.pid
ScoreBoardFile /usr/local/apache/logs/httpd.scoreboard
Timeout 300
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 15
MinSpareServers 5
MaxSpareServers 10
StartServers 5
MaxClients 150
MaxRequestsPerChild 0
LoadModule security_module libexec/mod_security.so
LoadModule env_module libexec/mod_env.so
LoadModule config_log_module libexec/mod_log_config.so
LoadModule mime_module libexec/mod_mime.so
LoadModule negotiation_module libexec/mod_negotiation.so
LoadModule status_module libexec/mod_status.so
LoadModule includes_module libexec/mod_include.so
LoadModule autoindex_module libexec/mod_autoindex.so
LoadModule dir_module libexec/mod_dir.so
LoadModule cgi_module libexec/mod_cgi.so
LoadModule asis_module libexec/mod_asis.so
LoadModule imap_module libexec/mod_imap.so
LoadModule action_module libexec/mod_actions.so
LoadModule userdir_module libexec/mod_userdir.so
LoadModule alias_module libexec/mod_alias.so
LoadModule rewrite_module libexec/mod_rewrite.so
LoadModule access_module libexec/mod_access.so
LoadModule auth_module libexec/mod_auth.so
LoadModule setenvif_module libexec/mod_setenvif.so

LoadModule ssl_module libexec/libssl.so

LoadModule php4_module libexec/libphp4.so
LoadModule perl_module libexec/libperl.so
ClearModuleList
AddModule mod_security.c
AddModule mod_env.c
AddModule mod_log_config.c
AddModule mod_mime.c
AddModule mod_negotiation.c
AddModule mod_status.c
AddModule mod_include.c
AddModule mod_autoindex.c
AddModule mod_dir.c
AddModule mod_cgi.c
AddModule mod_asis.c
AddModule mod_imap.c
AddModule mod_actions.c
AddModule mod_userdir.c
AddModule mod_alias.c
AddModule mod_rewrite.c
AddModule mod_access.c
AddModule mod_auth.c
AddModule mod_so.c
AddModule mod_setenvif.c

AddModule mod_ssl.c

AddModule mod_php4.c
AddModule mod_perl.c
Port 80

Listen 80
Listen 443

ExtendedStatus On
ServerSignature Off
ServerTokens Full
User apache
Group apache
ServerAdmin root@site.com
DocumentRoot "/usr/local/apache/htdocs"
PerlTaintCheck On

Options FollowSymLinks
AllowOverride None


AllowOverride None
Options none
Order allow,deny
Allow from all


AllowOverride None
Options ExecCGI
Order allow,deny
Allow from all


AllowOverride AuthConfig
Options none
Order allow,deny
Allow from all

ErrorDocument 500 "erreur 500"
ErrorDocument 400 "erreur 400"
ErrorDocument 404 "erreur 404"
ErrorDocument 402 "erreur 402"

UserDir public_html


DirectoryIndex index.html index.cgi index.php index.php3 index.php4

AccessFileName .htaccess

Order allow,deny
Deny from all
Satisfy All

UseCanonicalName On

TypesConfig /usr/local/apache/conf/mime.types

DefaultType text/plain

MIMEMagicFile /usr/local/apache/conf/magic

HostnameLookups Off
ErrorLog /usr/local/apache/logs/error_log
LogLevel warn
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent
CustomLog /usr/local/apache/logs/access_log combined

Alias /icons/ "/usr/local/apache/icons/"

Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all



IndexOptions FancyIndexing
AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip
AddIconByType (TXT,/icons/text.gif) text/*
AddIconByType (IMG,/icons/image2.gif) image/*
AddIconByType (SND,/icons/sound2.gif) audio/*
AddIconByType (VID,/icons/movie.gif) video/*
AddIcon /icons/binary.gif .bin .exe
AddIcon /icons/binhex.gif .hqx
AddIcon /icons/tar.gif .tar
AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv
AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip
AddIcon /icons/a.gif .ps .ai .eps
AddIcon /icons/layout.gif .html .shtml .htm .pdf
AddIcon /icons/text.gif .txt
AddIcon /icons/c.gif .c
AddIcon /icons/p.gif .pl .py
AddIcon /icons/f.gif .for
AddIcon /icons/dvi.gif .dvi
AddIcon /icons/uuencoded.gif .uu
AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl
AddIcon /icons/tex.gif .tex
AddIcon /icons/bomb.gif core
AddIcon /icons/back.gif ..
AddIcon /icons/hand.right.gif README
AddIcon /icons/folder.gif ^^DIRECTORY^^
AddIcon /icons/blank.gif ^^BLANKICON^^
DefaultIcon /icons/unknown.gif
ReadmeName README
HeaderName HEADER
IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t


SecFilterEngine On
SecServerSignature "Microsoft-IIS/4.0"
SecChrootdir /home/chroot/
SecFilterCheckURLEncoding On
SecFilterCheckUnicodeEncoding On
SecFilterForceByteRange 0 255
SecAuditEngine RelevantOnly
SecAuditLog logs/modsec_log
SecFilterDebugLog logs/modsec_debug_log
SecFilterDebugLevel 0
SecFilterScanPOST On
SecFilterDefaultAction "deny,log,status:401"
# include /usr/local/apache/conf/modsec.conf


AddLanguage da .dk
AddLanguage nl .nl
AddLanguage en .en
AddLanguage et .ee
AddLanguage fr .fr
AddLanguage de .de
AddLanguage el .el
AddLanguage he .he
AddCharset ISO-8859-8 .iso8859-8
AddLanguage it .it
AddLanguage ja .ja
AddCharset ISO-2022-JP .jis
AddLanguage kr .kr
AddCharset ISO-2022-KR .iso-kr
AddLanguage nn .nn
AddLanguage no .no
AddLanguage pl .po
AddCharset ISO-8859-2 .iso-pl
AddLanguage pt .pt
AddLanguage pt-br .pt-br
AddLanguage ltz .lu
AddLanguage ca .ca
AddLanguage es .es
AddLanguage sv .sv
AddLanguage cs .cz .cs
AddLanguage ru .ru
AddLanguage zh-TW .zh-tw
AddCharset Big5 .Big5 .big5
AddCharset WINDOWS-1251 .cp-1251
AddCharset CP866 .cp866
AddCharset ISO-8859-5 .iso-ru
AddCharset KOI8-R .koi8-r
AddCharset UCS-2 .ucs2
AddCharset UCS-4 .ucs4
AddCharset UTF-8 .utf8

LanguagePriority en da nl et fr de el it ja kr no pl pt pt-br ru ltz ca es sv tw

AddType application/x-tar .tgz
AddEncoding x-compress .Z
AddEncoding x-gzip .gz .tgz
AddHandler cgi-script .cgi .pl
AddType text/html .shtml
AddHandler server-parsed .shtml


BrowserMatch "Mozilla/2" nokeepalive
BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0
BrowserMatch "RealPlayer 4\.0" force-response-1.0
BrowserMatch "Java/1\.0" force-response-1.0
BrowserMatch "JDK/1\.0" force-response-1.0


SetHandler server-status
Order deny,allow
Deny from all
Allow from localhost

AddType application/x-httpd-php .php .php3 .php4
AddType application/x-httpd-php-source .phps
AddType text/html .shtml
AddType application/xml .rss .xml
AddHandler server-parsed .shtml

AddType application/x-x509-ca-cert .crt
AddType application/x-pkcs7-crl .crl


SSLPassPhraseDialog builtin
SSLSessionCache dbm:/usr/local/apache/logs/ssl_scache
SSLSessionCacheTimeout 300
SSLMutex file:/usr/local/apache/logs/ssl_mutex
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
SSLLog /usr/local/apache/logs/ssl_engine_log
SSLLogLevel info

NameVirtualHost 192.168.1.1

NameVirtualHost 192.168.1.1:443

DocumentRoot /usr/local/apache/www.site.com/www/
ServerName www.site.com
ServerAdmin root@kiko.adsl.nerim.net
ErrorLog /usr/local/apache/logs/error_log
TransferLog /usr/local/apache/logs/access_log
SSLEngine on
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
SSLCertificateFile /usr/local/apache/conf/ssl.crt/server.crt
SSLCertificateKeyFile /usr/local/apache/conf/ssl.key/server.key

SSLOptions +StdEnvVars


SSLOptions +StdEnvVars

SetEnvIf User-Agent ".*MSIE.*" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
CustomLog /usr/local/apache/logs/ssl_request_log \
"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
RewriteEngine on
RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
RewriteRule .* - [F]



ServerAdmin postmaster@site.com
DocumentRoot /usr/local/apache/www.site.com/www/
ScriptAlias /usr/local/apache/www.site.com/cgi-bin/
ServerName www.site.com
ErrorLog logs/www.site.com-error_log
CustomLog logs/www.site.com-access_log combined
RewriteEngine on
RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
RewriteRule .* - [F]



Vous pouvez installer, télécharger, configurer tout ce qui a trait à ce tutorial d'un seul coup avec le fichier suivant à l'exception de la configuration du fichier httpd.conf. Nommer le exoweb.sh, passer un chmod +x exoweb.sh, placer le dans /usr/src/ puis éxécutez le avec la commande ./exoweb.sh en vous plaçant au préalable dans /usr/src/, vous serez invité au prompt à rentrer différentes informations relatives à cette installation au niveau du prompt, conseil si vous avez déjà un apache installé, sauvegarder le directory ailleurs (cp -a /usr/local/apache /home/apache/ et rm -fr /usr/local/apache) et arrêter de préférences les services apache (sinon killall -9 httpd apres l'install avant de restarter l'apache) :

#!/bin/sh

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

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

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

cd /usr/src
tar -zxvf apache_1.3.31.tar.gz
rm -fr /usr/src/apache_1.3.31/src/include/apache-patch_HARD_SERVER_LIMIT.txt
cp apache-patch_HARD_SERVER_LIMIT.txt /usr/src/apache_1.3.31/src/include/
cd /usr/src/apache_1.3.31/src/include/
patch -p0 < ./apache-patch_HARD_SERVER_LIMIT.txt
cd /usr/src
tar -zxvf mod_ssl-2.8.18-1.3.31.tar.gz
cd /usr/src/mod_ssl-2.8.18-1.3.31
./configure --with-apache=/usr/src/apache_1.3.31
rm -fr /usr/local/apache

groupadd apache
useradd apache -d /dev/null -g apache -s /sbin/nologin

cd /usr/src/apache_1.3.31

./configure --prefix=/usr/local/apache --enable-module=ssl --enable-module=so --server-uid=apache --server-gid=apache --enable-module=status --enable-module=rewrite --enable-module=cgi --enable-module=include --enable-module=auth --enable-module=dir --enable-module=env --enable-module=setenvif --enable-module=userdir --enable-module=imap --enable-module=negotiation --enable-module=log_config --enable-module=asis --enable-module=autoindex --enable-module=mime --enable-module=access --enable-module=rewrite --enable-shared=max

make
make certificate
make install

cd /usr/src/
tar -zxvf php-4.3.6.tar.gz
cd php-4.3.6

./configure --with-mysql=/usr/local/mysql --with-apxs=/usr/local/apache/bin/apxs

make
make install
cp php.ini-dist /usr/local/lib/php.ini

cd /usr/src/
tar -zxvf mod_perl-1.0-current.tar.gz
cd /usr/src/mod_perl-1.29/

perl Makefile.PL USE_APXS=1 WITH_APXS=/usr/local/apache/bin/apxs EVERYTHING=1

make
make install

cd /usr/src/
tar -zxvf mod_security-1.8.tar.gz
cd mod_security-1.8
/usr/local/apache/bin/apxs -cia ./apache1/mod_security.c -DEAPI
cd /usr/src/
chmod +x snort2modsec.pl
rm -fr /usr/src/rules/
tar -C /usr/src/ -zxvf snortrules-snapshot-CURRENT.tar.gz
./snort2modsec.pl /usr/src/rules/* > /usr/local/apache/conf/modsec.conf

cd /usr/src/
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.txtwget
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/

rm -fr /usr/src/httpd.conf.exemple
cp /usr/local/apache/conf/httpd.conf /usr/local/apache/conf/httpd.conf.old
cd /usr/src/
wget http://www.secuobs.com/tutoriels/httpd.conf.exemple
mv /usr/src/httpd.conf.exemple /usr/local/apache/conf/httpd.conf
mkdir -p /home/chroot/usr/local/
cd /usr/local/
mv apache /home/chroot/usr/local/
ln -s /home/chroot/usr/local/apache
mkdir -p /usr/local/apache/www.site.com/www
mkdir /usr/local/apache/www.site.com/cgi-bin
mkdir /usr/local/apache/www.site.com/secure
wget http://www.secuobs.com/tuto/index.html
mv index.html /usr/local/apache/www.site.com/www/
/usr/local/apache/bin/apachectl startssl

Pour automatiser un peu plus, récupérer le script sh suivant plutot que de copier coller le long script ci-dessus, nommez le install.sh, copier coller le contenu ci-dessous, chmod +x dessus puis éxécuter le par ./install.sh :

#!/bin/sh
cd /usr/src/
wget http://www.secuobs.com/tuto/exoweb.sh.tar.gz
tar -zxvf exoweb.sh.tar.gz
chmod +x exoweb.sh
/usr/src/exoweb.sh

Il ne vous reste plus après qu'à utiliser le fichier modèle httpd.conf pour votre configuration (VirtualHost & NameVirtualHost: changer l'adresse ip, changer le noms de domaine), à savoir que le fichier initial d'installation d'apache a été copié sous /usr/local/apache/conf/httpd.conf.old, à lire il peut également être rempli d'informations intéressantes pour vous aider.

Pour tester : http://www.site.com/index.html & https://www.site.com/index.html

Remplacer www.site.com par votre nom de domaine.

N'hésitez pas à prendre contact avec nous si vous avez des commentaires ou des questions, envoyez nous de préférence vos fichier httpd.conf ainsi que vos configurations réseaux (ip, dns) en fichier attaché dans les mails.

Ce script et le modèle httpd.conf posent les bases de votre installation mais un minimum de recherche de votre part sera surement requis pour la personnalisation de votre configuration.

Bonne installation !

Vous pouvez également tester la sécurité de votre installation ainsi que celle de votre serveur en utilisant notre service gratuit et en ligne de scan de vulnérabilité Exoscan.



Les articles de la revue de presse sur les mots clés : openssl mysql
Les videos sur SecuObs pour les mots clés : openssl mysql
Les éléments de la revue Twitter pour les mots clés : openssl mysql
Voir tous les articles de "Rédaction" publiés sur SecuObs (691 résultats)
Voir tous les articles publiés par l'organisme "secuobs" sur SecuObs (998 résultats)


- Article suivant : Installer une passerelle filtrante antivirus et antispam
- Article précédent : Comment changer un mot de passe perdu pour un compte WINDOWS
- Article suivant dans la catégorie Tutoriels : Installer une passerelle filtrante antivirus et antispam
- Article précédent dans la catégorie Tutoriels : Comment changer un mot de passe perdu pour un compte WINDOWS

Les derniers commentaires publiés pour cet article:
- Apache Issues Patch To Stop Reverse-Proxy Bypass Attack ...
- Apache HTTP Server mod_proxy reverse proxy issue, Thu, Oct 6th ...
- ESRT @sambowne @Hfuhs - Detecting Malice with ModSecurity: Updated CSRF Attacks ...
- Apache 2.2.20 released to fix DoS vulnerability ...
- ModSecurity Advanced Topic of the Week Updated Exception Handling ...

Les derniers commentaires de la catégorie Tutoriels:
- UPDATE Snort 2.9.1.1 ...
- Apache Issues Patch To Stop Reverse-Proxy Bypass Attack ...
- ESRT @HackerTheDude @r0bertmart1nez @xanda @morenops - Kernel hacking the BSD way, new post ...
- ESRT @room362 - The Dirty Little Secrets They Didn't Teach You In Pentesting Class ...
- ESRT @jcran @dkarg - Metasploit Payloads VS Libemu - Alienvault Labs ...

Les derniers articles de la catégorie Tutoriels :
- PktAnon un framework pour l anonymat des traces PCAP
- [NessusWX – Partie 2] Audits et conclusion
- [NessusWX – Partie 1] Introduction, installation et configuration
- [IDS Snort Windows – Partie 4] Conclusion et webographie
- [IDS Snort Windows – Partie 3] Exemple de fichier de configuration
- [IDS Snort Windows – Partie 2] Installation et configuration
- [IDS Snort Windows – Partie 1] Introduction aux IDS et à SNORT
- [Sécurité et PHP - Partie 5] Astuces
- [Sécurité et PHP - Partie 4] Remote PHP Vulnerabilty Scanner
- [Sécurité et PHP - Partie 3] Les failles PHP




SecuToolBox :

Mini-Tagwall des articles publiés sur SecuObs :

Mini-Tagwall de l'annuaire video :

Mini-Tagwall des articles de la revue de presse :

Mini-Tagwall des Tweets de la revue Twitter :