Voir Installer_debian
Etant donné que quasiment toutes les actions à faire sont à faire en mode root, autant passer en root directement
su
Mot de passe :_
Pour une installation sur un serveur virtualisé sous vmware:
Voir Notes config vmware
nano /etc/nanorc
## Fix numeric keypad key confusion problem.
set rebindkeypad
## Use smooth scrolling as the default.
set smooth
nano /root/.bashrc
nano /home/userxx/.bashrc
PS1='${debian_chroot:+($debian_chroot)}[\D{%d/%m/%y-%H:%M}]\[\e[1;31m\]\u\[\e[m\e[00;1;37m\] @ \[\e[m\e[0;1;41m\]\H\[\e[m\e[1m\]\\>\[\e[m\]<\[\e[m\e[01;34m\]\w\[\e[m\]>\$ '
pour tous les utilisateurs
nano /etc/profile
nano /etc/skel
Ajouter à la fin
alias lsk='ls -ohFA'
alias back='cd .. && lsk'
alias maj='apt-get update && apt-get upgrade'
alias iptablesL='iptables -L -v -n'
apt-get install iptables-persistent
On copie les règles sur un serveur 'host' avec le login 'login' se trouvant dans /etc/iptables/rules.v* vers /etc/iptables
scp login@host:/etc/iptables/rules.v* /etc/iptables
On met en route les règles préalablement copiées dans /etc/iptables/rules.v*
Voir Notes config IPTables pour les règles à mettre dans rules.v*
iptables-restore -c < /etc/iptables/rules.v4
ip6tables-restore -c < /etc/iptables/rules.v6
apt-get install ntpdate
Voir Notes config serveur NTP pour la configuration du client.
apt-get install apache2
nano /etc/apache2/conf-enabled/security.conf
Changer la valeur ServerTokens pour la mettre en Prod
ServerTokens Prod
nano /etc/apache2/mods-enabled/mime.conf
Dans le fichier ajouter .pl à la fin de la ligne et décommenter
AddHandler cgi-script .cgi .pl
Dans le fichier de configuration du site
nano /etc/apache2/sites-enabled/000-default.conf
Ajouter sous "DocumentRoot /var/www/html"
# Ajout pour l'utilisation des script CGI
<Directory "/var/www/html">
AllowOverride All
Options +ExecCGI
Require all granted
</Directory>
# EOM Utilisation script CGI
Activer le module
a2enmod cgid
apt-get install libapache2-mod-security2
Renommer le fichier de conf de mod-security
mv /etc/modsecurity/modsecurity.conf-recommended /etc/modsecurity/modsecurity.conf
Editer ce fichier
nano /etc/modsecurity/modsecurity.conf
Ajouter la directive SecServerSignature à la fin du fichier
SecServerSignature "none"
Activer le mode userdir
a2enmod userdir
Configurer le module
nano /etc/apache2/mods-available/userdir.conf
Renseigner UserDir pour le faire correspondre au dossier utilisateur /home/*/www
UserDir /home/*/www
Rajouter des IndexOptions pour rendre plus joli l'affichage d'un dossier sans fichier index.*
IndexOptions FoldersFirst FancyIndexing IgnoreCase
Bloquer l'utilisation de php dans le dossier de l'utilisateur en rajoutant
php_admin_value open_basedir ".."
Enregistrer et redémarrer apache pour que les changements soient pris en compte
systemctl restart apache2
Renvoyer vers HTTPS est assez simple, il suffit de modifier le virtualhost en réécrivant toute connexion sur le port standard (80 en général) vers le protocole https.
a2enmod rewrite
Modifier le vhost
<VirtualHost *:80>
Redirect permanent / https://mondomaine.tld/
</VirtualHost>
Il faut créer un fichier .htpasswd dans un dossier protégé qui contient le login et le hash du mot de passe:
Par exemple:
echo "chris:iouqhdgoiquhdiouhpfiuohsdfqosif" > /var/www/html/dossier_protege/.htpasswd
Ensuite aller dans apache2.conf et ajouter
<Directory /var/www/ledossieraproteger/>
AllowOverride all
AuthName "Acces prive"
AuthType Basic
AuthUserFile /var/www/ledossieraproteger/.htpasswd
Require valid-user
</Directory>
Puis il faut aller dans ledossieraproteger et ajouter un fichier .htaccess contenant
nano .htaccess
AuthUserFile /var/www/ledossieraproteger/.htpasswd
AuthName "Accès protégé"
AuthType Basic
Require valid-user
Afin de disposer de paquets plus récents que les paquets disponible sur Debian, nous rajoutons dotdeb au système :
echo "deb http://packages.dotdeb.org jessie all" > /etc/apt/sources.list.d/dotdeb.list
wget -O- https://www.dotdeb.org/dotdeb.gpg | apt-key add -
apt-get update && apt-get upgrade
apt-get install php7.0
apt-get install mariadb-server
apt-get install phpmyadmin
mysql_secure_installation
saisir le mot de passe deux fois et répondre aux questions par oui
on crée un nouvel utilisateur
CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
on lui donne les droits
GRANT ALL PRIVILEGES ON * . * TO 'newuser'@'localhost';
apt-get install fail2ban
configuration des fichiers conf
nano jail.conf
# Réseaux et adresses à ne pas bannir
ignoreip = 127.0.0.1/8 192.168.1.0/24
# Temps pendant lequel bannir l'ip
bantime = 900
# Durée sur laquelle fail2ban doit chercher des tentatives
findtime = 600
# Nombre de tentatives sur la durée pour bannir
maxretry = 3
# Email de destination
destemail = admin@mondomaine.com
# Nom de l'émetteur pour les notification d'actions
sendername = Fail2ban-host
# Adresse de l'émetteur
sender = fail2ban@mondomaine.com
# Action par défaut, pour activer l'envoi complet par mail
action = %(action_)s
On active toutes les jails relatives au serveur web et autres nécessaires
Voir Configuration Fail2ban et règles
on enregistre sous
/etc/fail2ban/jail.local
apt-get install proftpd proftpd-mod-mysql
apt-get install proftpdadmin
soit: nvidia-legacy-340xx-driver
soit: xserver-xorg-video-nouveau
utiliser update-glx pour switcher entre les différents drivers installés