Script d'installation et de configuration pour Yunohost

Bonjour communauté YunoHost :smile:

Après plusieurs mois de paufinage de mes scripts, écrits en anglais, je viens de passer le weekend à traduire les commentaires ! Voici donc la publication de la Version 9.0 !

Maintenant, au lancement du script vous pouvez choisir soit fr (pour français) soit en (pour anglais).
Le fr est même par défaut :wink:

A la base, j’ai créé cet ensemble de scripts pour simplifier l’installation et la configuration de mon VPS de test chez OVH. En effet, j’en avais marre de lancer toujours les mêmes commandes, du coup, on automatise !

Maintenant, sur un VPS Classic 1, ça me prend moins de 20 minutes pour réinstaller Debian et réinstaller le système et tout reconfigurer !

Mais que font ces scripts au juste ?
1 - Ils installent YunoHost via le script officiel disponible sur git
2 - Lance les scripts 3, 4, 5, 6, 7 et 8
3 - Configure le système de base avec :
---- Propose d’ajuster le nom d’hôte du serveur
---- Propose d’utiliser les miroirs Debian d’OVH
---- Propose de changer le fuseau horaire du serveur
---- Propose de changer la langue système du serveur
---- Propose de créer un utilisateur système pour SSH (au lieu d’admin, trop générique)
---- Propose de changer le port SSH par défaut
---- Propose d’utiliser de SUPERBES couleurs pour le bash de l’utilisateur et de root
4 - SSL
---- Propose d’activer dhparam pour Nginx (et génère le fichier)
---- Propose d’installer la clé privée et le certificat signé pour Nginx en accord avec la doc YunoHost
---- Le script va chercher key.pem et crt.pem dans le sous-dossier conf_ssl/DOMAIN.TLD/ - A vous de ranger au bon endroit ! :slight_smile:
5 - OpenDKIM
---- Propose d’installer, configurer et activer OpenDKIM (avec indication du champ TXT ou DKIM a ajouter dans la zone DNS)
---- Le script va chercher mail.private et mail.txt dans le sous-dossier conf_opendkim/DOMAIN.TLD/ si vous souhaitez ré-utiliser une clé existante. Sinon le script en génèrera une nouvelle.
---- Indication du champ SPF à indiquer dans la zone DNS
6 - APTicron
---- Propose d’installer et configure APTicron (un petit daemon qui vous envoie un courriel quotidien indiquant s’il y a une mise à jour système de disponible - à vous de faire les majs manuellement par contre)
7 - Jail2ban
---- Propose d’activer les rapports courriels de jail2ban - Intéressant d’être au courant lorsqu’une ip se fait bannir !
8 - Nettoyage du système
---- Propose de faire un petit coup d’autoremove et autoclean :wink:

Chaque script est indépendant des autres.
A noter que les scripts 4 (SSL) et 5 (OpenDKIM) peuvent être lancés plusieurs fois pour configurer plusieurs domaines

Évidemment, 8 (Nettoyage) peut aussi être lancé plusieurs fois :wink:

Dites-moi ce que vous en pensez, et surtout indiquez si vous trouvez des bugs !

L’ensemble est disponible là :


https://github.com/polytan02/yunohost_auto_config_basic/archive/yunohost_auto_config_basic-9.0.zip

Ou alors en ligne de commande :
wget https://github.com/polytan02/yunohost_auto_config_basic/archive/yunohost_auto_config_basic-9.0.zip

Voire
git clone https://github.com/polytan02/yunohost_auto_config_basic/
cd yunohost_auto_config_basic
./1_git_clone_and_install_YunoHost.sh # Pour lancer l’installation de YunoHost
./2_master_configuration_script.sh # Pour lancer les autres scripts
./6_apticron_email_reports.sh # Exemple pour lancer le script 6 indépendamment des autres)

Au besoin, chaque script peut-être lancé indépendamment (pas d’inter dépendance, sauf pour le 2, évidement ) .

Version 10.0 disponible.

Toujours en Français, toujours en couleurs :smile:

Maintenant ça prends aussi en charge Jessie.

Depot github de yunohost_auto_config_basic

Code source en .zip

Version 11.0 maintenant disponible.

https://github.com/polytan02/yunohost_auto_config_basic/archive/yunohost_auto_config_basic-11.0.zip

  • Script 3 : Possiblité d’installer screen et de le configurer avec de superbes couleurs
  • Script 3 : Possiblité d’installer tmux et de le configurer avec de superbes couleurs

Hello,

Joli travail, c’est une très bonne idée, qui fait effectivement gagner beaucoup de temps :wink:
Testé avec succès sur un VPS chez OVH sous Debian Jessie (8.1)

J’aurais juste 2 suggestions à te faire:

  • permettre l’activation de la règle de “recidive” sur Fail2ban (elle est déjà présente dans le fichier de conf, suffit juste de l’activer)
  • paramétrer Fail2ban pour qu’il notifie par mail dès qu’une connexion SSH est établie. Parce que c’est bien de savoir lorsqu’il bannit les IP, mais c’est également très utile de savoir si certaines tentatives réussissent. (exemple de paramétrage ici: https://kdecherf.com/blog/2009/06/15/fail2ban-notifier-chaque-connexion-ssh/)

Bonjour,

Merci pour tes commentaires :smile:

Je trouve super cool les notifications ssh. Je vais voir comment implémenter cela.

Que fait la fonction “recidive” et comment l’activer ?

C’est moi qui te remercie, tu m’as évité quelques migraines ^^

La règle de récidive bannit pour une durée plus prolongée les tentatives de connexion répétées par une même adresse IP. Fail2ban va scruter son fichier journal et détecter les bannissements répétés sur la même IP et va la bannir plus longuement. Vu la courte durée de ban par défaut (1h je pense), ca évite qu’une de ces IP ne s’acharne sur ton serveur et finisse par trouver le bon mot de passe.

Pour l’activer:

  • nano /etc/fail2ban/jail.conf
  • rechercher: [recidive]
  • modifier: enabled = true

Je vais voir à tout cela, mais je ne sais pas trop quand.

Il faudrait aussi que je fasse un script pour pouvoir revenir à un état de base du jail.conf pour ceux qui voudraient le désactiver.
Je pense simplement faire une copie du fichier original avant de le modifier, ça devrait le faire.

Salut @Snipees ,

Je n’ai pas la section “recidive” dans mon jail.conf. :frowning:
Pourtant je ne l’ai pas modifié, c’est du standard Debian 7

Également, j’ai essayé de faire fonctionner la notification ssh, mais pareil, j’ai pas réussi.
As-tu eu plus de chance de ton côté ?

Hello,

Effectivement, certaines releases de Fail2ban contiennent un fichier “jail.conf” allégé… c’est le cas pour les releases Debian. Je ne sais pas pour quelle raison. Je sais encore moins pourquoi sur mon serveur en Debian 8, le fichier jail.conf est complet, comme tu peux le voir ici: (ligne 699)

Quelle version te donne la commande suivante ? apt-cache policy fail2ban
Pour ma part, j’ai la version 0.8.13-1

Peut-etre qu’un apt-get upgrade fail2ban suffirait à obtenir ce fichier de conf plus complet…
Tu peux t’appuyer sur ce tuto: https://www.remipoignon.fr/9-securiser-son-serveur-linux (où l’on voit que la section “recidive” est bien présente)

En ce qui concerne les notifications SSH, il faut que je teste ca de mon coté, ensuite je reviens vers toi.

Je suis sous Debian 7 qui utilise jail2ban 0.8.x
Sous Debian 8, il semble que ça soit jail2ban 0.9.x

Dans tous les cas, rien ne nous empêche de trouver une solution qui fonctionne pour les deux cas. :smile: