Configurer un serveur dédié

Dernière mise à jour:

Suite à mon tutorial sur la mise en place d’une dedibox chez Online.fr, je me retrouve une nouvelle fois en train de configurer un nouveau serveur dédié sous linux.

Je vous propose donc de découvrir comment configurer votre serveur Linux. Je pense qu’il manquera beaucoup de choses mais cela vous permettra de pouvoir au moins faire une première installation. Personnellement je dois migrer de serveur car l’ancien n’était pas assez puissant pour gérer toutes les données de mon site Cinealliance.fr.

Ce tuto a été écrit en temps réel pendant que j’étais en train d’installer un serveur et il est destiné à des débutants ou à des personnes qui n’ont pas envie de chercher pendant des heures.

Je considère que vous avez suivi le précédent tuto pour installer une machine sous Debian.

Tout d’abord pour vous connecter à votre serveur, vous aurez besoin d’un client SSH. Il en existe pleins (des gratuits ou payants). Celui que je préfère c’est MobaXterm pour faire du shell et Flashfxp lorsque j’ai besoin de transférer des fichiers en Sftp.

Après avoir lancé MobaXterm, il faut faire un bouton droit, new session

deib0

Ensuite vous choisissez SSH et vous inscrivez votre IP et le login que vous allez utiliser (en principe il ne faut pas mettre le login pour plus de sécurité). Vous pouvez mettre le login root (risqué) ou un autre login.

 

deib1

En faisant ensuite un double click, vous vous retrouvez sur le prompt linux

deib2

Maintenant, si vous êtes connecté sous un utilisateur sans pouvoir, vous devez taper

su – root

Vous entrez votre mot de passe root

Maintenant vous êtes root et vous pouvez faire ce que vous voulez.

On v a commencer par taper la commande

aptitude update

deib3

Ensuite, il faut écrire

aptitude dist-upgrade

On va installer ensuite fail2ban qui vous permettra de vous protéger contre des tentatives d’intrusions.

On tape :

aptitude install fail2ban

deib4

Maintenant on va installer le serveur Mysql pour vos bases de données :

aptitude install mysql-server

deib5a

Il faudra définir un mot de passe

deib5

Maintenant on va changer le port SSH. En effet le port par défaut, c’est le 22 (donc facile à découvrir). On va mettre un port avec une adresse plus haute du style 2356 par exemple

deib6

Pour éditer les fichiers, on va utiliser vi

Voici quelques commandes à connaitre dans vi

:wq (permet de quitter et sauvegarder)

:q! (quitter sans sauvegarder même si vous avez fait des modifications)

x (pour supprimer)

dd (pour supprimer une ligne)

i (pour insérer)

o (pour insérer sous la ligne)

Pour utiliser ses commandes il faut appuyer sur la touche Echap.

On tape :

vi /etc/ssh/sshd_config

On va modifier le port 22. Vous vous mettez sur le 22 en vous déplaçant avec les flèches. Vous appuyez sur X puis sur X puis sur I puis sur 2356 (par exemple)

Si ce n’est pas déjà fait, il faut modifier

PermitRootLogin no
Protocol 2

Puis vous appuyez sur la touche Escape et vous appuyez sur la touche : puis wq

Vous avez enregistré vos paramètres.

Faire ensuite /etc/init.d/ssh restart

Pour vous reconnectez, pensez à changer le port avec celui que vous avez mis :). Attention, il ne sera pas possible de se reconnecter si vous avez oublié le port ! Donc il faut le retenir !

Maintenant on revient à Fail2ban pour le configurer :). On tape :

vi /etc/fail2ban/jail.conf

On remplace le port ssh par le port que vous aviez précédemment choisi (2356). N’oubliez pas X pour effacer et I pour insérer avec vi.

Il faut aussi passer certains des paramètres à true pour activer des règles.

Ensuite pensez à faire escape :wq pour sauvegarder

deib10

Il faut stopper fail2ban :

/etc/init.d/fail2ban stop

Ensuite on le relance :

/etc/init.d/fail2ban start

En tapant ps -ef vous verrez si le processus de fail2ban est en train de tourner

deib11

 

Maintenant nous allons installer apache et php.

deib7

Il faut taper :

aptitude install apache2 php5 php5-gd apache2-dev

Afin anonymiser un peu apache, on va éditer le fichier :

vi /etc/apache2/conf.d/security

Nous modifions

ServerTokens Prod
ServerSignature Off

 

Il faut ensuite sauvegarder (:wq)

 

Nous allons un peu modifier apache en tapant ces commandes :

a2enmod rewrite
a2enmod expires
a2enmod headers

On recharge le serveur Apache :

/etc/init.d/apache2 restart

Pour que tout soit bon sur mysql et php on tape :

aptitude install mysql-server php5-mysql
apt-get install libapache2-mod-php5 php5 \
php5-common php5-dev php5-curl php5-gd \
php-pear php5-imagick php5-mcrypt php5-memcache \
php5-mhash php5-mysql php5-cli

On installe ensuite phpmyadmin

aptitude install phpmyadmin

On choisit Apache et il faudra ensuite taper son password d’admin de bdd

deib9

 

 

 

On relance Mysql :

/etc/init.d/mysql restart

On modifie la configuration de phpmyadmin

vi /etc/apache2/conf.d/phpmyadmin.conf

On modifie le nom de phpmyadmin pour qu’il soit plus difficile à découvrir :

Alias /jemodifiephpmyadmin /usr/share/phpmyadmin

Ensuite vous sauvegardez et vous taper la commande suite :

/etc/init.d/apache2 restart pour que les modifications soient prises en compte

 

On installe le firewall Shorewall en tapant :

aptitude install shorewall ulogd make

Faites ensuite

cd /usr/share/doc/shorewall/examples/one-interface/

puis taper

cp interfaces policy rules zones /etc/shorewall/

Nous venons de copier les fichiers de configurations

On revient dans notre répertoire de configurations :

cd /etc/shorewall/

Le fichier qui nous intéresse c’est rules donc on tape

vi rules

On va ajouter des lignes

Attention au fichier rules car il faudra bien mettre votre port SSH sinon vous ne pourrez plus vous connecter à votre serveur !

# Mon SSH

ACCEPT          net             $FW             tcp     2356

#WEB

ACCEPT          net             $FW             tcp     80
ACCEPT          net             $FW             tcp     443

#port a fermer

DROP            net             $FW             tcp     113
DROP            net             $FW             udp     113

deib12

Attention au ping drop car si vous monitorez (monitoring proactif) votre serveur, celui ci sera peut être marqué offline ou le monitor proactif pensera que votre serveur a un problème et le fera rebooté.

Il faudra ajouter

ACCEPT          net             $FW             icmp

Si vous avez besoin d’ajouter d autres règles, n’hésitez pas 🙂

On va maintenant demander à shorewall de se lancer par défaut. On tape :

vi /etc/default/shorewall

Il faut ensuite modifier la ligne startup=1

deib13

On lance shorewall :

shorewall start

On regarde si tout se passe bien en tapant shorewall status

deib14

Ensuite lancez une nouvelle connexion SSH sans vous déconnecter pour voir si vous arrivez toujours à vous logger :). Si ce n est pas le cas, c est que vous avez fait une erreur. Corrigez la de suite car sinon il vous sera impossible de vous reconnecter !

 

Je pense qu’avec cela, vous pourrez ainsi installer un serveur dédié :). Je n’utilise pas mon serveur dédié pour les mails donc je n’ai pas expliqué comment installer un serveur de smtp et pop3.

Je ne suis pas responsable en cas de problème. Ce tuto est là à titre d’informations. Il n’est pas très poussé mais il vous permettra d’aller un peu plus vite lors d’une installation. Il faudra sans doute ensuite affiner certains réglages.

 

Ce tuto aura une suite qui s’intéressera à la migration des données et à la configuration d’Apache

 

Quelques articles intéressants :

 http://www.sublimigeek.fr/installer-et-configurer-fail2ban-sur-un-serveur qui vous donnera des astuces sur Fail2ban et qui m a permis d’ajouter des nouvelles règles 🙂

Pour Shorewall : http://www.debian-fr.org/installation-et-configuration-de-shorewall-t6963.html

 

Plateforme de Gestion des Consentements par Real Cookie Banner