Installation Ubuntu Server - Chapitre 1
Sponsoring
Cette documentation décrit l'installation d'une distribution
"Ubuntu 6.10 Server" sur dedibox.
Elle convient partiellement aux autres versions Ubuntu et n'est pas spécifique à la dédibox.
A / Préambule
Je ne décrirai volontairement pas la phase d'installation du système en lui-même, il est entièrement automatisé au sein de la console d'administration dédibox. Je ne m'attache qu'à ce qu'il faut faire ensuite, en accès SSH.
NB : Ce tutoriel a été constitué en bonne partie de nombreuses sources. Je ne les ai malheureusement pas toutes notées. Si certains y retrouvent leur travail, qu'ils se signalent, je les mentionnerai.
Elle convient partiellement aux autres versions Ubuntu et n'est pas spécifique à la dédibox.
A / Préambule
Je ne décrirai volontairement pas la phase d'installation du système en lui-même, il est entièrement automatisé au sein de la console d'administration dédibox. Je ne m'attache qu'à ce qu'il faut faire ensuite, en accès SSH.
NB : Ce tutoriel a été constitué en bonne partie de nombreuses sources. Je ne les ai malheureusement pas toutes notées. Si certains y retrouvent leur travail, qu'ils se signalent, je les mentionnerai.
B /
Pré-requis
Un peu de patience et une bonne grosse demi-journée de travail
I / Ménage et sécurité
Un peu de patience et une bonne grosse demi-journée de travail

I / Ménage et sécurité
1 / Mise à
jour du système
Votre système
est fraichement installé mais aucune mise à jour
n'a encore été faite.
Commencez par éditer le sources.list et fournissez lui les bons dépôts (sauf exception, inutile d'ajouter de fioritures, c'est un serveur, pas un desktop) :
Commencez par éditer le sources.list et fournissez lui les bons dépôts (sauf exception, inutile d'ajouter de fioritures, c'est un serveur, pas un desktop) :
$ sudo nano /etc/apt/sources.listpuis ajoutez ces lignes en
remplacement de celles proposées
deb http://fr.archive.ubuntu.com/ubuntu/ edgy main restricted
deb-src http://fr.archive.ubuntu.com/ubuntu/ edgy main restricted
#Major bug fix updates produced after the final release of the
## distribution.
deb http://fr.archive.ubuntu.com/ubuntu/ edgy-updates main restricted
deb-src http://fr.archive.ubuntu.com/ubuntu/ edgy-updates main restricted
## Uncomment the following two lines to add software from the 'universe'
## repository.
## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team, and may not be under a free licence. Please satisfy yourself as to
## your rights to use the software. Also, please note that software in
## universe WILL NOT receive any review or updates from the Ubuntu security
## team.
deb http://fr.archive.ubuntu.com/ubuntu/ edgy universe multiverse
deb-src http://fr.archive.ubuntu.com/ubuntu/ edgy universe multiverse
## Uncomment the following two lines to add software from the'backports'
## repository.
## N.B. software from this repository may not have been tested as
## extensively as that contained in the main release, although it includes
## newer versions of some applications which may provide useful features.
## Also, please note that software in backports WILL NOT receive any review
## or updates from the Ubuntu security team.
deb http://fr.archive.ubuntu.com/ubuntu/ edgy-backports main restricted universe multiverse
deb-src http://fr.archive.ubuntu.com/ubuntu/ edgy-backports main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu edgy-security main restricted
deb-src http://security.ubuntu.com/ubuntu edgy-security main restricted
deb http://security.ubuntu.com/ubuntu edgy-security universe multiverse
deb-src http://security.ubuntu.com/ubuntu edgy-security universe multiverse
Enregistrez et faites :
$ sudo apt-get update && sudo apt-get upgrade
pour procéder
à la
mise à jour
2 / Supprimer les
services inutiles
Typiquement, sur un
serveur, il y a pas
mal de services, dont vous n'aurez jamais aucune utilité,
qui méritent d'être
débarqués. Quel intérêt de
charger ppp par exemple ?
Par conséquent, vous pouvez supprimer sans vergogne le superflu et désactiver les services associés.
J'ai pris le parti de dégager ppp, daytime, telnet, time, finger, talk, ntalk, ftp, discard, pcmciautils. Dont acte :
Par conséquent, vous pouvez supprimer sans vergogne le superflu et désactiver les services associés.
J'ai pris le parti de dégager ppp, daytime, telnet, time, finger, talk, ntalk, ftp, discard, pcmciautils. Dont acte :
$ sudo apt-get remove --purge ppp lpr nfs-common pidentd pcmcia-cs ppoe ppoeconf pppconfig[1]
$ sudo update-rc.d --remove ppp
$ sudo update-rc.d --remove telnet
$ sudo update-rc.d --remove time
$ sudo update-rc.d --remove finger
$ sudo update-rc.d --remove talk
$ sudo update-rc.d --remove ntalk
$ sudo update-rc.d --remove ftp
$ sudo update-rc.d --remove discard
$ sudo update-rc.d --remove pcmciautils
3 / Supprimer la
connexion root de SSH
Accéder son
serveur en ssh,
c'est bien. Se faire enfoncer le fion parce qu'on a bêtement
laissé l'accès root en connexion, c'est plus
embêtant. Pour parer à cette sale
éventualité, interdisons l'accès au
serveur en ssh au compte root.
$ sudo nano /etc/ssh/sshd_config
Dans ce fichier, cherchez
la chaine
"PermitRootLogin" et placez sa valeur à "no".
Fermez le fichier et enregistrez le.
Fermez le fichier et enregistrez le.
4 /
Sécurisation noyau
Maintenant, nous allons,
sous compte
root, modifier les paramètres ipv4 afin de
sécuriser un peu plus notre serveur, notamment en ignorant
les paquets broadcast, désactiver le routage des paquets
d'origine interne, désactiver les autorisations de
redirection depuis le serveur, loguer les paquets falsifiés,
...
$ sudo -s$ echo "0" > /proc/sys/net/ipv4/conf/all/accept_source_route
$ echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcast $ echo "1" > /proc/sys/net/ipv4/tcp_syncookies $ echo "1024" > /proc/sys/net/ipv4/tcp_max_syn_backlog $ echo "1" > /proc/sys/net/ipv4/conf/all/rp_filter $ echo "0" > /proc/sys/net/ipv4/conf/all/accept_redirects $ echo "0" > /proc/sys/net/ipv4/conf/all/secure_redirects $ echo "1" > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses $ echo "1" > /proc/sys/net/ipv4/conf/all/log_martians
$ exit
5 / Synchronisation du
serveur (NTP)
Avoir un serveur, c'est
bien. Avoir un
serveur à l'heure, c'est mieux. Intéressons nous
à la synchronisation de notre machine sur un serveur
d'horodatage :
$ sudo ntpdate ntp.dedibox.fr
$ sudo apt-get install ntp-simple
$ sudo nano /etc/ntp.conf[2]
Dans le fichier ntp.conf,
indiquer ces deux lignes:
server pool.ntp.org
server ntp.dedibox.fr
Enregistrez, quittez.
6 / Fail2ban et
Chkrootkit
Administrer une machine,
c'est aussi
faire face à une multitude de comiques qui tenteront
d'accéder par tous les moyens à un compte. La
méthode n'est sans doute pas parfaite mais 2 utilitaires
nommés fail2ban et chkrootkit peuvent vous faciliter la vie.
Fail2ban scanne vos
fichiers de log en
temps réel et banni, si l'option est activée, les
gugus qui s'approchent d'un peu trop près du serveur. Il
s'installe comme suit :
$ sudo apt-get install fail2ban
ATTENTION
: Avec la version 6.10
d'Ubuntu, vous installerez la version 0.6.1 de fail2ban. Elle est
buggée. Suivez ces
indications
pour corriger l'erreur
Quant à
chkrootkit, son
rôle se cantonne à vérifier
fréquemment la présence de rootkits et vous en
avertir.
$ sudo apt-get install chkrootkit
Alors que fail2ban tourne
en daemon,
chkrootkit doit être lancé à la mimine.
Pour ne pas trop se fatiguer (faut pas déconner, non
plus), assignons-lui un cron :
$ sudo crontab -e
Dans le fichier cron,
plaçons cette ligne :
0 3 * * * chkrootkit 2>&1 | mail votre@adresse.mail -s "Rapport quotidien RootKit"
Enregistrez, quittez. Vous
recevrez alors par mail [3]
quotidiennement, à 3 heures du matin, le rapport.
Le chapitre 1 est clos.
Votre serveur est installé et sécurisé contre les principales attaques.
J'aborderai, dans les prochains chapitres, l'installation et la configuration du serveur de mail postfix, l'installation d'un serveur LAMP (Linux - Apache - Mysql - PHP), la configuration de fail2ban que nous n'avons pour l'instant qu'installé, la configuration d'Apache afin de gérer les Vhosts et l'installation de ProFTP.
Votre serveur est installé et sécurisé contre les principales attaques.
J'aborderai, dans les prochains chapitres, l'installation et la configuration du serveur de mail postfix, l'installation d'un serveur LAMP (Linux - Apache - Mysql - PHP), la configuration de fail2ban que nous n'avons pour l'instant qu'installé, la configuration d'Apache afin de gérer les Vhosts et l'installation de ProFTP.







Un truc à dire ?