Cette page vise à maintenir la liste des petits détails de configuration qu'il faudrait envisager de faire sur les serveurs. Elle a été rédigée au début de Grenode, et n'a pas forcément été mise à jour depuis…

A faire sur chaque machine

Configuration du proxy apt (outils.grenode.net) — à Grenoble-01

echo 'Acquire::http::Proxy "http://outils.grenode.net:3142";' > /etc/apt/apt.conf.d/01proxy

Installation des outils indispensables

apt-get install less tcpdump nmap iproute debian-goodies sudo chkconfig

Éditeur de fichier par défaut

le paquet vim-nox permet d'installer vim sans les dépendances graphiques.

apt-get install vim-nox

Contenu du fichier /etc/vim/vimrc.local

syntax on
set background=dark
if has("autocmd")
  filetype plugin indent on
endif

Enfin, mettre à jour les alternatives :

update-alternatives --config editor

Utilisateurs et passwd-init

Pour installer un nouvel utilisateur :

adduser --disabled-password --gecos <login> <login>

Il faut ensuite ajouter cet utilisateur au groupe sudo.

Installation du script passwd-init et de la configuration de sudo qui va bien ; ajouter au fichier sudoers (avec visudo) :

NOPASSWD: /usr/local/sbin/passwd-init

Cela permet à quiconque faisant parti du groupe sudo de s'initialiser un mot de passe, en utilisant sudo sans mot de passe.

Gestion du temps (ntp)

apt-get install ntp

Accès root

Les comptes root des machines n'ont pas de mot de passe.

passwd -l root

Gestion du mail

Installation de nullmailer avec :

  • machines@grenode.net dans /etc/nullmailer/adminaddr
  • mail.grenode.net dans /etc/nullmailer/remotes

Configuration de l'alias root dans /etc/aliases vers machines@grenode.net

Remplacement de exim par postfix

apt-get remove --purge exim4 exim4-base exim4-config exim4-daemon-light
apt-get install bsd-mailx postfix

Dans le cas d'un serveur qui ne fait pas de mail, bien configurer le postfix pour qu'il écoute en local seulement, en relayant sur mail.grenode.net ; les lignes de conf dans main.cf :

relayhost = mail.grenode.net
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
inet_interfaces = localhost

Accès à distance (ssh)

On autorise aussi l'accès aux comptes par mot de passe.

Si vraiment on se retrouve à avoir besoin d'automatiser des connexions, voir le passphraseless-ssh howto de Phil Hands.

Prévenir l'extinction involontaire

molly-guard est un outil pour prévenir les erreurs de manipulation menant à l'extinction de la mauvaise machine. Il faut le configurer pour systématiquement interroger le hostname pour que ça fonctionne avec screen.

apt-get install molly-guard
echo "ALWAYS_QUERY_HOSTNAME=true" >> /etc/molly-guard/rc

Prévenir des mises à jours de paquet

apticron est un outil pour prévenir des mises à jours possibles des paquets installés sur la machine. Il faut le configurer pour envoyer un seul mail et donner l'adresse à utiliser.

apt-get install apticron
sed -e "s/^# DIFF_ONLY=/DIFF_ONLY=/g" -i /etc/apticron/apticron.conf

Autorité de certification

Le certificat, si nécessaire, est à installer dans /etc/ssl/certs/grenode-crt.pem.

La clé privée, si nécessaire, est à installer dans /etc/ssl/certs/grenode-key.pem.

Le certificat concerne *.grenode.org, *.grenode.net, grenode.org et grenode.net et provient de l'authorité CAcert.org.

Installation d'etckeeper

etckeeper

Rajouter les admins

Cf partie Administration.

Intéressant pour plus tard

Utilisation de Monkeysphere

Monkeysphere permet de gérer les clés SSH à partir de clés GnuPG, et donc de gérer le validité des clés à travers la web-of-trust. Ça permet donc de revoqué des clés, d'installer des nouvelles machines et que les users puissent avoir confiance dedans sans leur communiquer d'info supplémentaires, etc.

e2croncheck

Ted Tso recommande d'effectuer une vérification périodique des systèmes de fichiers en utilisant des snapshots LVM. Ça semble être une bonne idée. Le script s'appelle e2croncheck, mais curieusement il n'est pas dans le paquet Debian.

A discuter

/tmp et /var/tmp

Utilise-t-on un tmpfs (système de fichiers uniquement en mémoire vive) pour /tmp ?

/var/tmp est normalement conservé entre les redémarrages de la machine quand /tmp est sauvegardé. Mais on peut aussi faire un lien symbolique de /var/tmp vers /tmp

Empêcher le chargement de module

Si un jour on se met à utiliser Linux version 2.6.31 ou plus, on pourra empêcher le chargement de nouveau module après le démarrage du système en utilisant /proc/sys/kernel/modules_disabled. cf. l'article du Kees Cook.