Logo Khaganat

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
fr:1eres_etapes_serveur [2017/01/01 18:22] – restructuration vite fait zatalyzfr:1eres_etapes_serveur [2023/06/21 08:57] (Version actuelle) – [Premières étapes dans la mise en place d'un serveur] zatalyz
Ligne 2: Ligne 2:
 Cet article concerne les premières choses à faire lorsque vous venez d'installer ou de réceptionner un serveur. Il est tout beau, tout neuf, tout vide, en dehors du système de base. Quel que soit son usage (hébergement de sites web, d'un serveur de jeu, de mails, etc...), il faut réaliser quelques opérations pour démarrer sur de bonnes bases et éviter d'avoir des soucis par la suite. Cet article concerne les premières choses à faire lorsque vous venez d'installer ou de réceptionner un serveur. Il est tout beau, tout neuf, tout vide, en dehors du système de base. Quel que soit son usage (hébergement de sites web, d'un serveur de jeu, de mails, etc...), il faut réaliser quelques opérations pour démarrer sur de bonnes bases et éviter d'avoir des soucis par la suite.
  
-Dans ce tutoriel, nous prenons l'exemple d'une VPS sur laquelle est installé Debian JessieC'est facilement adaptable à un serveur dédié, un serveur hébergé en local ou une VM.+Dans ce tutoriel, nous prenons l'exemple d'un serveur sur laquelle est installé Debian. Tant que c'est du Debian, peu importe que ce soit serveur dédié, un serveur hébergé en localune VM ou un container proxmox..
  
-Pour se connecter en console : +Pour se connecter en console, voir [[fr:ssh#se_connecter_a_un_serveur_avec_sa_cle]]. Ça devrait ressembler à cela 
-  ssh root@AdresseIP+  ssh monuser@aliasdomain
  
 ===== Root, user, dépôts et détails de confort ===== ===== Root, user, dépôts et détails de confort =====
Ligne 18: Ligne 18:
 Et on en profite pour installer tout de suite les quelques logiciels basiques et utiles qui manquent parfois (tout dépend de votre distribution). Et on en profite pour installer tout de suite les quelques logiciels basiques et utiles qui manquent parfois (tout dépend de votre distribution).
  
-  apt-get update +  apt update 
-  apt-get install nano bash-completion cron logrotate bsd-mailx +  apt install nano bash-completion cron logrotate bsd-mailx 
-  apt-get upgrade+  apt upgrade
  
 ==== Quelques logiciels utiles ==== ==== Quelques logiciels utiles ====
Ligne 53: Ligne 53:
       . /etc/bash_completion       . /etc/bash_completion
 fi</code> fi</code>
 +
 +=== Personnaliser le prompt ===
 +
 +Tout d'abord, il faut accepter qu'il soit coloré. Pour cela il faut décommenter la ligne adéquate, avec ''force_color_prompt=yes''
 +<code bash>
 +# uncomment for a colored prompt, if the terminal has the capability; turned
 +# off by default to not distract the user: the focus in a terminal window
 +# should be on the output of commands, not on the prompt
 +force_color_prompt=yes
 +</code>
 +
 +VOus pouvez ensuite obtenir le nom du compte@leserveur puis l'heure et enfin, le prompt en entrant la ligne suivante à la fin de votre fichier .bashrc :
 +
 +<code bash>
 +export PS1='\[\033[00;31m\]\u@\h\[\033[00;36m\]:\t\[\033[00;34m\]$(__git_ps1 " (%s)")\n\[\033[00;32m\]\$\[\033[00m\] '
 +</code>
 +
 +Alternative (indique le nom d'utilisateur, le nom du serveur, le chemin du répertoire et la date et m'évite une erreur de "__git_ps1" au dessus) :
 +<code bash>
 +export PS1='\[\033[00;31m\]\u@\h\w\[\033[00;36m\]:\t\[\033[00;34m\]$\n\[\033[00;32m\]\$\[\033[00m\] '
 +</code>
 +
 +Des explications peuvent être trouvées sur les pages :
 +  * https://wiki.archlinux.org/index.php/Bash/Prompt_customization
 +  * https://help.ubuntu.com/community/CustomizingBashPrompt
  
 ==== Dépôts ==== ==== Dépôts ====
Ligne 76: Ligne 101:
   apt-get upgrade   apt-get upgrade
      
 +=== Paquets de gestion des paquets ===
 +  sudo apt install apt-listbugs debsums apt-listchanges
 +
 +  * apt-listbugs prévient s'il y a des soucis
 +  * debsums : vérifie l'intégrité des fichiers des paquets installés avec les sommes de contrôle MD5
 +  * apt-listchanges informe des changements importants dans les paquets, par exemple les nouvelles fonctionnalités, les changements de comportement
  
 ==== Modifier les locales ==== ==== Modifier les locales ====
Ligne 107: Ligne 138:
  
 ===== Sécurité de base ===== ===== Sécurité de base =====
-  * [[fr:connexion_serveur_admin|Se connecter via une clé ssh]]+  * [[fr:ssh#se_connecter_a_un_serveur_avec_sa_cle|Se connecter via une clé ssh]]
   * Verrouiller qui peut se connecter au serveur, et comment.   * Verrouiller qui peut se connecter au serveur, et comment.
   * Installation de quelques logiciels permettant de surveiller les comportements suspects.   * Installation de quelques logiciels permettant de surveiller les comportements suspects.
  
-Pour aller à l'essentiel sans tout relire, nous allons commencer par permettre de nous connecter au serveur, via l'utilisateur lambda, grâce à notre clé ssh (que vous avez déjà généré, sinon reportez-vous [[fr:connexion_serveur_admin|au tutoriel correspondant]]).+Pour aller à l'essentiel sans tout relire, nous allons commencer par permettre de nous connecter au serveur, via l'utilisateur lambda, grâce à notre clé ssh (que vous avez déjà générée, sinon reportez-vous [[fr:ssh#se_connecter_a_un_serveur_avec_sa_cle|au tutoriel correspondant]]).
  
 Depuis votre ordinateur personnel : Depuis votre ordinateur personnel :
Ligne 123: Ligne 154:
   more authorized_keys   more authorized_keys
  
-Ensuite passez en root, et désactivez la possibilité de se connecter directement au compte root en ssh.+Ensuite passez en root, et désactivez la possibilité de se connecter directement au compte root en ssh, ainsi que les [[fr:ssh#configurer_ssh_sur_ses_serveurs|diverses options décrites ici]]
   su   su
   nano /etc/ssh/sshd_config   nano /etc/ssh/sshd_config
  
-Cherchez et modifiez la ligne suivante : 
-  PermitRootLogin no          
- 
-<WRAP center round info 60%> 
-On peut aussi permettre l'option : 
-  PermitRootLogin without-password 
-  StrictModes yes 
- 
-Cela veut dire qu'on peut se connecter directement en tant que root **à condition** d'avoir renseigné sa clé ssh. 
- 
-</WRAP> 
-Ajoutez aussi la ligne suivante, qui permettra uniquement aux utilisateurs listés de tenter de se connecter en ssh : 
-  AllowUsers lambda root 
- 
-Relancer le service SSH après ces modifications : 
-  /etc/init.d/ssh restart 
-   
-<WRAP center round important 60%> 
-On peut sécuriser plus finement via le fichier ssh_config ; de mauvais paramètres peuvent aussi vous empêcher de vous connecter. [[http://www.octetmalin.net/linux/tutoriels/ssh-fichier-etc-ssh_config-configuration-machine-client.php|Plus d'infos ici]]. Ce qui est présenté dans ce tutoriel permet une sécurité basique mais déjà correcte. 
-</WRAP> 
  
 ==== Fail2ban ==== ==== Fail2ban ====
-[[http://www.fail2ban.org/wiki/index.php/Main_Page|Fail2ban]] permet de surveiller les tentatives de connexion ratées. Il est un peu technique à configurer, mais bien documenté. Il permet de bloquer les attaques destinées à craquer un mot de passe en essayant toutes les combinaisons possibles (attaque par //bruteforce//).+[[http://www.fail2ban.org/wiki/index.php/Main_Page|Fail2ban]] permet de surveiller les tentatives de connexion ratées et réagir en conséquence, par exemple en bloquant l'adresse IP source. Il est un peu technique à configurer, mais bien documenté. Il permet de bloquer les attaques destinées à craquer un mot de passe en essayant énormément de combinaisons possibles (attaque par //bruteforce//).
  
 Voir l'article complet : [[fr:securite_sysadmin#fail2ban]] Voir l'article complet : [[fr:securite_sysadmin#fail2ban]]
  
 ==== Rkhunter ==== ==== Rkhunter ====
-Il peut être utile d'installer Rkhunter //après// avoir installé vos logiciels préférés. En effet, Rkhunter va vous signaler les changements sur votre système et tout ce qui lui semble louche, comme l'installation de trucs...+Il peut être utile d'installer Rkhunter //juste après// avoir installé vos logiciels préférés. En effet, Rkhunter va vous signaler les changements sur votre système et tout ce qui lui semble louche, comme l'installation de trucs... //juste// après, idéalement, parce-que si on attend trop longtemps, ça laisse plus de temps à un attaquant pour attaquer.
  
-Pour installer et configurer RKhunter, voir [[http://doc.ubuntu-fr.org/rkhunter|la doc d'Ubunutu,]] très complète. Nous avons aussi une [[fr:securite_sysadmin#rkhunter|documentation complémentaire]] qui résume l'essentiel. +Pour installer et configurer RKhunter, voir [[http://doc.ubuntu-fr.org/rkhunter|la doc d'Ubuntu,]] très complète. Nous avons aussi une [[fr:securite_sysadmin#rkhunter|documentation complémentaire]] qui résume l'essentiel. 
  
  
Ligne 171: Ligne 182:
 ===== Pour le plaisir ===== ===== Pour le plaisir =====
   * Changer le nom de la machine   * Changer le nom de la machine
-  * Change le message à la connexion+  * Changer le message à la connexion
  
-Si vous avez une VPS ou un dédié, vous avez peut-être un début de ligne en console qui ressemble à "root@vps158745547". C'est moche et surtout, c'est vite fait de s'emmêler les pinceaux si vous avez plusieurs consoles ouvertes sur plusieurs VPS.+Si vous avez un VPS ou un dédié, vous avez peut-être un début de ligne en console qui ressemble à "root@vps158745547". C'est moche et surtout, c'est vite fait de s'emmêler les pinceaux si vous avez plusieurs consoles ouvertes sur plusieurs VPS.
  
 Pour renommer ce qu'il y a derrière @, il faut changer l'hostname. Pour renommer ce qu'il y a derrière @, il faut changer l'hostname.
  
   nano /etc/hostname   nano /etc/hostname
-Mettez le nom que vous voulez.+Mettez le nom que vous voulez, pour notre exemple "MonNom.localdomain".
  
-Ensuite, faites+Ensuite, lancez la commande suivante si vous voulez que ça soit actif immédiatement :
   hostname MonNom.localdomain   hostname MonNom.localdomain
  
Ligne 194: Ligne 205:
 permitted by applicable law. permitted by applicable law.
 Last login: Mon Dec 28 06:56:13 2015 from 100-200-100-100.dsl.sfr.fr Last login: Mon Dec 28 06:56:13 2015 from 100-200-100-100.dsl.sfr.fr
- 
 </WRAP> </WRAP>
  
Ligne 203: Ligne 213:
      
 Mettez ce que vous voulez :-) Mettez ce que vous voulez :-)
 +
 +Il existe plein de pistes sur la page : http://www.mewbies.com/how_to_customize_your_console_login_message_tutorial.htm
 +
 +Et le site http://ruletheweb.co.uk/figlet/ pour l'ASCII art.
  
 ===== Installer un certificat SSL ===== ===== Installer un certificat SSL =====
Ligne 214: Ligne 228:
 Ceci est un test, je ne suis pas sûre que ce soit le bon truc mais... je tente et je note.  Ceci est un test, je ne suis pas sûre que ce soit le bon truc mais... je tente et je note. 
  
- --- //[[wiki:user:zatalyz| zatalyz]] 2016/02/15 16:33//+ --- //[[user:zatalyz| zatalyz]] 2016/02/15 16:33//
 </WRAP> </WRAP>
  
-Lorsqu'on accède par ssh à une VPS d'OVH, au bout d'un certain temps elle donne l'impression de "bloquer", sans pour autant couper la connexion de façon claire. Cela pourrait être lié à la gestion ssh des connexions.+Lorsqu'on accède par ssh à un VPS d'OVH, au bout d'un certain temps elle donne l'impression de "bloquer", sans pour autant couper la connexion de façon claire. Cela pourrait être lié à la gestion ssh des connexions.
  
-Éditez le fichier ''/etc/ssh/sshd_config'' sur la VPS. Changez ou ajouter les deux paramètres suivants :+Éditez le fichier ''/etc/ssh/sshd_config'' sur le VPS. Changez ou ajoutez les deux paramètres suivants :
 <code>ClientAliveInterval 900 <code>ClientAliveInterval 900
 ClientAliveCountMax 0</code> ClientAliveCountMax 0</code>
  
  
-  * //ClientAliveCountMax// indique le nombre total de message "checkalive" envoyé par le serveur ssh sans recevoir toute réponse du client ssh. La valeur par défaut est 3. 900 correspond à 15 minutes+  * //ClientAliveCountMax// indique le nombre total de message "checkalive" envoyé par le serveur ssh sans recevoir toute réponse du client ssh. La valeur par défaut est 3. 
-    //ClientAliveInterval// indique le temps d'inactivité. Après secondes, le serveur ssh  enverra un message au client demandant une réponse. La valeur par défaut est 0 : le serveur n'enverra pas de message au client pour vérifier.+    //ClientAliveInterval// indique le temps d'inactivité. Après secondes, le serveur ssh enverra un message au client demandant une réponse. La valeur par défaut est 0 : le serveur n'enverra pas de message au client pour vérifier. 900 correspond à 15 minutes.
  
 Sources : Sources :
   * http://www.delafond.org/traducmanfr/man/man5/sshd_config.5.html   * http://www.delafond.org/traducmanfr/man/man5/sshd_config.5.html
   * http://www.thegeekstuff.com/2011/05/openssh-options/   * http://www.thegeekstuff.com/2011/05/openssh-options/
-{{tag>Serveur Web}}+{{tag>Serveur Web Sysadmin Tutoriel}}
CC Attribution-Share Alike 4.0 International Driven by DokuWiki
fr/1eres_etapes_serveur.1483291364.txt.gz · Dernière modification : 2021/12/03 19:18 (modification externe)

Licences Mentions légales Accueil du site Contact