Categories: LinuxSécurité

Sécuriser et surveiller votre serveur dédié : quelques trucs et astuces

Vous disposez d’un serveur dédié ? Peut-être même que vous êtes plusieurs à l’utiliser ? Si comme moi, vous êtes un parano de la sécurité ou tout du moins, vous voulez savoir à n’importe quel moment ce qu’il peut se passer sur votre machine… Et bien, voici quelques conseils.

Surveillance des fichiers logs : Logwatch

Une première étape peut-être d’installer un logiciel qui va vérifier régulièrement vous envoyer un récapitulatif des différents fichiers logs contenus sur votre serveur afin de mieux cerner l’activité journalière de votre serveur. Dans ce domaine, j’aurais tendance à conseiller Logwatch. Il s’agit d’un analyseur de logs systèmes pour Unix qui vous enverra un mail chaque jour en vous précisant les différentes connexion ssh, ftp (qu’elles soient réussies que échouées). Cet utilitaire est d’autant plus intéressant qu’il est entièrement personnalisable.

L’installation est très simple. Sous Ubuntu :

>> apt-get install logwatch

La configuration est d’ailleurs tout aussi simple puisqu’il vous suffira de configurer les quelques paramètres dans le fichier se trouvant :

>> /usr/share/logwatch/default.conf

Et d’y repérer le fichier configuration nommé logwatch.conf. Dans ce fichier, pas grand chose à modifier pour que cela fonctionne :

# The default detail level for the report.
Detail = Med
#Default email to send the report
MailTo = you@yourdomain.net

Evidemment, ce ne sont que des choix personnels. N’hésitez pas à modifier ces lignes en fonction de vos besoins.

Monitoring de votre serveur – Surveillance charge

Pour ce faire, je ne vous conseillerais que Monit. En réalité, c’est le seul que je connais : je le trouve à la fois simple à configurer et fonctionnel.

>> apt-get install monit
>> nano /etc/default/monit

Modifiez l’option startup=1 (retirez le #).

Editons ensuite le fichier configuration :

>> nano /etc/monit/monitrc

Vous trouverez ici un fichier configuration exemple. Téléchargez le et modifiez le à votre guise en fonction de la configuration de votre serveur : exemple_configuration_monit. Pensez notamment à modifier la partie login/password pour vous connecter à l’interface web et pensez également à vérifiez le fonctionnement des ports des différents services en fonction de votre configuration. En effet, d’une machine à l’autre le port MySQL ou SSH ne sont pas les mêmes…

Vous pouvez rajouter tous les services que vous souhaitez surveiller. La syntaxe est assez abordable pour pouvoir être modifiée facilement. Il vous est également possible de faire vérifier la syntaxe de votre fichier configuration par Monit ; pour ce faire utilisez la commande suivante :

>> sudo /etc/init.d/monit syntax

Et, s’il vous dit que c’est correct. Vous pouvez ensuite lancer Monit :

>> sudo /etc/init.d/monit start

* Utilisez la commande monit -v pour vérifier l’état de Monit à tout moment.

Avec une configuration similaire à celle ci-dessus vous pouvez ensuite vous connecter à l’adresse suivante : http://domaine:8080. Vous devrez vous identifier avec le login/mdp que vous avez déclaré dans le fichier configuration. Au final, vous devriez voir un fenêtre semblable à celle-ci (volontairement pas la mienne) :

Connexions SSH & Envoi d’emails…

C’est votre serveur ? Mais d’autres potes ont l’habitude de s’y connecter pour partager leurs fichiers, s’occuper de leurs blogs etc… ?

Vous avez également la possibilité d’être prévenu par email dès qu’une connexion SSH à votre serveur a réussie. Cela peut-être intéressant de pouvoir suivre ces connexions sans avoir à décrypter les fichiers logs chaque jour. De plus, l’avantage de cette méthode et de pouvoir être prévenu en temps réel. Ainsi, si vous voyez par exemple l’un de vos potes se connecter de Taiwan (ou autre) alors qu’il habite dans la même rue que vous… Vous pouvez vous poser des questions sur la complexité de son MDP…

Pour ce faire, il vous suffit de créer un nouveau fichier appelé sshrc dans le dossier /etc/ssh/.

Dans ce fichier, collez-y ceci :

DATE=`date "+%d.%m.%Y--%Hh%Mm"`
IP=`echo $SSH_CONNECTION | awk '{print $1}'`
REVERSE=`dig -x $IP +short`

echo "User connected - User : $USER - IP: $IP - REVERSE: $REVERSE - Date: $DATE"
sendEmail -f root@votredomaine.net -t vous@votredomaine.net -u "User connecte sur $HOSTNAME" -m "Connexion sur Serveur de IP: $IP - Date: $DATE - User : $USER"

Vous serez alors averti par email à chaque connexion SSH !

Notez quand même que si vous avez beaucoup d’utilisateurs différents et des connexion régulières : il vous faudra ajouter une règle de filtrage dans votre client mail.

Si vous avez des questions, n’hésitez pas! :16:

Share
Published by
thibault

Recent Posts

Microsoft introduit une connexion automatique controversée : quels enjeux pour votre sécurité ?

Microsoft introduit une connexion automatique controversée Microsoft semble s’engager dans une direction qui suscite la…

21 heures ago

OpenAI dévoile Operator : ChatGPT surfe sur Internet pour vous

OpenAI dévoile Operator : ChatGPT surfe sur Internet pour vous OpenAI dévoile Operator : L’IA…

2 jours ago

IA et video : une combinaison parfaite pour les campagnes marketing modernes

Dans le monde trépidant du marketing numérique, rester en avance sur les tendances est essentiel…

3 jours ago

Lanzarote en hiver : une semaine entre plages, volcans et réveillon au soleil

Réveillon 2024-2025 à Lanzarote (image générée par IA) Vous cherchez une destination pour échapper à…

1 semaine ago

Microsoft 365 : L’arrivée de Copilot entraîne une augmentation des prix en 2025

Microsoft 365 : L’arrivée de Copilot entraîne une augmentation des prix en 2025 Microsoft a…

1 semaine ago

Bonjour 2025, adieu 2024 !

Alors que l'année 2024 est officiellement révolue, il est temps de jeter un regard en…

2 semaines ago