Comment surveiller les agents OSSEC à l’aide d’un serveur OSSEC sur Ubuntu 14.04

introduction

OSSEC est un système de détection d’intrusion (HIDS) à source ouverte basé sur l’hôte qui effectue l’analyse de journal, la vérification de l’intégrité, la surveillance du registre Windows, la détection de rootkit, les alertes en fonction du temps et les réponses actives. C’est l’application à installer sur votre serveur si vous voulez garder un œil sur ce qui se passe à l’intérieur. OSSEC est pris en charge sous Windows et tous les systèmes d’exploitation de type Unix. Cependant, les gouttelettes utilisées dans ce didacticiel exécutent toutes deux Ubuntu 14.04.

OSSEC peut être installé pour surveiller uniquement le serveur sur lequel il est installé, qui est une installation locale dans le jargon OSSEC. Les deux didacticiels précédents sur OSSEC sont des exemples d’installations OSSEC locales: https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-ossec-security-notifications-on-ubuntu-14-04 [Comment installer et configurer les notifications de sécurité OSSEC sur Ubuntu 14.04] et How To Installer et configurer OSSEC sur FreeBSD 10.1.

OSSEC peut également être utilisé pour surveiller des milliers d’autres serveurs, appelés agents OSSEC *. Les agents OSSEC sont contrôlés par un autre type d’installation OSSEC appelé serveur OSSEC *. Une fois qu’un serveur OSSEC est configuré pour surveiller un ou plusieurs agents, des agents supplémentaires peuvent être ajoutés ou supprimés à tout moment. La surveillance des agents OSSEC peut se faire via un logiciel agent installé sur les agents ou via un mode sans agent. Ce tutoriel utilisera le mode agent, ce qui implique l’installation du logiciel agent OSSEC sur les agents.

Dans ce didacticiel, vous apprendrez à installer un serveur OSSEC et un agent OSSEC, puis à configurer le serveur et l’agent afin que le serveur surveille l’agent, le serveur envoyant des alertes par e-mail.

Conditions préalables

Pour compléter ce didacticiel, vous aurez besoin des éléments suivants.

  • Deux gouttelettes Ubuntu 14.04. Assurez-vous de noter les adresses IP des deux, que vous pouvez voir sur le tableau de bord DigitalOcean. Nous les désignerons par + your_server_ip + et + your_agent_ip +, respectivement.

  • Un utilisateur sudo non root sur les deux gouttelettes, que vous pouvez obtenir en suivant les trois premières étapes de this Didacticiel.

  • Pare-feu Iptables activé sur les deux. Sous Linux, la dernière version stable d’OSSC a besoin d’iptables pour sa fonction de réponse active. Cela ne fonctionne pas avec ufw, les applications de pare-feu par défaut sur Ubuntu. Suivez les instructions de la page Comment configurer un pare-feu à l’aide d’Iptables sur Ubuntu 14.04 pour configurer iptables sur les deux serveurs.

Étape 1 - Téléchargez et vérifiez OSSEC sur le serveur et l’agent

Nous allons commencer par télécharger et vérifier OSSEC sur les deux Droplets (le serveur et l’agent). Toutes les commandes de cette étape doivent être exécutées sur les deux gouttelettes, sauf indication contraire.

OSSEC est livré sous forme d’archive compressée. Dans cette section, vous allez télécharger OSSEC et son fichier de somme de contrôle, qui sert à vérifier que l’archive n’a pas été falsifiée. Pour commencer, connectez-vous au serveur comme d’habitude, puis mettez à jour la base de données de paquets.

sudo apt-get update

Installez les mises à jour disponibles.

sudo apt-get upgrade

Enfin, installez les packages requis.

Sur le * serveur *, vous devez installer les éléments suivants:

sudo apt-get install inotify-tools build-essential

Sur le * agent *, vous devez installer les éléments suivants:

sudo apt-get install build-essential

Ensuite, téléchargez OSSEC et son fichier de somme de contrôle sur les deux gouttelettes. Vous pouvez consulter le site Web project pour obtenir la dernière version, mais celle ci-dessous est la plus récente au moment de la rédaction.

wget -U ossec http://www.ossec.net/files/ossec-hids-2.8.1.tar.gz

wget -U ossec http://www.ossec.net/files/ossec-hids-2.8.1-checksum.txt

Après avoir téléchargé les deux fichiers, vérifiez la somme md5 de l’archive compressée.

md5sum -c ossec-hids-2.8.1-checksum.txt

Le résultat devrait être:

ossec-hids-2.8.1.tar.gz: OK
md5sum: WARNING: 1 line is improperly formatted

Suivez cela en vérifiant la somme de contrôle SHA1.

sha1sum -c ossec-hids-2.8.1-checksum.txt

Sa sortie devrait être:

ossec-hids-2.8.1.tar.gz: OK
sha1sum: WARNING: 1 line is improperly formatted

Dans chaque cas, ignorez la ligne * WARNING *. La ligne * OK * confirme ce que le fichier est bon.

Étape 2 - Installez le serveur OSSEC

Dans cette étape, nous allons installer le serveur OSSEC *, de sorte que ces commandes ne doivent être exécutées que sur un seul droplet. Avant de lancer l’installation du serveur, décompressez-le.

tar xf ossec-hids-2.8.1.tar.gz

Il sera décompressé dans un répertoire appelé + ossec-hids-2.8.1 + Allez dans ce répertoire.

cd ossec-hids-2.8.1/

Puis lancez l’installation.

sudo ./install.sh

Tout au long du processus d’installation, vous serez invité à fournir des informations. Dans la plupart des cas, il suffit d’appuyer sur * ENTER * pour accepter les valeurs par défaut.

Le premier choix que vous serez invité à faire est de sélectionner la langue d’installation. Par défaut, il s’agit de l’anglais (en). Appuyez donc sur * ENTER * si c’est votre langue préférée. Sinon, tapez les 2 lettres de la liste des langues prises en charge.

La prochaine question vous demandera quel type d’installation vous voulez. Ici, entrez * serveur *.

1- What kind of installation do you want (server, agent, local, hybrid or help)?

Pour le reste des questions, vous pouvez accepter les valeurs par défaut, ce qui signifie que vous appuyez simplement sur * ENTER *. Pour la question sur l’email, assurez-vous d’entrer une adresse email valide. Des notifications lui seront envoyées.

Si l’installation réussit, vous devriez obtenir cette sortie:

- System is Debian (Ubuntu or derivative).
- Init script modified to start OSSEC HIDS during boot.

- Configuration finished properly.

...

   More information can be found at http://www.ossec.net

   ---  Press ENTER to finish (maybe more information below). ---

Puis appuyez sur * ENTER *, et vous devriez voir ceci:

- In order to connect agent and server, you need to add each agent to the server.
  Run the 'manage_agents' to add or remove them:

  /var/ossec/bin/manage_agents

  More information at:
  http://www.ossec.net/en/manual.html#ma

Étape 3 - Configurer le serveur OSSEC

Comme l’agent n’est pas encore installé, nous nous occuperons de l’ajouter ultérieurement au serveur. Pour l’instant, configurons le serveur pour qu’il puisse envoyer des alertes.

Ici, nous allons configurer les paramètres de messagerie du serveur OSSEC et nous assurer qu’il peut envoyer des alertes au courrier spécifié. Pour accéder aux fichiers et répertoires d’OSSEC et les modifier, vous devez basculer sur l’utilisateur root.

sudo su

Maintenant que vous êtes root, + cd + dans le répertoire où se trouve le fichier de configuration d’OSSEC.

cd /var/ossec/etc

Le fichier de configuration est + ossec.conf +. Commencez par faire une copie de sauvegarde.

cp ossec.conf ossec.conf.00

Puis ouvrez l’original. Ici, nous utilisons l’éditeur de texte + nano +, mais vous pouvez utiliser celui que vous préférez.

nano ossec.conf

Les paramètres de messagerie sont en haut du fichier. Voici une description des champs que vous allez modifier, suivie d’un exemple de fichier + ossec.conf +.

  • * <email_to \> * est l’email que vous avez donné lors de l’installation. Les alertes seront envoyées à cette adresse e-mail.

  • * <email_from \> * est l’origine des alertes OSSEC. Remplacez-la par une adresse électronique valide afin de réduire les risques que vos courriels soient marqués comme courrier indésirable par le serveur SMTP de votre fournisseur de messagerie.

  • Si vous avez votre propre serveur de messagerie et qu’il se trouve sur le même hôte que celui sur lequel le serveur OSSEC est installé, vous pouvez modifier le paramètre * <smtp_server \> * en * localhost *.

Notez que * <email_to \> * et * <email_from \> * peuvent être identiques. Voici à quoi cette section ressemblera lorsque vous aurez terminé; remplacez les variables en rouge par les vôtres.

<global>
   <email_notification>yes</email_notification>
   <email_to></email_to>
   <smtp_server></smtp_server>
   <email_from></email_from>
</global>

Après avoir modifié les paramètres de messagerie, enregistrez et fermez le fichier. Puis démarrez OSSEC.

/var/ossec/bin/ossec-control start

Vérifiez votre boîte de réception pour un email qui indique que OSSEC a commencé. Vérifiez votre dossier spam si vous ne voyez pas l’email.

Étape 4 - Installez l’agent OSSEC

Dans cette section, vous apprendrez à installer l’agent OSSEC * sur votre deuxième Droplet. Ce sera similaire à l’installation du serveur. Avant de lancer l’installation de l’agent, décompressez-le.

tar xf ossec-hids-2.8.1.tar.gz

Il sera décompressé dans un répertoire appelé + ossec-hids-2.8.1 + Allez dans ce répertoire.

cd ossec-hids-2.8.1/

Puis lancez l’installation.

sudo ./install.sh

La plupart des invites sont les mêmes qu’auparavant, mais quelques-unes sont différentes. Lorsque demandé:

1- What kind of installation do you want (server, agent, local, hybrid or help)?

La réponse devrait être * agent *. Et quand on lui demande:

3.1- What's the IP Address or hostname of the OSSEC HIDS server?:

Tapez l’adresse IP du serveur OSSEC que vous avez obtenue précédemment. C’est l’adresse IP de l’autre Droplet (celui sur lequel le serveur OSSEC a été installé).

Pour les autres questions, acceptez les valeurs par défaut en appuyant sur * ENTER * comme vous l’avez fait lors de l’installation du serveur OSSEC. Après l’installation, vous devriez obtenir cette sortie:

- System is Debian (Ubuntu or derivative).
- Init script modified to start OSSEC HIDS during boot.

- Configuration finished properly.

...

   More information can be found at http://www.ossec.net

   ---  Press ENTER to finish (maybe more information below). ---

Et après avoir appuyé à nouveau sur * ENTER *, vous devriez voir:

- You first need to add this agent to the server so they
  can communicate with each other. When you have done so,
  you can run the 'manage_agents' tool to import the
  authentication key from the server.

  /var/ossec/bin/manage_agents

  More information at:
  http://www.ossec.net/en/manual.html#ma

Maintenant, l’agent et le serveur ont été installés, mais ils ne peuvent pas encore communiquer.

Étape 5 - Ajouter un agent au serveur et extraire sa clé

Sur le serveur OSSEC, démarrez l’ajout de l’agent.

  • Remarque *: Vous devriez toujours fonctionner en tant que root depuis l’étape 3, vous n’avez donc pas besoin d’utiliser + sudo + dans ces commandes.

/var/ossec/bin/manage_agents

Vous verrez alors les options présentées ci-dessous. Choisissez * a * pour ajouter un agent.

  (A)dd an agent (A).
  (E)xtract key for an agent (E).
  (L)ist already added agents (L).
  (R)emove an agent (R).
  (Q)uit.
Choose your action: A,E,L,R or Q:

Vous serez ensuite invité à spécifier un nom pour l’agent, son adresse IP et un ID. Rendez le nom unique, car il vous aidera à filtrer les alertes reçues du serveur. Pour l’ID, vous pouvez accepter la valeur par défaut en appuyant sur * ENTER *.

Lorsque vous entrez les trois champs, entrez * y * pour confirmer.

- Adding a new agent (use '\q' to return to the main menu).
 Please provide the following:
  * A name for the new agent:
  * The IP Address of the new agent:
  * An ID for the new agent[001]:
Agent information:
  ID:001
  Name:agentUbuntu
  IP Address:111.111.111.111

Confirm adding it?(y/n):
Agent added.

Après cela, vous serez renvoyé au menu principal. Vous devez maintenant extraire la clé de l’agent, qui sera répercutée à l’écran. (Ce sera différent de celui de l’exemple ci-dessous.) Assurez-vous de le copier car vous devrez le saisir pour l’agent.

...

Choose your action: A,E,L,R or Q:

Available agents:
  ID: 001, Name: agentUbuntu, IP: 111.111.111.111
Provide the ID of the agent to extract the key (or '\q' to quit):

Agent key information for '001' is:
MDAxIGFnZW50VWJ1bnyEwNjI5MjI4ODBhMDkzMzA4MR1IXXwNC4yMzYuMjIyLjI1MSBiMTI2U3MTI4YWYzYzg4M2YyNTRlYzM5M2FmNGVhNDYTIwNDE3NDI1NWVkYmQw

** Press ENTER to return to the main menu.

Après avoir appuyé sur * ENTER *, vous retournerez au menu principal. Tapez * q * pour quitter.

...

Choose your action: A,E,L,R or Q:

** You must restart OSSEC for your changes to take effect.

manage_agents: Exiting ..

Étape 6 - Importer la clé du serveur vers l’agent

Cette section doit être complétée sur l’agent. Elle consiste à importer (copier) la clé de l’agent extraite sur le serveur et à la coller sur le terminal de l’agent. Pour commencer, passez à root en tapant:

sudo su

Puis tapez:

/var/ossec/bin/manage_agents

Vous serez présenté avec ces options:

  (I)mport key from the server (I).
  (Q)uit.
Choose your action: I or Q:

Après avoir tapé la bonne option, suivez les instructions pour copier et coller la clé générée à partir du serveur.

Agent information:
  ID:001
  Name:agentUbuntu
  IP Address:104.236.222.251

Confirm adding it?(y/n):
Added.
** Press ENTER to return to the main menu.

Retour au menu principal, tapez * q * pour quitter:

Choose your action: I or Q:

Étape 7 - Autorisez le trafic du port UDP 1514 à travers les pare-feu

La communication entre l’agent et le serveur s’effectue via le port UDP 1514. Vous devez donc ajouter une règle à iptables aux deux extrémités pour autoriser le trafic via ce port.

Tout d’abord, supprimez temporairement la règle de suppression sur l’agent et le serveur.

sudo iptables -D INPUT -j DROP

Pour ajouter la règle au serveur OSSEC *, entrez les informations suivantes en utilisant l’adresse IP de votre agent OSSEC.

iptables -A INPUT -p UDP --dport 1514 -s  -j ACCEPT

Ensuite, sur * l’agent *, entrez ce qui suit en utilisant l’adresse IP de votre serveur OSSEC.

iptables -A INPUT -p UDP --dport 1514 -s  -j ACCEPT

Ensuite, autorisez tout le trafic sortant via le pare-feu sur l’agent et le serveur.

iptables -A OUTPUT -j ACCEPT

Enfin, ajoutez à nouveau la règle de suppression aux deux.

sudo iptables -A INPUT -j DROP

Ces règles devraient persister après un redémarrage en raison de + iptables-persistant +, que vous avez installé pendant les conditions préalables.

Étape 8 - Redémarrez l’agent OSSEC et le serveur

Maintenant que le serveur et l’agent ont été configurés pour communiquer, redémarrez les deux pour effectuer les modifications à l’aide de:

/var/ossec/bin/ossec-control restart

En plus de pouvoir redémarrer l’agent OSSEC à partir de l’agent lui-même, vous pouvez également le redémarrer à partir du serveur OSSEC avec + / var / ossec / bin / agent_control -R +, où * 001 * est l’ID de l’agent.

Sur le serveur OSSEC, vous pouvez répertorier les agents actifs en tapant:

/var/ossec/bin/list_agents -c

Si vous obtenez une sortie comme celle ci-dessous, vous saurez que le serveur et l’agent parlent.

agentUbuntu-111.111.111.111 is active.

Conclusion

À ce stade, vous devriez recevoir des alertes du serveur contenant des notifications à la fois du serveur et de l’agent. La ligne d’objet des alertes relatives à l’agent ressemble à «+ Notification OSSEC - (agentUbuntu) 111.111.111.111 - Alerte niveau 3 `. Le corps de ces courriels commence par ` OSSEC HIDS Notification`.

Une fois que vous avez établi que le serveur et l’agent peuvent communiquer, vous pouvez personnaliser davantage les deux installations. Les modifications qui peuvent être apportées sur le serveur OSSEC et sur l’agent pour signaler les ajouts de fichiers et pour avertir en temps réel sont identiques à celles que vous pouvez effectuer sur une installation local OSSEC. Vous pouvez consulter la section correspondante dans Comment installer et configurer Notifications de sécurité OSSEC sur Ubuntu 14.04 pour connaître la marche à suivre pour effectuer ces modifications.

Si vous devez surveiller plus de deux gouttelettes, vous pouvez les ajouter en tant qu’agents OSSEC à la configuration en suivant les étapes décrites dans cet article. Si vous rencontrez des problèmes lors de la configuration, le premier endroit où rechercher des indices est dans le journal des erreurs, situé + / var / ossec / logs / ossec.log +.

Cet article ne traite que des bases de la configuration d’OSSC en mode agent de serveur. De plus amples informations sont disponibles sur http://ossec-docs.readthedocs.org.

Related