Archive pour Février 2010

Combinant Logwatch et OSSEC - Partie 4

18 février 2010

Dans mon dernier post, nous avons installé Logwatch ainsi que OSSEC. Il est maintenant temps de Logwatch et OSSEC jouer ensemble dans le même sandbox. Dans ce post, je vais discuter de la façon d'obtenir Logwatch pour résumer l'information générée par OSSEC.

Options de déploiement

Nous avons deux chemins que nous pouvons suivre pour le mettre en place:

  1. Avez Logwatch analyser les logs OSSEC directement.
  2. Avez OSSEC envoyer ses alertes à un serveur de type Syslog, puis exécutez Logwatch sur le serveur Syslog.

L'avantage pour l'option # 1 est que nous besoin d'un seul système. Logwatch sera exécuté sur le système hébergeant le serveur OSSEC. Le problème que nous allons courir en revanche implique le fichier OSSEC alerte. Les entrées du journal ne sont pas normalisées. Cela signifie que le format peut changer d'entrée à l'entrée, et peut même étalée sur plusieurs lignes. Il va être un véritable cauchemar pour créer un script qui va Logwatch filtre et résumer les informations d'alerte.

Si nous passons avec l'option # 2, nous aurons besoin d'une autre boîte d'agir comme notre serveur de journalisation centralisée. Afin d'avoir le serveur OSSEC accepter les entrées du journal de la non-agents, il a pour écouter sur UDP/514. C'est le même port utilisé par un serveur de journalisation centralisée, et vous ne pouvez pas avoir deux applications partagent le même port (sauf avec Windows, mais l'accès est extrêmement salissant prise). Sur le plan positif, les entrées d'alerte aura normalisés quand ils sont transmis au serveur Syslog afin de créer un script de synthèse Logwatch sera beaucoup plus facile. En outre, Logwatch sait déjà sur les fichiers Syslog standard, donc nous aurons moins de travail de personnalisation à faire.

Enfin, je l'ai mentionné dans un précédent poste que OSSEC n'est pas conçu pour être une carte SIM. C'est parce qu'il n'a pas tout enregistrer, les événements qui génèrent une alerte. Donc nous allons probablement vouloir un serveur centralisé de toute façon, et il est logique d'avoir le stocker les informations générées par OSSEC.

Donc, si ça sonne comme je vous orienter vers l'option # 2, vous avez absolument raison. Cela dit, je vais encore pour couvrir l'option # 1 car c'est une configuration beaucoup plus complexe.

Traiter avec date / heure

Jetez un oeil sur le fichier de log principal OSSEC et vous devriez voir semblable à la suivante:

[Root @ fubar logs] # tail -3 / var / ossec / logs / ossec.log

18/02/2010 12:32:05 ossec-rootcheck: INFO: fin de balayage rootcheck.

18/02/2010 14:27:06 ossec-syscheckd: INFO: Démarrage syscheck numérisation.

18/02/2010 14:39:21 ossec-syscheckd: INFO: Fin syscheck numérisation.

Notez la façon dont le timbre à date / heure actuelle est formaté. Ceci est différent de la plupart des applications, donc la première chose que nous devons faire est de dire Logwatch façon de traiter avec ce format. Nous aurons besoin de créer un script que nous pouvons appeler en cas de besoin qui comprend le format indiqué ci-dessus.

Commencez par déplacer dans le répertoire partagé des scripts:

cd / usr / share / logwatch / scripts / partagé

En utilisant votre éditeur favori, créez un fichier nommé "applylongdate":

vi applylongdate

Voici ce dont vous avez besoin à l'intérieur de ce fichier. N'hésitez pas à copier / coller à partir de cette page:

l'utilisation Logwatch ': Les dates';

my $ Debug = $ ENV {'LOGWATCH_DEBUG'} | | 0;

$ SearchDate = TimeFilter ('% Y /% m /% d% H:% M:% S');

if ($ Debug> 5) {

print STDERR "DEBUG: ApplyLongDate intérieur ... \ n";

print STDERR "DEBUG: Looking for:". $ SearchDate. "\ N";

}

while (defined ($ thisline = <STDIN>)) {

if ($ thisline = ~ m / ^ $ SearchDate / o) {

Imprimer thisline $ = ~ s / ^ .... \ / .. \ / .. ..:..:.. / /;

print $ thisline;

}

}

# Vi: shiftwidth = 3 = la syntaxe perl tabstop = 3 et

Une fois que vous enregistrez le fichier, il nous faut maintenant définir les autorisations appropriées:

chmod 755 applylongdate

Configurer les fichiers Log

Ensuite, nous devons dire à Logwatch où les fichiers journaux sont situés OSSEC. Chaque fois que vous ajoutez de nouveaux fichiers journaux ou de créer de nouveaux services à surveiller dans Logwatch, vous devez placer vos modifications sous le répertoire / etc / logwatch. Nous allons créer deux fichiers de configuration. La première sera de gérer les messages OSSEC, et le second traitera des alertes et des changements OSSEC réponse active.

Commençons par créer le fichier de configuration pour le fichier journal principal OSSEC:

cd / etc / logwatch / conf / logfiles

ossec.conf vi

Le contenu du fichier doit être aussi suivies:

LogFile = / var / ossec / logs / ossec.log

* = ApplyLongDate

Vous pouvez maintenant sauvegarder et quitter le fichier. Ensuite, nous allons créer le fichier de configuration pour les fichiers journaux restants:

vi ossec-alert.conf

Le contenu de ce fichier doit être aussi suivies:

LogFile = / var / ossec / logs / active-responses.log

LogFile = / var / ossec / logs / alertes / alerts.log

LogFile = / var / ossec / logs / firewall / firewall.log

Une fois terminé, sauvegarder et quitter. Les autorisations par défaut devrait être acceptable pour notre configuration.

Configuration des services OSSEC

Ensuite, nous avons besoin de définir les services OSSEC et d'identifier ce que nous voulons utiliser comme un titre lorsque les rapports sont générés. Voici comment faire pour créer le premier fichier:

cd / etc / logwatch / conf / services

ossec.conf vi

Le contenu de ce fichier est assez simple:

Titre = "OSSEC Messages"

LogFile = ossec

Une fois terminée, vous pouvez sauvegarder et quitter. Nous avons besoin de créer un autre fichier dans ce répertoire:

vi ossec-alert.conf

Le contenu de ce fichier doit être:

Titre = "Alertes OSSEC"

LogFile = ossec alerte

Une fois terminé, enregistrer et quitter comme d'habitude.

Parsing Les Entrées

Ensuite, nous devons dire à Logwatch comment formater les entrées du journal dans le rapport. Nous aurons besoin de créer un script de personnalisation pour chaque ensemble de services. Nous allons commencer par utiliser un script de test Logwatch fourni; juste pour que tout fonctionne bien sûr.

Commencez par déplacer dans le répertoire approprié:

cd / etc / logwatch / scripts / services

Utilisez votre éditeur favori pour créer votre premier script:

vi ossec

Le contenu du script doit être aussi suivies:

#! / Bin / bash

# Ceci est un script aussi beau que vous montrera les lignes que vous allez

# Être le traitement et les rapports sur. Il va d'abord afficher les

# Variables d'environnement standard et ensuite il prend STDIN et

# Dump it de retour vers STDOUT.

# Ce sont les variables d'environnement standard. Vous pouvez définir

# Plus dans votre fichier de configuration du service (voir ci-dessus).

echo "Date Range: $ LOGWATCH_DATE_RANGE"

echo "Niveau de détail: $ LOGWATCH_DETAIL_LEVEL"

echo "Temp dir: $ LOGWATCH_TEMP_DIR"

echo "Niveau de débogage: $ LOGWATCH_DEBUG"

# Maintenant, prenez STDIN et STDOUT c'est de vidage

cat

Maintenant créez votre second script:

vi ossec alerte

et comprennent le contenu exact même:

#! / Bin / bash

# Ceci est un script aussi beau que vous montrera les lignes que vous allez

# Être le traitement et les rapports sur. Il va d'abord afficher les

# Variables d'environnement standard et ensuite il prend STDIN et

# Dump it de retour vers STDOUT.

# Ce sont les variables d'environnement standard. Vous pouvez définir

# Plus dans votre fichier de configuration du service (voir ci-dessus).

echo "Date Range: $ LOGWATCH_DATE_RANGE"

echo "Niveau de détail: $ LOGWATCH_DETAIL_LEVEL"

echo "Temp dir: $ LOGWATCH_TEMP_DIR"

echo "Niveau de débogage: $ LOGWATCH_DEBUG"

# Maintenant, prenez STDIN et STDOUT c'est de vidage

cat

Enfin, nous avons besoin de définir les autorisations appropriées:

chmod 755 ossec *

Test de la configuration

La meilleure façon de tester notre nouvelle configuration est d'exécuter la commande suivante:

logwatch | less

Si vous voulez seulement voir vos modifications, vous pouvez exécuter un rapport sur chaque service, un à la fois:

logwatch service ossec | less

logwatch service d'alerte ossec | less

Une personnalisation plus poussée

Une fois que vous obtenez tous les travailler au-dessus, vous pouvez vous concentrer sur l'obtention Logwatch de filtrer et de résumer les entrées du journal. Logwatch est assez flexible, et vous pouvez personnaliser la sortie comme vous le souhaitez. Une des choses gentilles sur le script de test ci-dessus est supérieure à celle qu'il vous montre exactement ce que vous avez à travailler avec. Donc, avec une magie expression régulière peu, vous pouvez résumer les entrées que vous jugez appropriée. Pour quelques idées, consultez les fichiers situés sous:

/ Usr / share / logwatch / scripts / services

Ce sont les scripts de synthèse par défaut inclus avec Logwatch. Plus précisément, ont un regard sur les fichiers "pam" et "sshd". Ils sont d'excellents exemples de la fois simple et un ensemble complexe de filtres de synthèse.

Comme vous développer vos scripts, une attention particulière à l'$ LOGWATCH_DETAIL_LEVEL «variable. Cela vous permettra de personnaliser le niveau de sortie du rapport en fonction de combien de verbosité l'utilisateur est à la recherche d'. Par exemple, lorsque vous êtes encore dans le répertoire ci-dessus les services, exécutez la commande suivante:

moins sshd

Lorsque la première page du contenu du fichier est affiché, tapez:

/ Détail <Enter key>

La barre oblique inverse nous permet de rechercher dans le fichier pour une chaîne de texte particulier. Dans ce cas, nous sommes à la recherche pour le mot "détail". Une fois que vous appuyez sur Entrée à la recherche va sauter dans le fichier jusqu'à ce qu'il trouve la première occurrence de la chaîne de texte. Il mettra également en lumière la chaîne de recherche. Dans le premier match, vous remarquerez que l'auteur assigné la variable "$ Détail" pour être la même que la variable $ LOGWATCH_DETAIL_LEVEL ". C'est pour leur faire économiser quelques frappes.

Maintenant, appuyez sur la touche antislash nouveau suivi par la touche Entrée. Ce sera un saut dans le dossier à la prochaine occurrence de "Détail". Vous devriez voir:

if ($ Détail> = 20) {

Utilisateurs $ {$ utilisateur} {$ host} {$ Méthode} + +;

} Else {

if ($ Host! ~ / $ IgnoreHost /) {

Utilisateurs $ {$ utilisateur} {} {$ Host "(tous )"}++;

Remarque de l'auteur fournit de plus amples informations, si le niveau de détail est fixé à 20 (mi-chemin entre basse et moyenne) ou supérieure. Gardez sauter à travers le fichier et vous verrez d'autres exemples où l'auteur de cette technique à effet de levier.

Maintenant la page jusqu'à la fin du fichier et vous devriez voir cette déclaration:

if (keys% autreliste) {

print "\ n ** Entrées ** inégalée \ n";

print "$ _: $ autreliste {$ _} heure (s) \ n" foreach autreliste keys%;

}

Cette section est extrêmement important, car il est un fourre-finale. Pensez à une politique de pare-feu pour un moment. La plupart d'entre nous de créer une règle définitive qui dit: «Si je n'avais pas spécifiquement permettre à un modèle de trafic à travers, le nier". En d'autres termes, si quelque chose d'inattendu arrive, voilà comment je veux que vous pour y faire face.

La déclaration ci-dessus a le même objectif lors de l'analyse du fichier journal. Toutes les précédentes instructions "if" tenter de faire correspondre une chaîne de texte spécifique dans l'entrée du journal, afin de le formater correctement. Cette entrée indique «Si vous n'avez pas adapté et imprimé une entrée de journal spécifique encore, l'imprimer dans une section intitulée« Entrées ** ** incomparable ". Cette étape est extrêmement importante parce que sans elle nous ne verrons jamais les entrées inattendues. Il est des entrées inattendues qui sont probablement les plus importantes et plus intéressantes.

Résumé Exec

Les deux OSSEC et Logwatch sont d'excellents outils gratuits. OSSEC excelle à vous avertir quand un modèle d'attaque connus a lieu. Logwatch est un outil formidable pour résumer un morceau de temps de grumes afin humains peuvent réellement donner un sens à ce qui se passe. En combinant les deux outils, vous pouvez créer une défense beaucoup plus robustes en profondeur la posture. L'ensemble devient supérieure à la somme des parties.

Combinant Logwatch et OSSEC - Partie 3

17 février 2010

Dans mes deux derniers messages j'ai discuté Logwatch et OSSEC, ainsi que la façon dont ils peuvent être un levier pour augmenter votre posture de sécurité. Dans cet épisode, je vais discuter comment installer ces deux outils.

Installation Logwatch

Logwatch est assez facile à installer. En fait, il est installé par défaut sur de nombreuses distributions Linux que vous pouvez déjà en avoir une copie sur votre système. Pour vérifier, ouvrez une session en tant que root et essayez d'exécuter Logwatch avec le "-v". Si vous voyez:

[Root @ fubar logwatch] # logwatch-v

Logwatch 7.3.6 (publié 19.05.07)

Logwatch est installé et vous avez une copie de la dernière version. Si vous ne possédez pas la dernière version, vous pouvez le saisir de la page de téléchargement Logwatch .

Il ya trois saveurs de Logwatch qui peuvent être téléchargés; Binaires au format RPM, la source au format RPM, ou de la source dans une boule de goudron. Si votre système supporte la gestion de paquets RPM, le RPM binaire est votre meilleur choix. Il est simple à installer et RPM mettra à jour automatiquement le logiciel lorsque de nouvelles versions sont disponibles.

Installation Logwatch De RPM

Pour installer la version binaire du RPM, il suffit de connecter en tant que root et naviguez vers le répertoire où vous avez téléchargé le fichier RPM. Maintenant exécutez la commande:

rpm-U-7.3.6-logwatch 1.noarch.rpm

N'oubliez pas que vous pouvez utiliser la touche de tabulation pour compléter automatiquement le nom du fichier plutôt que d'avoir à taper dans l'ensemble.

Installation Logwatch De la source

Installation à partir de la source est un peu plus considérable. Rappelez-vous que pour pouvoir installer le code source, vous devez déjà disposer d'un compilateur (comme gcc) installé sur votre système. Connexion en tant que root et naviguez vers le répertoire où vous avez téléchargé l'archive tar. Pour extraire l'archive, exécutez la commande suivante:

tar xvzf logwatch-7.3.6.tar.gz

Vous verrez une structure de répertoire en dessous de votre emplacement actuel sont créées et beaucoup de fichiers copiés en jeu. Nous devons maintenant passer à l'annuaire le plus haut qui a été créé:

cd logwatch-7.3.6

Pour Logwatch de courir, il ya un tas de répertoires qui doivent être créés sur votre système. Ces fonctions sont documentées dans le fichier README dans le répertoire courant. Heureusement, Logwatch inclut un script d'installation qui peut faire tout le travail pour vous. Malheureusement, le script a les autorisations mauvais jeu de sorte qu'il ne sera pas lancé par défaut. C'est assez facile à corriger mais avec la commande chmod:

chmod 500 install_logwatch.sh

Maintenant, nous pouvons exécuter le script pour l'installation de notre système:

. / Install_logwatch.sh

Ne pas oublier la période au début de la ligne.

Test Logwatch

Pour tester votre configuration Logwatch, exécutez la commande suivante:

logwatch | less

Vous verrez l'écran de votre terminal de se vide, mais c'est normal. Vous allez finir par voir un rapport Logwatch obtenir imprimée à l'écran que vous pouvez naviguer à travers l'aide la «Page Up» et «Page Down» clés. Comment connecter qu'il faut pour que le rapport d'apparaître sur l'écran dépendra de combien d'informations du journal a besoin d'obtenir analysée. Elle pourrait prendre quelques secondes ou quelques minutes. De toute façon, il vous donnera une chance de vous familiariser avec le format du rapport.

Installation OSSEC

Comme je le mentionnais dans mon dernier post, vous avez deux options d'installation avec OSSEC, local ou client / serveur. Dans ce post, je vais me concentrer sur la configuration client / serveur, car il est un peu plus complexe. Si vous effectuez une installation locale, il suffit de sélectionner l'option "local" au cours du processus d'installation et de sauter la section sur la mise en place d'un canal sécurisé entre l'agent et le serveur.

Commencez avec le serveur

OSSEC utilise le cryptage Blowfish pour sécuriser la communication entre le client et le serveur. Blowfish est basée clé symétrique, donc les deux côtés doivent savoir quelle est la valeur clé à utiliser pour communiquer. Le serveur est chargé de générer la clé symétrique, nous devons donc installer le logiciel serveur en premier. Au cours de l'installation du client, nous serons amené pour une valeur de clé de toute évidence, nous devons avoir cette pratique à l'avance.

Voici une astuce gain de temps. La valeur de la clé est longue et presque impossible à retenir. La meilleure façon de déplacer la valeur de la clé du système de serveur pour le système d'agent est d'utiliser SSH. Créer une connexion sécurisée avec le serveur OSSEC, et extraire la clé appropriée (instructions fournies ci-dessous). Dans une seconde fenêtre de terminal, de créer une session SSH sur le système où vous allez installer l'agent. Lorsque l'installation du client vous demande la valeur de clé, vous pouvez simplement copier / coller entre les deux terminaux.

Installation du serveur OSSEC

Le logiciel serveur est disponible comme une boule de goudron, de sorte que vous pouvez récupérer une copie de la dernière version de la page de téléchargement OSSEC . Vous aurez alors besoin d'extraire le contenu de la boule de goudron:

tar xvzf OSSEC-HIDS-2.3.tar.gz

Ensuite, déplacez dans la structure de répertoire que vous venez de créer:

cd-OSSEC HIDS-2.3

OSSEC fournit un script d'installation qui vous guidera dans le processus d'installation du serveur. Pour lancer le script, tapez:

. / Install.sh

Ne pas oublier la période au début de la commande. Vous allez maintenant être invité par un certain nombre d'options d'installation:

  • Langue - La valeur par défaut est l'anglais. Changer si nécessaire.
  • Confirmation de l'installation - Appuyez sur Entrée une fois que vous avez lu l'écran.
  • Installez le type - Tapez "serveur" sans les guillemets et appuyez sur Entrée.
  • Emplacement d'installation - Acceptez la valeur par défaut.
  • E-mail de notification - par défaut est oui, choisissez si vous voulez des alertes e-mail. Si vous sélectionnez oui, vous serez invité à entrer une adresse e-mail et votre serveur de messagerie.
  • Contrôle d'intégrité - par défaut est oui. Sélectionnez si vous voulez que le système local vérifiés périodiquement pour les intrusions.
  • Détection de root kit - par défaut est oui. Bonne option puisque nous devons maintenir un haut niveau d'intégrité de ce système.
  • Réponse active - par défaut est oui. Sélectionnez cette option si vous souhaitez être en mesure de réagir aux événements.
  • Baisse de pare-feu - permet au serveur OSSEC pour défendre l'auto, si une attaque directe est détecté.
  • Liste blanche - Cela vous permettra d'ajouter des adresses IP à partir desquelles d'éventuelles attaques seront ignorés. Soyez prudent avec cette option. Si vous n'avez pas accès à la console sur le serveur OSSEC, il pourrait être sage d'identifier une adresse IP qui peut toujours y entrer simplement veiller à l'adresse IP source est un système fiable.
  • Activer Syslog - par défaut est oui. Sélectionnez cette option si vous voulez collecter des journaux à partir du système qui ne peut pas exécuter un agent OSSEC (comme les pare-feu, commutateurs, routeurs, points d'accès, etc.)
  • Les fichiers journaux à surveiller - Cet écran identifie l'ensemble des fichiers journaux OSSEC locale suivra. Il est purement d'informations, tout ce que vous pouvez faire est appuyez sur Entrée pour passer devant elle. Si vous remarquez un ou plusieurs fichiers journaux manquants de la liste, vous pouvez les ajouter plus tard pour le fichier ossec.conf.

À ce point d'accès sera OSSEC le compilateur locales et d'installer tous les fichiers nécessaires sur le système. Une fois terminée, vous pouvez démarrer le serveur OSSEC en exécutant la commande:

/ Var / ossec / bin / ossec-commande de démarrage

Définir les agents OSSEC

Nous ne sommes pas fait avec le serveur OSSEC juste encore. Ensuite, nous avons besoin de pré-définir tous les systèmes qui seront exécute l'agent OSSEC (client) de logiciels. Ceci est réalisé en utilisant la commande manage_agents. D'abord cependant, nous devons faire un peu de devoirs. Faites une liste de tous les systèmes qui seront exécutant le logiciel de l'agent OSSEC. Pour chaque système, vous aurez besoin d'un nom descriptif ainsi que l'adresse IP de ce système.

Maintenant, exécutez la commande suivante depuis la ligne de commande:

/ Var / ossec / bin / manage_agents

Ceci va produire le menu Gestionnaire principal agent. Appuyez sur "A" suivie de la touche Entrée pour définir votre premier système. Entrez un nom descriptif pour le premier système, suivie par l'adresse IP du système. Ne vous inquiétez pas pour le numéro d'agent. Il suffit d'accepter la valeur par défaut et OSSEC sera automatiquement attribuer le numéro d'identification suivant disponible. Une fois que vous confirmez les informations que vous avez entré, vous serez renvoyé au menu principal du gestionnaire d'agents. Répétez le processus ci-dessus pour chaque système qui sera exécutant un agent OSSEC.

Génération de clés

Une fois que vous avez ajoutés dans tous vos systèmes, il est temps de générer des clés de chiffrement. Cette étape est aussi réalisée avec l'utilitaire manage_agents. Si vous avez fermé l'outil après la dernière étape, il relance aujourd'hui.

Appuyez sur la touche "E" suivi par Enter pour sélectionner la «clé Extrait d'un agent" dans le menu. Vous serez alors invité à entrer le numéro d'identification de la clé que vous souhaitez extraire. Les noms descriptifs et les adresses IP sont répertoriés avec chaque numéro, donc il doit être trivial d'identifier celui que vous voulez. Commencez avec le système que vous envisagez d'installer le logiciel agent sur la première.

OSSEC agent installer sous Linux

Lorsque vous installez le logiciel agent sur un client Linux ou UNIX, vous utilisez la boule de goudron exactement la même, nous avons utilisé pour installer le logiciel serveur. Exécuter le script d'installation même, mais cette fois-ci lorsque vous êtes invité pour le type d'installation que vous souhaitez effectuer, le type de «mandataire» suivi par la touche Entrée.

L'installation du client a plusieurs des mêmes invites comme l'installation du serveur. Utilisez les informations ci-dessus pour vous guider dans le processus. L'invite de commande qui varie cependant, c'est que vous serez invité à fournir l'adresse IP du serveur OSSEC. Une fois terminé, aura accès à OSSEC le compilateur locales et d'installer tous les fichiers requis sur le système.

Ensuite, nous devons importer la clé Blowfish à partir du serveur OSSEC. Alors qu'il était encore sur le système d'agent, exécutez la commande:

/ Var / ossec / bin / manage_agents

Lorsque le menu d'Agent Manager apparaît, sélectionnez «I» pour importer la clé Blowfish.

Lorsque l'invite suivante s'affiche, vous devez entrer manuellement la clé appropriée Blowfish. Encore une fois, si vous utilisez SSH pour les deux systèmes en même temps, vous pouvez simplement copier / coller entre les deux terminaux. Assurez-vous que la clé semble correct, appuyez sur la touche Entrée, puis sélectionnez "Y" pour confirmer que la clé semble correct. Vous serez renvoyé au menu du gestionnaire de l'agent. Sélectionnez "q" pour revenir à la ligne de commande.

Maintenant nous avons simplement besoin de démarrer l'agent OSSEC. Vous pouvez le faire en exécutant la commande suivante:

/ Var / ossec / bin / ossec-commande de démarrage

Vous devriez voir l'ensemble des composants de l'agent OSSEC démarrage, suivi par un message «Terminé».

OSSEC agent installé sur Windows

OSSEC a un exécutable auto-extractible qui vous permettra d'installer le logiciel agent sur un système Windows. Il suffit de double cliquer sur l'exécutable pour démarrer le processus d'installation. Vous serez invité à accepter la licence ainsi que les composants que vous souhaitez installer. Il suffit de suivre les instructions jusqu'à la fenêtre du gestionnaire d'agents OSSEC apparaît.

La fenêtre Gestionnaire d'agents OSSEC vous invite à l'adresse IP du serveur OSSEC. Il sera également vous invite à la valeur de clé Blowfish à utiliser, afin d'extraire les clés appropriées sur le serveur et entrez la valeur dans ce domaine. Assurez-vous supprimer l'invite dans ce domaine avant que vous collez dans la clé Blowfish. Sinon la communication avec le serveur peut échouer.

Ensuite, sélectionnez "Gérer" dans le menu du gestionnaire d'agents OSSEC, suivi par "Démarrer OSSEC". Vous devriez maintenant voir le "Status:" Le changement indicateur pour "Running ...".

Test OSSEC

Une fois que vous avez le serveur et le logiciel de l'agent installé, lancé et configuré les touches appropriées, il est maintenant temps de vérifier notre configuration. Exécutez la commande suivante sur le serveur OSSEC:

cd / var / ossec / logs

Et extraire le fichier ossec.log:

moins ossec.log

Vérifiez le fichier journal de toute erreur. Une erreur courante est que les rapports OSSEC il ne peut pas envoyer un courrier électronique. Assurez-vous que le serveur de messagerie est en marche et qu'il accepte les connexions. Une fois que vous êtes satisfait de la configuration du serveur, il est maintenant temps de vérifier les agents. Descendre à la "alertes" répertoire:

alertes cd

Et extraire le fichier alerts.log:

moins alerts.log

Plus précisément, vous êtes à la recherche d'entrées semblables aux suivantes:

17 février 2010 16:09:16 (bureau) 192.168.1.10-> ossec

Règle: 501 (niveau 3) -> 'Nouveau ossec agents connectés.

IP Src: (aucun)

Utilisateur: (aucun)

OSSEC: Agent commencé: «test_system-> 192.168.1.10.

Vous devriez voir une entrée pour chaque système sur lequel vous avez installé le logiciel de l'agent.

Plus à venir

Ouf! C'est plus que suffisant pour un poste! Dans mon prochain post je vais entrer s'appuyant Logwatch pour analyser toutes les informations d'alerte générés par OSSEC.

Combinant Logwatch et OSSEC - Partie 2

16 février 2010

Dans mon dernier message j'ai décrit comment Logwatch pourrait être utilisé pour simplifier le processus d'examen du journal. Dans ce post nous allons voir OSSEC et ce qu'elle apporte à la table.

Qu'est-ce que OSSEC?

OSSEC , abréviation de «sécurité Open Source", est un hôte système basé détection d'intrusion (HIDS). En d'autres termes, il est conçu pour détecter des attaques ou des violations de politique, si et quand ils se produisent. Bien qu'il ne possède pas la capacité de protéger contre les attaques inconnues ou 0-Day (ce qui serait la prévention d'intrusion basée sur l'hôte), il inclut un large éventail d'outils qui peuvent vous aider à identifier une intrusion quand elle survient, ainsi que dans la mesure des dommages qui ont été causés.

Plates-formes supportées

Pour profiter de toutes les fonctionnalités de OSSEC a à offrir, vous devez exécuter un agent sur le système à protéger. Agents OSSEC peut fonctionner sur Windows, Mac OS X, Linux, et un large éventail de systèmes UNIX. Si vous êtes simplement intéressé à la partie analyse des journaux cependant, une gamme encore plus large de systèmes peuvent être pris en charge. Cela comprend le matériel à la fois de Cisco et Juniper. Un certain nombre de produits spécifiques sont également pris en charge comme les firewalls Checkpoint, Symantec Anti-Virus, Snort, Squid, et Arpwatch, pour n'en nommer que quelques-uns.

Lorsque vous installez OSSEC vous avez deux options de configuration, local ou client / serveur. Une installation locale est utilisée lorsque vous devez tout faire sur un seul système. L'installation du client / serveur vous permet d'exécuter un environnement distribué protection des systèmes multiples dans le même temps. Alors que la plupart des déploiements sont client / serveur basée, si vous voulez donner un tour OSSEC vous pouvez facilement lancer le tout sur un système de test unique en utilisant une installation locale.

Connexion Analyse

OSSEC comprend un système basé sur le journal de détection d'intrusion (couvercles). Cela a la possibilité de consulter les fichiers journaux en quasi temps réel, tout en les scrutant des schémas d'attaque connus. Quand un journal est généré sur un système protégé, l'agent prend soin de transmettre en toute sécurité le journal (Cryptage Blowfish avec un secret pré-partagé) vers le serveur. Le serveur se charge ensuite d'effectuer l'analyse.

La plupart des outils d'analyse de journaux traitent leurs règles dans un format linéaire. J'entends par là que si nous avons 500 règles, seule règle est vérifiée, alors la règle des deux, alors la règle de trois et ainsi de suite jusqu'à une correspondance est trouvée, ou nous rejoindre à la fin du jeu de règles. OSSEC fonctionne un peu différemment car il met en œuvre une structure hiératique aux règles. Les entrées du journal sont d'abord classés et ensuite vérifié que contre celui règles sont appropriées. Le résultat est que plutôt que de devoir traiter tous les 500 règles, la plupart des événements auront vérifié contre 10 règles ou moins. Cela réduit considérablement le montant des frais généraux nécessaires au traitement de l'ensemble de règles.

Vérification de l'intégrité

OSSEC inclut un outil appelé syscheck pour effectuer la vérification d'intégrité de fichier et de répertoire. Si vous utilisez un agent de Windows, vous pouvez également inclure des touches spécifiques dans le registre de Windows pour être surveillés aussi bien. Modifications de fichiers peuvent être détectés en utilisant les deux MD-5 et SHA-1 algorithmes de hachage. Le système est extrêmement personnalisable. Vous pouvez inclure ou exclure des fichiers uniques, ou des structures de répertoires entières. Vous pouvez même définir un indicateur pour détecter la création du nouveau fichier.

Le logiciel agent est conçu pour utiliser une quantité minimale de CPU lors de la vérification d'intégrité. Tout cela signifie que le chèque sera plus long, il contribue également à minimiser la perte de performance du système. Hash informations sont transmises au serveur. Le serveur se charge ensuite d'effectuer la comparaison de hachage pour voir si l'un des fichiers critiques du système ont été modifiés. Le serveur stocke également une copie de la politique de contrôle d'intégrité, de sorte que si des changements de politiques sont faites sur l'agent, ils peuvent être détectés et signalés ainsi.

Détection des anomalies

OSSEC va beaucoup plus loin log vérifiant pour vérifier l'intégrité du système. Politiques d'utilisation peuvent être gérés de manière centralisée depuis le serveur, puis poussé vers les agents appropriés. Par exemple vous pouvez définir une politique concernant les applications Windows qui sont acceptables (Office, Firefox, etc) et celles qui ne sont pas (client de messagerie instantanée, Skype, etc.) Vous pouvez même définir des options de configuration acceptable, comme vérifier que les hachages NT sont utilisés pour mot de passe stocké mais pas hachages LanMan.

OSSEC comprend un certain nombre d'autres goodies afin d'aider à vérifier l'intégrité d'un système. Par exemple OSSEC a la capacité d'exécuter des commandes de l'agent et de surveiller la sortie qui est généré. Par exemple vous pourriez avoir l'agent Linux d'exécuter le "df" commande à intervalles réguliers et générer une alerte si l'utilisation du disque dépasse 90%. Un exemple de Windows peut être d'avoir OSSEC générer une alerte à chaque fichier d'informations sont écrites dans le flux de données alternatif domaine de NTFS.

Active Response

Enfin, OSSEC inclut la capacité à réagir lorsqu'une activité suspecte est détectée. Les réponses peuvent être générés à partir du serveur ou de l'agent, qui jamais vous spécifiez. Les réponses peuvent être aussi bénin que générer une alerte e-mail, d'être aussi proactif que le blocage d'une adresse IP distante d'une quantité limitée de temps. Il ya un certain nombre de scripts inclus réponse active vous pouvez dessiner sur, ou vous pouvez facilement écrire le vôtre.

Une architecture sécurisée

Les auteurs ont OSSEC fait de grands efforts pour sécuriser l'ensemble des composants dans le produit. Les tâches telles que la vérification de l'intégrité sont effectués sur le serveur, plutôt que de l'agent, donc la fiabilité du hash ne peuvent pas être compromises lors d'une attaque. Les processus sont exécutés avec le plus bas niveau d'autorisations possibles, et les différents comptes sont utilisés pour faire fonctionner chaque composant OSSEC. Cela signifie qu'un compromis d'une demande unique au OSSEC ne sera pas immédiatement conduire à un compromis sur le paquet complet. En outre, la plupart des composants sont gérés au sein d'une prison chrooté afin de leur accès au système est encore plus restreint.

Final Words

Bien OSSEC est un outil puissant, il est important de se rappeler que c'est un HIDS et non une solution de gestion des logs. OSSEC pouvez consulter les entrées de journal à la recherche d'habitudes suspectes, mais il ne fera que sauvegarder des informations d'alerte. Ainsi, alors que OSSEC ne remplacera pas votre Security Information Management (SIM) en solution, il peut très certainement l'augmenter. Vous pouvez facilement configurer OSSEC à l'avant toutes les alertes qu'il génère à un serveur de journalisation central .

Bien OSSEC est un logiciel open source, Trend Micro est principalement son développement. Si vous avez besoin de support commercial, vous pouvez acheter un contrat de support à travers eux à un prix raisonnable.

Plus à venir

Dans mon prochain épisode, nous allons voir l'installation de OSSEC et Logwatch. Après cela, nous allons passer en intégrant les deux ensemble.

Combinant Logwatch et OSSEC

15 février 2010

J'ai récemment eu un étudiant me poser une question concernant l'intégration des Logwatch avec OSSEC. Je me sentais comme cela a été une idée complexe et pourtant assez cool qu'il justifie d'une série de messages pour le couvrir en entier. Donc, au cours des prochains jours je vais vous parler de chacun de ces outils, comment les intégrer ensemble, ainsi que ce que la visibilité de sécurité supplémentaires peuvent être acquises une fois le processus terminé.

Qu'est-ce que Logwatch?

Logwatch est un outil open source excellente pour générer des rapports humains quotidiens log lisible. Les entrées du journal ont tendance à tomber dans l'une des trois catégories suivantes:

  • Stuff vous savez qui est mal
  • Stuff vous savez qui est normal et peut être ignoré
  • Tout le reste

C'est que «tout autre» catégorie où Logwatch brille vraiment. Pour les choses que nous savons, c'est le mal, nous mettrons en place une certaine forme de système d'alerte. Par exemple, nous pouvons écrire une signature d'alerte qui prévient l'analyste en sécurité quand un compte est brutale forcé. Mais quid des attaques, nous ne savons pas au sujet ou vous ne savez à quoi ils ressemblent? Ce serait un exemple clair de ce «tout autre» catégorie. Le trafic n'est pas normal, mais nous n'avons pas vu avant d'avoir une signature d'attente pour générer une alerte. Depuis, nous serons incapables d'attraper l'attaque en temps réel, nous aurons besoin de l'attraper lors d'un examen journal quotidien.

Bien sûr, le problème avec les critiques faites journal quotidien, c'est qu'il est longue et fastidieuse. Je veux dire, soyons honnêtes, qui veut vraiment passer leur journée en revue un millions d'euros plus les entrées de journal? Même si vous n'avez, vous êtes sûr que vous fait prendre le hors de la circulation ordinaire?

Comment ça marche?

Que ne Logwatch très bien, c'est vous permettre de réorganiser vos données dans un format qui est facile pour les humains à suivre. Sa vraie force, c'est qu'il vous permet de déplacer les trucs que vous comprenez de la route (normal ou mal), de sorte que les entrées du journal inattendu se démarquer comme un pouce endolori. En d'autres termes, Logwatch vous permet de résumer vos entrées de journaux de sorte que le truc inhabituel est plus facile à repérer.

Qu'est-ce que j'aime vraiment à propos Logwatch est que vous ne perdez rien. Beaucoup d'outils de révision log ne vous montrera que les trucs qui a été pré-défini comme étant le mal. Le problème qu'ils partagent tous, c'est que quand quelque chose se passe mal, mais inattendus, il vole à droite sous le fil. Parce Logwatch vous permet de tout voir, vous n'avez plus manquer à l'inattendu.

Logwatch En action

Permet de discuter de la façon Logwatch fonctionne en utilisant le SSH service de serveur comme un exemple. Les scripts pour faire face à SSH ont déjà été définies dans Logwatch, vous n'avez donc pas besoin de faire aucune modification de recevoir les caractéristiques que nous allons discuter.

Lors de l'examen d'un fichier journal, la première chose que Logwatch ne se réorganisent les entrées du journal en fonction de leurs types de messages. Par exemple toutes les connexions SSH réussies sont regroupés, ainsi que les échecs de connexion trop nombreux, ont refusé les connexions, les comptes verrouillés, des comptes sans une coquille adéquate, le protocole mis-allumettes, etc etc etc Une fois que tous les messages de SSH sont regroupés par leur type, les données sont ensuite résumées afin de réduire la quantité d'information ont été signalés.

Par exemple, la valeur par défaut est de résumer les tentatives de connexion a échoué par compte et par adresse IP source. Ainsi, une section typique échoué rapport d'ouverture pourrait ressembler à ceci:

Echecs d'authentification à partir de ces:

bsmith / mot de passe de 1.2.3.4: 637 fois (s)

jsmith / mot de passe de 1.2.3.5: 2 heure (s)

Ainsi, plutôt que d'avoir à examiner les entrées de journal 639 rapports une mauvaise tentative de connexion, nous avons toutes les informations pertinentes résumées en trois lignes (si vous incluez le titre). Continuez ce processus pour tous les messages SSH autres, et nous avons considérablement réduit la quantité de temps nécessaire pour revoir nos journaux.

Mais que faire si quelque chose arrive qui Logwatch n'est pas pré-programmé pour reconnaître? Quand une entrée du journal inattendu est trouvé, Logwatch ajoute une section à la fin du rapport de service appelé «Entrées inégalée". Donc, si nous voyons ce titre dans la section serveur SSH, nous savons qu'un événement s'est produit qui est soit anormal ou inattendu pour le service SSH. Cela pourrait très bien être une forme d'attaque qui nous ne sommes pas conscients fait le tour.

En se concentrant sur la section inégalée entrées, nous pouvons identifier rapidement l'activité inattendue. Comme je l'ai indiqué précédemment, ceci est vraiment l'objectif principal de faire des critiques journal quotidien. Pour trouver les choses que nous ne prévoyons pas ce qui va se faufiler à notre système d'alerte. Logwatch rend ce processus soit aussi rapide et indolore que possible.

Résumé des fonctionnalités

Dans l'exemple ci-dessus, je parlé de faire des critiques journal quotidien, mais pour être honnête, Logwatch est hautement personnalisable. Vous pouvez spécifier n'importe quelle plage que vous souhaitez utiliser jusqu'à un intervalle d'une seconde. Par exemple, disons que je suis une enquête sur une intrusion plutôt que d'effectuer un examen journal quotidien. Je ne pouvais spécifier une plage comme "14/02/2010 17:05:00 pour cette heure" à se concentrer juste sur les informations qui m'intéressent. Je peux aussi se concentrer sur un seul fichier journal ou un service spécifique.

Le niveau de détail du rapport est également personnalisable. En général, lorsque vous traitez avec la sécurité que vous prenez l'habitude de toujours vouloir plus haut niveau en détail des rapports. Pour être honnête, avec Logwatch un haut niveau de détail est probablement plus que vous aurez jamais besoin. Personnellement, je généralement s'en tenir à "med" pour les moyennes et qui fonctionne à bien. Vous pouvez également spécifier le niveau de rapport comme «faible» ou «élevé» ou utiliser une plage numérique de 0-10 pour un niveau supérieur de granularité (faible = 0, med = 5, haute = 10).

Logwatch peut être exécuté automatiquement ou comme un processus manuel. Typiquement, vous voudrez le configurer pour qu'il s'exécute automatiquement chaque jour et de résumer pour une journée d'entrées de journal. Si jamais vous avez besoin de développer ou de se concentrer le rapport, vous pouvez toujours courir Logwatch partir de la ligne de commande tout en précisant exactement ce que vous voulez voir. Vous pouvez ensuite utiliser l'option "-sauver" option pour spécifier un nom de rapport et de l'emplacement du répertoire de stockage.

Plus à venir

Le ci-dessus devrait vous donner une bonne idée quant aux caractéristiques Logwatch peut apporter à la table. Dans le prochain post je vais discuter OSSEC dans le même niveau de détail. Après cela, je vais entrer dans l'installation de chaque outil ainsi que la façon de les intégrer ensemble.