IX. Installation et sécurisation d'un serveur Apache MODSSL▲
Les actions réalisées ici ont été réalisées après avoir suivi les étapes suivantes de la procédure générale :
- Installation du système
- Configuration initiale du système
- Premier accès au système et sécurisation minimale
- Sécurisation modérée
- Gestion des quotas
- Sécurisation PAM : Gestion des limites
IX-A. Installation▲
Vous devez avoir une partition /dev/sda11 dans /etc/fstab du type :
/dev/sda11 /var/www ext2 rw,nosuid,nodev 0 2
apt-get update
apt-get install apache apache-doc libapache-mod-ssl libapache-mod-ssl-doc -d
=> Acceptez les packages: 'apache apache-common apache-doc libapache-mod-ssl libapache-mod-ssl-doc libexpat1 openssl'.
cd /var/cache/apt/archives/
for
i in
`echo *.deb`
; do
md5sum $i;done
98146bac67cff4cf252e4ff2bbbb6560 apache-common_1.3
.26
-0woody3_i386.deb
a13fce3a93f137ef243bc743e7b5a57d apache-doc_1.3
.26
-0woody3_all.deb
95d81b2239554383c56c7d193c476ddb apache_1.3
.26
-0woody3_i386.deb
7c5f6a20d23ec97bd7d0f8ec5bd14172 libapache-mod-ssl-doc_2.8
.9
-2
.1_all.deb
9756a3701103f8779c65455c968898c3 libapache-mod-ssl_2.8
.9
-2
.1_i386.deb
95f921ff15b8bf124ec9e9e6a3230774 libexpat1_1.95
.2
-6_i386.deb
8af019bb8fc566504db03d88f75b782a openssl_0.9
.6c-2
.woody.2_i386.deb
mount -o remount,rw /usr/
mount -o remount,exec /tmp/
apt-get install apache apache-doc libapache-mod-ssl libapache-mod-ssl-doc
mount -o remount,ro /usr/
mount -o remount,noexec /tmp/
/etc/init.d/apache stop
IX-B. Configuration initiale▲
Ajoutez les règles suivantes à votre firewall et rechargez-le :
# Allow anyone to reach us on HTTP/HTTPS tcp ports
$IPCH
-A input -p tcp --sport 1024
: --dport 80
-j ACCEPT
$IPCH
-A output -p tcp --sport 80
--dport 1024
: -j ACCEPT
Créez une arborescence :
mkdir /var/www/htdocs
chmod 750 /var/www/htdocs && chown root:www-data /var/www/htdocs
Positionnez des permissions restrictives sur la configuration :
chmod 750 /etc/apache /etc/apache/ssl*
chmod 640 /etc/apache/*.conf
Préparez le certificat (ou récuperez le votre) :
mkdir /etc/apache/ssl
cd /etc/apache/ssl
openssl genrsa -out {HOSTNAME}.key 2048
openssl req -new -x509 -days 365 -key m18412.key -out m18412.crt
Mettez en place un fichier de configuration minimal :
cd /etc/apache
cp httpd.conf httpd.conf.orig
Remplacez /etc/apache/httpd.conf par le fichier de configuration présent en 'Annexe 6 - Fichier de configuration Apache minimal'.
Créez le groupe webadm: groupadd webadm
Préparez le répertoire de logs :
mkdir /var/log/apache
chown root:webadm /var/log/apache && chmod 3750 /var/log/apache
Préparez la rotation des logs en modifiant le fichier /etc/logrotate.d/apache sur les lignes suivantes (Vous devriez adapter cette configuration à votre environnement en créant un script d'archivage dans un répertoire distinct) :
daily
rotate 365
create 640 root webadm
Démarrez et testez Apache :
/etc/init.d/apache start
Ajoutez vos utilisateurs/administrateurs dans un groupe webadm qui aura des droits sur l'arborescence web : groupadd webadm
Pour les administrateurs: usermod -g {UserName} -G adm,users,webadm,www-data {UserName}
Pour les utilisateurs : usermod -g users -G webadm,www-data {UserName}
Avec 'visudo', ajoutez les entrées suivantes dans /etc/sudoers pour permettre à vos administrateurs web d'administrer le serveur Apache :
# Cmnd alias specification
[...]
Cmnd_Alias APACHECTL
=
/usr/sbin/apachectl
[...]
# User privilege specification
[...]
%webadm
ALL
=
NOPASSWD:APACHECTL
L'arborescence des sous-répertoires de 'htdocs' peut être du type :
mkdir /var/www/htdocs/{directory_name}
chown root:webadm /var/www/htdocs/{directory_name}
chmod 3775 /var/www/htdocs/{directory_name}
Vos administrateurs web (groupes webadm et www-data) peuvent désormais accéder à cette arborescence et poser les fichiers nécessaires au site des facons suivantes : {UserName}:webadm => Par défaut {UserName}:www-data => Avec un chown. => Attention, dans les deux cas aux permissions affectées aux fichiers, elles doivent au moins être en 644 pour le premier cas et en 640 pour le second cas.
IX-C. Intégration des quotas▲
Groupe Partition Place Soft Hard Inodes Soft Hard
adm /tmp 185M 50M 60M 49K 15K 20K
adm /home 465M 100M 125M 122K 20K 30K
adm /var/www 279M 1 1 1 1 1
users /tmp 185M 50M 60M 49K 15K 20K
users /home 465M 100M 125M 122K 10K 15K
users /var/www 279M 1 1 1 1 1
webadm /tmp 185M 1 1 49K 1 1
webadm /home 465M 100M 125M 122K 10K 15K
webadm /var/www 279M 200M 225M 73K 50K 60K
www-data /tmp 185M 1 1 49K 1 1
www-data /home 465M 1 1 122K 1 1
www-data /var/www 279M 40M 50M 73K 1K 10K
Utilisateur Partition Place Soft Hard Inodes Soft Hard
quotauser /tmp 185M 5M 10M 49K 1,5K 5K
quotauser /home 465M 15M 20M 122K 3K 5K
quotauser /var/www 279M 5M 10M 73K 1K 2K
IX-D. Empreinte du système▲
Suivez la procédure présentée en Conserver une empreinte de vérification d'intégrité du système
IX-E. Sauvegarde du système▲
Référez vous à Backup du système sur une partition spécifique.