Mise en route d’un VPS pulseheberg
MAJ 03/11/2013 : ajout d’une correction de la partie locale de dropbear
Je viens de louer un petit VPS pour travailler. L’hébergeur : http://www.pulseheberg.com/
On est pas dans la cour d’OVH, pour le prix de leur kimsufi on a un VPS. Mais la proposition semble honnête pour un VPS. Je précise aussi que c’est mon premier VPS. Je ne peux pas comparer avec d’autres. Par contre je pourrai dire ce que je pense de celui là dans quelques temps
Par défaut le serveur est sous debian 6. Sur le site on parle de plusieurs distributions linux, mais soit l’interface est vraiment brouillon, soit c’est uniquement pour les dédiés, soit j’étais pas réveillé.
La suite de l’article est simplement la procédure employée pour mettre à jour la machine et surtout la nétoyer/préparer pour la rendre exploitable. Car oui, à la livraison, elle est chargée la bougresse.
Mise à jour de la bête
- apt-get update;apt-get dist-upgrade
- Configurer les locales
dpkg-reconfigure locales
- Remise à l’heure
dpkg-reconfigure tzdata
- Passer en debian stable
sed -i 's/squeeze/stable/g' /etc/apt/sources.list apt-get update; apt-get dist-upgrade -y
- reboot
User
On va créer notre premier user histoire de ne plus avoir besoins de se connecter en tant que root
adduser monuser
Installation des utilitaires de base
apt-get install vim-nox tmux unzip zip curl ntp ntpdate git-core wget
On passe dans une console tmux pour la suite
Securisation du serveur
- Changer sshd pour dropbear histoire defaire des économies de mémoire.
apt-get install dropbear fail2ban
- Activation de dropbear au démarrage
sed -i 's/NO_START=1/NO_START=0/g' /etc/default/dropbear
- Interdir à root de se connecter directement en ssh
sed -i 's/DROPBEAR_EXTRA_ARGS=/DROPBEAR_EXTRA_ARGS="-w"/g' /etc/default/dropbear
- Utiliser le port 1234 au lieu de 22
sed -i 's/DROPBEAR_PORT=22/DROPBEAR_PORT=1234/g' /etc/default/dropbear
- Démarrer et tester dropbear
Basculer sur une identification par clée
Je ne reviendrai pas sur la création des clées.
- Copie de la clé publique vers notre serveur
desktop$ ssh-copy-id -i .ssh/id_rsa.pub 62.4.xxx.xxx -p 1234
- Création d'un fichier de configuration facilitant la connexion
monuser@desktop ~ $ cat .ssh/config Host kywyxy Hostname 62.4.xxx.xxx Port 1234
On teste comme ça :
ssh kywyxy
Et normalement on a plus besoin de password.
- Arrêt de ssh et désinstallation
/etc/init.d/ssh stop&&;apt-get purge openssh-server
- Dropbear et les locales...
Dropbear à un inconvéniant : il ne propage pas les locales, à la connexion. Résultât on est en POSIX (commande locale). Pour y remédier :vi /etc/profile.d/locale.sh #!/bin/sh . /etc/default/locale export LANG
On rend le script exécutable, et on se reconnecte :
chmod +x /etc/profile.d/locale.sh
- Mise en route du firewall
git clone https://github.com/mornik/config.git chmod +x /root/iptables.sh;rm licence.txt root@kywyxy:/home/monuser# sed -i '/exit/i\\ /root/iptables.sh' /etc/rc.local chmod +x /etc/rc.local /etc/init.d/rc.local
Nettoyage du système
Par défaut il y a trop de choses qui tournent, xinetd, winbind, apache2, bind9, smbd. Pour l'instant on va laisser sendmail, mais c'est que temporaire.
apt-get purge winbind xinetd apache2 samba bind9;apt-get autoremove
Installation du serveur web
On a viré apache pour gagner de la mémoire on va mettre à la place un petit nginx, du php en fastcgi et un cache php.
- Installation
apt-get install nginx php5 php5-fpm php-apc
- Configuration du cache
On va pré-allouer 50Mo au cache. Il faudra adapter cette valeur à ce qui va tourner, mais là tout de suite ça me permet de récupérer de la mémoire. De toute façon à terme je pense couper php pour n'utiliser que du python.sed -i 'i\\ apc.shm_size=50' /etc/php5/mods-available/apc.ini
Note : Il y a actuellement un petit souci sur leur VPS. On ne peux pas charger le module ipt_LOG d'iptable, permettant de loger son activité. En espérant que ça se résolve.