Quelle configuration de notification / détection d'intrusion automatisée est bonne pour une utilisation à domicile?


27

J'utilise Linux depuis un certain temps maintenant et je ressens toujours le besoin d'avoir une configuration passive de logiciel / script qui peut m'alerter de toute activité réseau suspecte comme des analyses, des tentatives de connexion échouées, etc. à la volée par e-mail ou par notifications visuelles / audio.

Je sais comment consulter les journaux et autres choses, mais pour la plupart, c'est un processus manuel qui prend du temps. Je cherche quelque chose qui est semi / entièrement automatisé avec de bonnes capacités d'analyse de journaux.

Je connais les systèmes IDS pour surveiller les réseaux comme Snort, etc., mais ils sont exagérés pour l'utilisateur domestique moyen et un processus pénible pour être opérationnel.

Quelle est une bonne option pour moi en tant qu'utilisateur à domicile?


Comment définissez-vous «passif»? Comme dans quelque chose que vous exécutez de temps en temps vous-même pour voir si quelque chose de louche se passait?
Nanne

Réponses:


15

Une solution générale simple et efficace consiste à utiliser logcheck .

sudo apt-get install logcheck
[edit /etc/logcheck/logcheck.conf to your liking]

logcheck analyse périodiquement tous les journaux efficacement (en commençant là où ils se sont arrêtés la dernière fois), filtre ce qu'il voit pour éliminer tout ce qui est considéré comme normal et envoie éventuellement des alertes par e-mail avec tout ce qui ne correspond pas aux modèles normaux / de routine.

L'idée principale est de faire attention à l'apparition de toute entrée sérieuse dans vos fichiers journaux, tous, tout le temps, afin que vous n'ayez pas à le faire.

logcheck est hautement configurable (man logcheck). Vous pouvez tout configurer, y compris:

  • fréquence des contrôles
  • quels fichiers journaux sont vérifiés
  • ce qui est considéré comme normal vs non
  • où envoyer les alertes (événements anormaux)

et plus. Vos modèles ignorés (normaux / routiniers) résident dans plusieurs fichiers sous /etc/logcheck/ignore.d.* et vous pouvez les personnaliser selon vos besoins; principalement, vous voudrez peut-être ajouter vos propres modèles à ignorer. Le package Ubuntu par défaut est déjà livré avec un ensemble complet de fichiers avec des motifs d'ignorance pour de nombreux services, donc il n'y a pas grand-chose à ajouter à moins que votre système ne soit inhabituel dans son fonctionnement. Il existe 3 ensembles de profils de fichiers ignorés préconfigurés : ignore.d.workstation , ignore.d.server et ignore.d.paranoid parmi lesquels vous pouvez choisir.

L'idée principale derrière logcheck est que les différents services exécutés sur un système enregistrent déjà des événements anormaux. Par exemple, sshd ou pam enregistrent déjà les échecs d'authentification. Les principaux composants manquants sont donc:

  • filtrer ce qui est normal
  • Le service d' alerte

Les deux sont fournis par logcheck dans un package pratique. Vous pouvez combiner logcheck avec toute autre journalisation. Par exemple, iptables peut être configuré pour syslog toutes les tentatives de connexion réseau qui ne sont pas explicitement autorisées en ajoutant les règles:

 iptables -A input -j LOG
 iptables -A input -j DROP

immédiatement après toutes les règles d'autorisation.

Je trouve que logcheck est beaucoup plus utile que logwatch (suggéré dans d'autres réponses) car il est livré avec un très grand nombre de règles pour ignorer ce qui est considéré comme une activité normale. Le résultat est un rapport signal / bruit beaucoup plus élevé dans les alertes qu'il envoie. YMMV.

Un autre avantage de logcheck est qu'il est orthogonal à n'importe quel service qui se connecte, donc il n'y a pas de duplication de fonction. Chaque fois que vous ajoutez un nouveau service qui utilise syslogpour enregistrer des événements, anormaux ou non, dans n'importe quel fichier sous /var/logvous commencez à recevoir des alertes automatiquement.

COMMENT:

Étant donné que logcheckvient déjà préconfiguré, deux lignes en haut de cette réponse couvrent essentiellement tout ce dont vous avez besoin pour commencer. Il suffit de l'installer et de parcourir le fichier de configuration supérieur: /etc/logcheck/logcheck.confpour changer votre adresse e-mail afin que les logchecke-mails vous alertent.

Voici une référence conviviale passant en revue la deuxième étape plus en détail . Comme Ubuntu est basé sur Debian, ces instructions devraient également fonctionner sur Ubuntu. Voici une autre bonne référence .

Une fois l'installation terminée, le processus d'amélioration continue démarre. Au fil du temps, vous affinez vos règles pour ignorer tout ce que vous savez déjà et que vous ne pensez pas devoir inquiéter. Ce processus de raffinement est aussi simple que l'ajout de lignes de texte à un fichier dans votre éditeur de texte préféré.

Chaque ligne d'un fichier ignoré est une expression régulière étendue (voir man 7 regex), mais vous pouvez utiliser des chaînes simples tant qu'elles correspondent à la ligne de journal que vous souhaitez ignorer. Rappelez - vous que des personnages comme *, ?, « + », [], ()sont spéciaux dans une expression régulière, donc si elles apparaissent effectivement dans les lignes de journaux, vous devez leur échapper avec une barre oblique inverse \dans l'ignorer les fichiers.

En d'autres termes: si vous recevez une alerte que vous ne souhaitez pas recevoir, regardez la ligne de journal qui vous a été envoyée par e-mail et ajoutez un modèle qui lui correspond, comme une ligne pour tout fichier ignoré de votre choix. Je suggère d'utiliser /etc/logcheck/ignore.d.<yourloglevel>/my-ignoresvotre fichier ignorer personnel. Où se <yourloglevel>trouve l'un de paranoid, serverou workstation(comme vous l'avez déjà sélectionné dans le fichier de configuration principal:) /etc/logcheck/logcheck.conf. Regardez les exemples dans d'autres fichiers ignorer pour voir comment prendre en compte le texte qui change tout le temps comme les ID de processus ou les horodatages. Il y a beaucoup d'exemples existants à apprendre.

Un dernier conseil: logcheckest livré avec un petit utilitaire utile appelé logcheck-testqui est très pratique pour tester de nouvelles règles. man logcheck-testpour plus de détails.


Salut, j'aime l'idée derrière logcheck ... pouvez-vous s'il vous plaît me diriger vers un guide détaillé pour cela? Merci :)
irenicus09

1
@ irenicus09: Ajout d'une section howto avec un lien optionnel pour référence.
arielf

Félicitations pour avoir gagné la prime, réponse très bien écrite. Merci :)
irenicus09

3

Si vous n'avez pas beaucoup de systèmes sur votre réseau, la configuration d'un IDS comme Snort est probablement exagérée (surtout si vous n'avez aucun service réseau sur votre machine). Je suggère de commencer par configurer logwatch pour vous envoyer un rapport de ce qui se passe sur votre système. Une fois que vous avez cela, configurez votre syslog pour obtenir autant d'informations pertinentes que possible.


Bonjour, j'aime votre réponse ... mais pourriez-vous s'il vous plaît partager un peu plus de détails sur la façon de le faire. Jouer avec des configurations peut être assez délicat, surtout pour un utilisateur inexpérimenté. Mais j'apprécierais si vous pouviez me diriger vers un guide détaillé pour cela. Merci.
irenicus09

@ irenicus09 Je pense que cela devrait être suffisant: Comment configurer Logwatch sur des systèmes basés sur Ubuntu
AndrewX192

merci pour le guide, j'ai réussi à configurer logwatch et je l'aime. Pour le moniteur de balayage de port, j'ai également configuré portsentry et j'essaierai d'autres outils et d'autres choses avant de finaliser lequel est le meilleur pour moi :)
irenicus09

1

La détection des intrusions est nécessaire à coup sûr lorsque vous exécutez des services (ftp, web, nfs, ssh, etc.) sur votre réseau. En effet, ils sont exposés sur Internet et dus à:

  • miss-configuration
  • vulnérabilités logicielles

ils ont besoin d'une surveillance quotidienne par un administrateur réseau expérimenté. Si vous exécutez ces services, vous avez probablement déjà les connaissances minimales pour éviter ces problèmes.

Si vous n'exécutez aucun de ces services, le pare-feu de votre routeur Internet a déjà bloqué toute connexion entrante sur les ports. Pour analyser votre routeur de réseau

Si vous êtes tous verts, alors vous êtes tous bons.

Dernier point mais non le moindre, votre routeur dispose probablement d'un système de détection d'intrusion intégré (car 99% de tous les routeurs exécutent un serveur linux rayé). Pour cela, vous devez consulter le manuel du fabricant de votre routeur.


Bonjour, merci pour votre réponse. C'est assez perspicace et je suis au courant de tout ce dont vous parlez. Mais mon point de vue est de dire que j'exécute divers services sur mon système, comment puis-je suivre exactement les activités du point de vue de la sécurité. J'ai besoin d'une solution simple et facile à utiliser en tant qu'utilisateur à domicile et je pense que vous avez évité cette partie :)
irenicus09
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.