Protéger un accès SSH avec fail2ban sous CentOS 7

Se prémunir de tentatives d’intrusion serveur en protégeant l’accès SSH avec fail2ban sous CentOS 7

Une connexion SSH sur un serveur est une opération plutôt sécurisée, mais cela ne veut pas dire que le serveur en question est protégé d’une quelconque tentative d’intrusion, notamment par force brute. D’ailleurs en analysant les logs système, même sur un petit serveur anodin, on peut en général voir des dizaines, voir des centaines de connexions avec des utilisateurs connus (root) ou inconnus qui échouent. Ce ne sont pas des attaques à proprement parler, mais des tentatives de connexion en essayant des combinaisons de nom d’utilisateur et de mot de passe. C’est sur ce genre de terrain que fail2ban peut aider à mieux protéger un serveur de connexions non voulues en créant des règles de pare-feu automatiquement suivant certaines conditions.

Continuer la lecture de « Protéger un accès SSH avec fail2ban sous CentOS 7 »

Mise-à-jour manuelle du firmware QTS du QNAP TS-212P

Dans cet article voyons comment mettre à jour un firmware QTS pour un NAS de chez QNAP.

Il y a quelques jours j’ai mis à jour mon NAS QNAP TS-212P avec le dernier firmware QTS 4.2.0 en utilisant la méthode classique, c’est-à-dire depuis l’interface web. Je n’ai pas rencontré de soucis, tout s’est bien déroulé mis à part un léger problème : impossible de me connecter à l’interface web du NAS. L’écran de connexion se présentait bien, mais lorsque j’entrais mes identifiants, je restais sur la page bleue avec l’image de chargement.

Bloqué sur la page de connexion du QNAP TS-212P
Bloqué sur la page de connexion du QNAP TS-212P

 

A noter que tout le reste fonctionnait (partages réseaux, SSH, etc). J’ai cherché un peu et essayé quelques trucs, http/https, redémarrage du serveur Apache du NAS, etc, puis je me suis résolu à ré-installer le firmware manuellement.

Continuer la lecture de « Mise-à-jour manuelle du firmware QTS du QNAP TS-212P »

Récupération SFTP automatique sous Windows avec WinSCP

Script SFTP automatique d’un serveur GNU/Linux distant sous Windows avec les fonctionnalités de scripting de WinSCP.

Il y a quelque temps maintenant je suis passé à un serveur Kimsufi SSD, ce qui a bien augmenté ses performances  au détriment de la capacité de stockage. Mon plan de sauvegarde (du système et des sites hébergés) a donc été modifié pour garder moins de backups sur le serveur en supprimant les plus anciens. Suite à ce constat, j’ai décidé d’automatiser le téléchargement des backups sur ma machine locale, mais sous Windows on a pas facilement un rsync ou du ssh à porté de main. Après un peu de recherche j’ai découvert que le client FTP/SFTP WinSCP était facilement scriptable, ceci ajouté à une tâche planifiée, j’avais ma solution de download de sauvegardes sous Windows.

Le principe est très simple, nous allons écrire un script WinSCP qui sera appelé par un batch Windows.

Script WinSCP

Voici un exemple de scripting WinSCP, à mettre dans un fichier texte genre backup_ftp.txt  :

open sftp://username:xxxxxxx@monserveur.net/ 
    -hostkey="ssh-rsa 2048 fc:6d:bc:4d:76:9d:08:4e:7e:31:56:45:d9:a4:97:22"
cd /home/username/backups/
option transfer binary
get -neweronly *.tgz c:\Users\win-username\backups\
close
exit

 

Plutôt explicite non? Ligne par ligne :

  1. Ouverture d’une session SFTP sur le serveur distant.
  2. Déplacement dans le répertoire des fichiers à récupèrer.
  3. Quelques options de transfert.
  4. On récupère les nouveaux fichiers uniquement ayant l’extension TGZ avec la commande get
  5. On ferme la connexion.

Pour la partie hostkey de l’ouverture de session, WinSCP permet de facilement la trouver. Pour cela il faut se connecter sur le serveur, puis aller dans Session > Informations sur le serveur/protocole et dans le premier onglet, il suffit de recopier la valeur sous Empreinte digitale du serveur hôte.

Trouver la clé du serveur dans WinSCP
Trouver la clé du serveur dans WinSCP

 

 

 

 

 

 

 

 

 

 

Les scripts WinSCP permettent de faire beaucoup de choses, se référer à la liste des commandes disponibles pour avoir un aperçu exhaustif des possibilités.

Script CMD

Le script Windows va invoquer la commande winscp.exe  avec en option le chemin vers notre fichier de script, je l’ai nommé download_backups.cmd  :

"C:\Program Files (x86)\WinSCP\winscp.com" 
    /script=C:\Users\win-username\bin\backup_ftp.txt

 

C’est tout. Pour l’automatisation, il suffit de créer une tâche planifiée qui exécute notre script download_backups.cmd.

Plus tard nous verrons comment ajouter un log et envoyer le rapport par email en fin de récupération.

Nouveau serveur Kimsufi SSD pour un hébergement Nginx, PHP-fpm, Varnish et Memcached

Mes sites ont migré sur un nouveau serveur Kimsufi SSD de OVH et les performances sont bien sympathiques grâce à Nginx et Varnish.

Petite évolution du serveur hébergeant feub.net et plusieurs autres sites qui reste chez Kimsufi d’OVH mais en version SSH cette fois-ci. Cela me titillait depuis un moment car il faut bien l’avouer le SSD lorsqu’on en goûte on ne peut plus s’en passer, côté desktop mais coté serveur aussi. Mais il fallait bien avouer que le boulot de la migration me faisait renoncer, je n’avais pas trop envie de passer des heures devant un terminal lorsque je passe déjà mes journées au boulot devant des lignes de code. Après moult réflexion donc, maintenant c’est fait, un Kimsufi moins cher (9.99€/mois) que celui d’avant, avec un couple processeur/mémoires similaire, mais aussi 20% de moins d’espace disque, passant d’1Tb à 40Gb.

Je reste fidèle à Fedora, en passant à la version 23, et le serveur web d’enfer Nginx se voit désormais épaulé par l’accélérateur d’applications web Varnish que je commence à apprivoiser et Memchached pour la mise en cache d’objets PHP. Belle petite équipe qui ne demande qu’à être optimisée ^.^

Je ne vais pas m’attarder sur le détail de mes configurations, mais ce sera certainement l’objet de prochains billets sur ce blog. Pour le moment ça roule, peut-être y’a-t-il quelques couacs à droite à gauche, alors n’hésitez surtout pas à me faire part de tout problème ou anomalie.