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
Prochaine révisionLes deux révisions suivantes
fr:1eres_etapes_serveur [2016/10/16 09:35] – [Fail2ban] zatalyzfr:1eres_etapes_serveur [2018/09/09 12:20] – Tag ajouté zatalyz
Ligne 16: Ligne 16:
 Si vous êtes à l'aise avec vim, il est installé de base. Sinon, nano est un éditeur de texte un peu plus facile à utiliser pour les néophytes, car les raccourcis sont affichés et son comportement est assez proche des éditeurs de textes plus classiques. Si vous êtes à l'aise avec vim, il est installé de base. Sinon, nano est un éditeur de texte un peu plus facile à utiliser pour les néophytes, car les raccourcis sont affichés et son comportement est assez proche des éditeurs de textes plus classiques.
  
-  apt-get update +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 install nano+ 
 +  apt update 
 +  apt install nano bash-completion cron logrotate bsd-mailx 
 +  apt upgrade 
 + 
 +==== Quelques logiciels utiles ==== 
 +[[https://doc.ubuntu-fr.org/cron|Cron]] permet de configurer des actions de façon automatique. 
 + 
 +[[https://doc.ubuntu-fr.org/logrotate|Logrotate]] évite que les logs ne saturent la mémoire. Suivre les liens pour leurs configurations. 
 + 
 +[[https://packages.debian.org/jessie/bsd-mailx|bsd-mailx]] va permettre de recevoir les messages du système, lors de l'ouverture d'un shell, sur ce qui marche ou non. Utile pour savoir les erreurs, en particulier.
  
 ==== Bashrc ==== ==== Bashrc ====
Ligne 30: Ligne 40:
 alias ll='ls $LS_OPTIONS -l' alias ll='ls $LS_OPTIONS -l'
 alias l='ls $LS_OPTIONS -lA'</code> alias l='ls $LS_OPTIONS -lA'</code>
- 
  
 Il arrive que la complétion automatique coince, entre autre lorsqu'on fait ''apt-get inst[tab]''. Il arrive que la complétion automatique coince, entre autre lorsqu'on fait ''apt-get inst[tab]''.
Ligne 39: Ligne 48:
  
 Ajoutez ensuite les lignes suivantes dans ''.bashrc'' : Ajoutez ensuite les lignes suivantes dans ''.bashrc'' :
 +
 <code># Autocompletion <code># Autocompletion
 if [ -f /etc/bash_completion ]; then if [ -f /etc/bash_completion ]; then
       . /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 65: Ligne 101:
   apt-get upgrade   apt-get upgrade
      
-==== Quelques logiciels utiles ==== 
-  apt-get install cron logrotate 
  
-[[https://doc.ubuntu-fr.org/cron|Cron]] permet de configurer des actions de façon automatique.+==== Modifier les locales ==== 
 +Tapez quelques accents en console.
  
-[[https://doc.ubuntu-fr.org/logrotate|Logrotate]] évite que les logs ne saturent la mémoire. Suivre les liens pour leurs configurations. 
- 
-==== Modifier les locales ==== 
 Si les accents ne passent pas, il faut reconfigurer les locales : Si les accents ne passent pas, il faut reconfigurer les locales :
   dpkg-reconfigure locales   dpkg-reconfigure locales
  
 Une liste de locales apparaît, cochez les FR si ce n'est pas déjà fait puis validez. Ensuite, indiquez que vous préférez utiliser utf-8, comme ça tout sera lisible. Voir aussi [[https://wiki.debian.org/fr/UTF-8|Debian et UTF8]]. Une liste de locales apparaît, cochez les FR si ce n'est pas déjà fait puis validez. Ensuite, indiquez que vous préférez utiliser utf-8, comme ça tout sera lisible. Voir aussi [[https://wiki.debian.org/fr/UTF-8|Debian et UTF8]].
 +
 ==== Utilisateurs et mot de passe ==== ==== Utilisateurs et mot de passe ====
 Si vous avez une VPS ou un serveur dédié, le mot de passe de root vous a été fourni en clair dans un mail. Donc, c'est pas sécu. Si vous avez une VPS ou un serveur dédié, le mot de passe de root vous a été fourni en clair dans un mail. Donc, c'est pas sécu.
Ligne 99: Ligne 132:
  
 ===== 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 115: Ligne 148:
   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.+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 163: Ligne 176:
 ===== 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 186: Ligne 199:
 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 195: Ligne 207:
      
 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 209: Ligne 225:
 </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}}
CC Attribution-Share Alike 4.0 International Driven by DokuWiki
fr/1eres_etapes_serveur.txt · Dernière modification : 2023/06/21 08:57 de zatalyz

Licences Mentions légales Accueil du site Contact