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

27

J'utilise Linux depuis un bon moment maintenant et je ressens toujours le besoin d'avoir une configuration de logiciel / script passive capable de m'alerter de toute activité réseau suspecte telle que les scans, les tentatives de connexion infructueuses, etc. email ou par notifications visuelles / audio.

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

Je suis au courant des systèmes IDS pour surveiller des réseaux tels que Snort, etc., mais ils sont excessifs pour un utilisateur domestique moyen et un processus douloureux pour être opérationnel.

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

    
posée irenicus09 13.04.2013 - 08:53
la source

3 réponses

15

Une solution 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 de manière efficace (en commençant là où ils se sont arrêtés la dernière fois), filtre ce qu’il voit pour éliminer tout élément considéré comme normal et éventuellement cela ne correspond pas aux schémas normaux / de routine.

L’idée principale est de surveiller l’apparition de toutes les entrées sérieuses dans vos fichiers journaux, toutes, tout le temps, de sorte que vous à.

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

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

et plus. Vos patterns ignore (normal / routine) résident dans plusieurs fichiers sous /etc/logcheck/ignore.d. * et vous pouvez les personnaliser selon vos besoins. principalement vous pouvez vouloir ajouter vos propres modèles à ignorer. Le paquet Ubuntu par défaut est livré avec un ensemble de fichiers étendu avec des patterns d’ignorance pour de nombreux services, donc il n’ya pas grand chose à ajouter à moins que votre système ne soit inhabituel. Il existe 3 ensembles de profils de fichiers ignorés préconfigurés: ignore.d.workstation , ignore.d.server et ignore.d.paranoid que 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é sur 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 logcheck beaucoup plus utile que logwatch (suggéré dans d’autres réponses) car préemballé 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 par e-mail. YMMV.

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

HOWTO:

  

Comme logcheck est déjà préconfiguré, deux lignes en haut de   Cette réponse couvre essentiellement tout ce dont vous avez besoin pour commencer. Juste   installez-le et passez en revue le fichier de configuration supérieur:    /etc/logcheck/logcheck.conf pour changer votre adresse email   donc logcheck envoie des alertes par e-mail à votre adresse.

     

Voici une référence conviviale qui passe en revue la seconde étape.   détail .   Ubuntu étant 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 connaissez déjà   et sentir ne devrait pas être préoccupant.   Ce processus d'affinement 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 ignore 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 à ignorer. Rappelez-vous simplement que les caractères tels que * , ? , '+', [] , () sont spéciaux dans une expression régulière, donc s'ils apparaissent réellement dans les lignes de journal, vous devrez les échapper avec une barre oblique inverse. \ dans les fichiers ignore.

     

En d'autres termes: si vous recevez une alerte, vous ne voulez pas obtenir,   regardez la ligne de journal qui vous a été envoyée par courrier électronique et ajoutez un motif   cela correspond, comme une ligne à un fichier ignore de votre choix. Je suggère d'utiliser    /etc/logcheck/ignore.d.<yourloglevel>/my-ignores comme votre ignorant personnel   fichier. Où <yourloglevel> est l'un des paranoid , server ou    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   ignore les fichiers pour savoir comment comptabiliser le texte qui change tout le temps, comme les ID de processus ou les horodatages. Il y a beaucoup d'exemples à apprendre.

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

    
réponse donnée arielf 19.04.2013 - 21:56
la source
3

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

    
réponse donnée AndrewX192 15.04.2013 - 07:31
la source
1

La détection d’intrusion est nécessaire lorsque vous exécutez des services (ftp, web, nfs, ssh, etc.) sur votre réseau. C’est parce qu’ils sont exposés sur Internet et en raison de:

  • miss-configuration
  • Vulnérabilités logicielles

ils doivent être surveillés quotidiennement 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

  • il suffit de visiter lien
  • cliquez sur "poursuivre"
  • sélectionnez "Tous les ports" pour rechercher les ports ouverts

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

Dernier point mais non des moindres, votre routeur possède probablement un système de détection d’intrusion intégré (car 99% de tous les routeurs exécutent un serveur Linux divisé par bandes). Pour cela, vous devez vérifier le manuel du fabricant de votre routeur.

    
réponse donnée Salih Emin 16.04.2013 - 23:10
la source

Lire d'autres questions sur les étiquettes