OSSEC installation : Différence entre versions
De wikiGite
Ligne 36 : | Ligne 36 : | ||
Un fichier de base ossec-init.conf est seulement créé dans /etc, la config se fait sous /opt/ossec/etc. | Un fichier de base ossec-init.conf est seulement créé dans /etc, la config se fait sous /opt/ossec/etc. | ||
− | + | Créer une tâche de mise à jour du local_rules.xml (vi /etc/cron.daily/ossec-local-rules) | |
− | cd /opt/ossec/rules | + | #!/bin/bash |
− | + | # Verify if standard directory exist | |
− | + | if [ -d /opt/ossec ] | |
− | + | then | |
− | + | cd /opt/ossec/rules | |
− | + | # If there is no backup copy of local_rules.xml | |
− | + | if [ ! -f local_rules.xml.dist ] | |
− | + | then | |
− | + | cp local_rules.xml local_rules.xml.dist | |
− | + | fi | |
− | /etc/ | + | # Get it |
+ | wget -q http://www.systea.net/public/local_rules.xml.custom > /dev/null 2>&1 | ||
+ | # If download is ok | ||
+ | if [ $? -eq 0 ] | ||
+ | then | ||
+ | cmp local_rules.xml.custom local_rules.xml > /dev/null 2>&1 | ||
+ | # If downloaded file differs from local file, install it | ||
+ | if [ $? -gt 0 ] | ||
+ | then | ||
+ | mv local_rules.xml.custom local_rules.xml | ||
+ | logger -t ossec "local_rules.xml has changed. Restart needed." | ||
+ | /etc/init.d/ossec restart > /dev/null 2>&1 | ||
+ | else | ||
+ | rm -f local_rules.xml.custom* | ||
+ | logger -t ossec "local_rules.xml not changed. No restart needed." | ||
+ | fi | ||
+ | fi | ||
+ | fi | ||
+ | Puis le lancer au moins une fois | ||
+ | chmod /etc/cron.daily/ossec-local-rules | ||
+ | /etc/cron.daily/ossec-local-rules | ||
A peaufiner : | A peaufiner : | ||
Ligne 88 : | Ligne 108 : | ||
== SNORT LOG ANALYSIS : modif logs snort pour analysis par ossec. (A venir) == | == SNORT LOG ANALYSIS : modif logs snort pour analysis par ossec. (A venir) == | ||
− | |||
− | |||
*ajouter <stats>0</stats> à globals pour éviter les "excessive number of..." | *ajouter <stats>0</stats> à globals pour éviter les "excessive number of..." | ||
− |
Version du 17 mars 2010 à 16:50
Sommaire
Installation OSSEC
Il faut que gcc soit installé.
gcc -v
wget http://www.ossec.net/files/ossec-hids-latest.tar.gz tar -xvzf ossec-hids-latest.tar.gz cd ossec-hids-xxxxx ./install.sh
(note : pour une mise à jour il détecte l'ancienne installation et propose de la mettre à jour. Seul petit soucis : si on répond oui à la mise à jour des règles, il écrase aussi decoder.xml. Penser à y remettre postfix-auth)
Installation selon la doc "Securing Your Server With A Host-based Intrusion Detection System"
- choisir la langue
- Valider l'écran de résumé du système
- choisir installation type local
- install dans /opt/ossec plutôt que /var
- alerte mail : OUI. Il doit trouver le serveur de mail à partir de l'adresse qu'on lui donne.
- démon de vérification d'intégrité (syscheck) : OUI
- moteur de détection de rootkit (rootcheck) : OUI
- réponse active : OUI
- pare-feu ? : OUI
- Ajouter l'adresse fixe local dans la white list
Puis compilation ossec...
Messages de fin :
- Configuration correctement terminée. - Pour démarrer OSSEC HIDS: /opt/ossec/bin/ossec-control start - Pour arrêter OSSEC HIDS: /opt/ossec/bin/ossec-control stop
(ça marche aussi par /etc/init.d/ossec start/stop)
- La configuration peut être visualisée ou modifiée dans /opt/ossec/etc/ossec.conf
Un fichier de base ossec-init.conf est seulement créé dans /etc, la config se fait sous /opt/ossec/etc.
Créer une tâche de mise à jour du local_rules.xml (vi /etc/cron.daily/ossec-local-rules)
#!/bin/bash # Verify if standard directory exist if [ -d /opt/ossec ] then cd /opt/ossec/rules # If there is no backup copy of local_rules.xml if [ ! -f local_rules.xml.dist ] then cp local_rules.xml local_rules.xml.dist fi # Get it wget -q http://www.systea.net/public/local_rules.xml.custom > /dev/null 2>&1 # If download is ok if [ $? -eq 0 ] then cmp local_rules.xml.custom local_rules.xml > /dev/null 2>&1 # If downloaded file differs from local file, install it if [ $? -gt 0 ] then mv local_rules.xml.custom local_rules.xml logger -t ossec "local_rules.xml has changed. Restart needed." /etc/init.d/ossec restart > /dev/null 2>&1 else rm -f local_rules.xml.custom* logger -t ossec "local_rules.xml not changed. No restart needed." fi fi fi
Puis le lancer au moins une fois
chmod /etc/cron.daily/ossec-local-rules /etc/cron.daily/ossec-local-rules
A peaufiner : Ajouter la surveillance nmap (nécessite d'installer nmap et de le lancer régulièrement):
<localfile> <log_format>nmapg</log_format> <location>/var/log/nmap-out.log</location> </localfile>
(voir Sécurité/Sécurité - nmap-ossec) ENLEVER POUR L'INSTANT LA SURVEILLANCE DU LOG DE SNORT (dans ossec.conf, inclu automatiquement si SNORT est installé), c'est plein de faux-positifs sur HTTP, trop restrictif.
- modif local_rules pour ajouter des exclusions à ids.xml ?
OSSEC n'est pas démarré après l'installation. Penser à le lancer.
OSSEC-WUI
wget http://www.ossec.net/files/ui/ossec-wui-0.2.tar.gz tar -xvzf ossec-wui-0.2.tar.gz mv ossec-wui-0.2 /var/www/ossec-wui cd /var/www/ossec-wui ./setup.sh
- Donner un nom/pwd pour le .htaccess + .htpasswd : admin/<mot_de_passe_admin>
Editer /var/www/ossec-wui//var/www/ossec-wui, changer le répertoire racine d'Ossec si nécessaire
Créer un alias dans /etc/apache2/conf.d/ossec.conf :
<IfModule mod_alias.c> Alias /ossec-wui "/var/www/ossec-wui" </IfModule> <DirectoryMatch /var/www/ossec-wui/> Options -FollowSymLinks AllowOverride All order deny,allow # deny from all # allow from 127.0.0.0/255.0.0.0 </DirectoryMatch>
Ajouter www-data dans le groupe ossec dans /etc/group
Redémarrer Apache
SNORT LOG ANALYSIS : modif logs snort pour analysis par ossec. (A venir)
- ajouter <stats>0</stats> à globals pour éviter les "excessive number of..."