configuration_d_un_vps
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
configuration_d_un_vps [2017/01/26 20:29] – [Fail2Ban] simon | configuration_d_un_vps [Date inconnue] (Version actuelle) – supprimée - modification externe (Date inconnue) 127.0.0.1 | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== Configuration d'un VPS chez OVH ====== | ||
- | Je souhaitais depuis un moment réinitialisé un VPS inutilisé, tournant avec une Debian 7 - Wheezy. On réinitialise ou installe donc le VPS avec Debian 8 - Jessie. | ||
- | Et ensuite? Quelles sont les étapes pour sécuriser un peu le serveur avant de mettre en place un site web? | ||
- | |||
- | ===== SSH - Première connexion ===== | ||
- | La première chose à faire, une fois le VPS (ré)initialisé, | ||
- | |||
- | OVH envoie le mot de passe du serveur par mail à l' | ||
- | |||
- | <code bash> | ||
- | $ ssh root@IP.DU.SER.VEUR | ||
- | root@IP.DU.SER.VEUR' | ||
- | root@vps12345: | ||
- | </ | ||
- | |||
- | ===== Changer le mot de passe root ===== | ||
- | Le mot de passe root de votre serveur a transité, en clair (!), dans un mail. Il faut le changer rapidement. | ||
- | <code bash> | ||
- | root@vps12345: | ||
- | Entrez le nouveau mot de passe UNIX : | ||
- | Retapez le nouveau mot de passe UNIX : | ||
- | passwd : le mot de passe a été mis à jour avec succès | ||
- | </ | ||
- | |||
- | ===== Créer un nouvel utilisateur ===== | ||
- | Il faut créer un nouvel utilisateur pour exécuter les tâches courantes et surtout pour éviter de laisser la possibilité de se connecter via ssh avec l' | ||
- | <code bash> | ||
- | root@vps89550: | ||
- | Ajout de l' | ||
- | Ajout du nouveau groupe « nom-user » (1000) ... | ||
- | Ajout du nouvel utilisateur « nom-user » (1000) avec le groupe « simon » ... | ||
- | Création du répertoire personnel « / | ||
- | Copie des fichiers depuis « / | ||
- | Entrez le nouveau mot de passe UNIX : | ||
- | Retapez le nouveau mot de passe UNIX : | ||
- | passwd : le mot de passe a été mis à jour avec succès | ||
- | Modification des informations relatives à l' | ||
- | Entrez la nouvelle valeur ou « Entrée » pour conserver la valeur proposée | ||
- | Nom complet []: nom-user | ||
- | N° de bureau []: | ||
- | Téléphone professionnel []: | ||
- | Téléphone personnel []: | ||
- | Autre []: | ||
- | Cette information est-elle correcte ? [O/n] | ||
- | </ | ||
- | |||
- | ===== Changer le hostname ===== | ||
- | <code bash> | ||
- | # vim / | ||
- | </ | ||
- | ===== SSH - Modification de la configuration ===== | ||
- | Pour éviter une parties des attaques automatiques des scripts kiddies, il est possible de modifier le port de connexion de SSH. (C'est le port 22 par défaut.) On va aussi en profiter pour empêcher la connexion SSH avec le login '' | ||
- | |||
- | Je précise que je n' | ||
- | <code bash> | ||
- | # vim / | ||
- | (...) | ||
- | #SLF: | ||
- | #Port22 | ||
- | Port 2222 #Vous pouvez choisir n' | ||
- | (...) | ||
- | #SLF: | ||
- | # | ||
- | PermitRootLogin no | ||
- | (...) | ||
- | #SLF: | ||
- | AllowUsers nom-user | ||
- | (...) | ||
- | </ | ||
- | |||
- | Une fois la modification du fichier de configuration sauvegardée, | ||
- | <code bash> | ||
- | root@vps12345: | ||
- | </ | ||
- | |||
- | On ne perd pas la connexion lors du redémarrage du service SSH. On garde donc cette fenêtre ouverte et on fait quelques tests pour vérifier que tout s'est bien passé. | ||
- | |||
- | On essaye de se connecter en root sur le port 22 : | ||
- | <code bash> | ||
- | $ ssh root@IP.DU.SER.VEUR | ||
- | ssh: connect to host IP.DU.SER.VEUR port 22: Connection refused | ||
- | </ | ||
- | |||
- | On essaye sur le port qu'on a défini dans la configuration: | ||
- | <code bash> | ||
- | $ ssh root@IP.DU.SER.VEUR -p 2222 | ||
- | root@IP.DU.SER.VEUR' | ||
- | Permission denied, please try again. | ||
- | </ | ||
- | |||
- | On essaye enfin avec l' | ||
- | <code bash> | ||
- | $ ssh nom-user@IP.DU.SER.VEUR -p 2222 | ||
- | nom-user@IP.DU.SER.VEUR' | ||
- | |||
- | The programs included with the Debian GNU/Linux system are free software; | ||
- | the exact distribution terms for each program are described in the | ||
- | individual files in / | ||
- | |||
- | Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent | ||
- | permitted by applicable law. | ||
- | Last login: Thu Jan 26 16:20:19 2017 from **************** | ||
- | </ | ||
- | |||
- | ===== SSH - Gestion des clés ===== | ||
- | <code bash> | ||
- | $ ssh-copy-id nom-user@IP.DU.SER.VEUR -p 2222 | ||
- | / | ||
- | / | ||
- | nom-user@IP.DU.SER.VEUR' | ||
- | |||
- | Number of key(s) added: 1 | ||
- | |||
- | Now try logging into the machine, with: " | ||
- | and check to make sure that only the key(s) you wanted were added. | ||
- | </ | ||
- | |||
- | ===== Mail ===== | ||
- | <code bash> | ||
- | # apt-get install exim4 | ||
- | (...) | ||
- | Les paquets supplémentaires suivants seront installés : | ||
- | bsd-mailx cron exim4-base exim4-config exim4-daemon-light | ||
- | liblockfile-bin liblockfile1 | ||
- | (...) | ||
- | </ | ||
- | |||
- | Une fois l' | ||
- | <code bash> | ||
- | # dpkg-reconfigure exim4-config | ||
- | </ | ||
- | {{:: | ||
- | {{: | ||
- | {{: | ||
- | {{: | ||
- | {{: | ||
- | {{: | ||
- | {{: | ||
- | {{: | ||
- | {{: | ||
- | |||
- | On peut finalement tester un envoi de mail simple: | ||
- | <code bash> | ||
- | $ echo "Mail envoyé le $(date)" | ||
- | </ | ||
- | |||
- | Si vous ne recevez rien, pensez à vérifier vos spams et le dossier ''/ | ||
- | |||
- | ===== Iptables ===== | ||
- | J'ai repris le [[http:// | ||
- | <code bash> | ||
- | $ wget --no-check-certificate https:// | ||
- | </ | ||
- | |||
- | On modifie le script pour utiliser le port SSH défini plus haut et autoriser l' | ||
- | <code bash> | ||
- | $ vim / | ||
- | (...) | ||
- | # Services that the system will offer to the network | ||
- | TCP_SERVICES=" | ||
- | UDP_SERVICES="" | ||
- | # Services the system will use from the network | ||
- | REMOTE_TCP_SERVICES=" | ||
- | REMOTE_UDP_SERVICES=" | ||
- | # Network that will be used for remote mgmt | ||
- | # (if undefined, no rules will be setup) | ||
- | # NETWORK_MGMT=192.168.0.0/ | ||
- | # Port used for the SSH service, define this is you have setup a | ||
- | # management network but remove it from TCP_SERVICES | ||
- | SSH_PORT=" | ||
- | </ | ||
- | |||
- | On copie le fichier dans ''/ | ||
- | <code bash> | ||
- | # cp firewall.sh / | ||
- | # chmod +x / | ||
- | </ | ||
- | |||
- | On peut le tester et essayer de se connecter depuis une autre fenêtre : | ||
- | <code bash> | ||
- | # service firewall.sh test | ||
- | Test Firewall rules...Previous configuration will be restore in 30 seconds | ||
- | Configuration as been restored | ||
- | </ | ||
- | |||
- | Le mettre au démarrage : | ||
- | <code bash> | ||
- | # update-rc.d firewall.sh defaults | ||
- | # service firewall.sh status | ||
- | ● firewall.service - LSB: Start firewall daemon at boot time | ||
- | | ||
- | | ||
- | </ | ||
- | |||
- | Pour le démarrer : | ||
- | <code bash> | ||
- | # service firewall.sh start | ||
- | # service firewall.sh status | ||
- | ● firewall.service - LSB: Start firewall daemon at boot time | ||
- | | ||
- | | ||
- | Process: 12980 ExecStart=/ | ||
- | </ | ||
- | ===== Fail2Ban ===== | ||
- | L' | ||
- | <code bash> | ||
- | # apt-get install fail2ban | ||
- | </ | ||
- | |||
- | ===== Tinyhoneypot ===== | ||
- | Comme je l'ai fait lors de l' | ||
- | |||
- | **À RECOPIER ICI** | ||
- | ===== Vim ===== | ||
- | On peut faire une configuration minimale dans un premier temps afin d' | ||
- | |||
- | <code bash> | ||
- | $ vim ~/.vimrc | ||
- | " --- OPTIONS DE BASE | ||
- | " Annule la compatibilité avec Vi | ||
- | set nocompatible | ||
- | |||
- | " Affichage | ||
- | set title "Met à jour le titre de votre fenêtre ou de votre terminal | ||
- | set number | ||
- | set ruler " | ||
- | set wrap " | ||
- | set scrolloff=3 | ||
- | |||
- | " Recherche | ||
- | set ignorecase | ||
- | set smartcase | ||
- | set incsearch | ||
- | set hlsearch | ||
- | |||
- | " Beep | ||
- | set noerrorbells " | ||
- | |||
- | " Active le comportement habituel de la touche retour en arrière | ||
- | set backspace=indent, | ||
- | |||
- | " Cache les fichiers lors de l' | ||
- | set hidden | ||
- | |||
- | " Active les comportements spécifiques aux types de fichiers comme la syntaxe et l' | ||
- | filetype plugin indent on | ||
- | syntax enable | ||
- | |||
- | " Gestion des tabulations (Ctrl + T pour avancer d'une colonne, Ctrl + d pour reculer) | ||
- | set sw=2 | ||
- | |||
- | " Gestion du clipboard système | ||
- | set clipboard=unnamed | ||
- | |||
- | " Désactiver la touche Echap (Esc) | ||
- | :imap ;; Esc | ||
- | :map ;; Esc | ||
- | </ |
configuration_d_un_vps.1485462599.txt.gz · Dernière modification : 2020/08/09 12:59 (modification externe)