Prelude is een "Hybrid IDS framework" die het mogelijk maakt dat zowel open source als proprietary security applicaties naar één gecentraliseerd systeem melding maken. Om dit te doen maakt Prelude gebruik van IDMEF (Intrusion Detection Message Exchange Format) een IETF standaard die ervoor zorgt dat verschillende sensoren via dezelfde taal "events" genereren.
Op deze manier kan Prelude gebruik maken van verschillende sensoren zoals Snort, honeyd, Nessus Vulnerability Scanner, Samhain, en meer dan 30 verschillende systeemlogs. Met al deze gegevens kan de software een aanval beter verifieren en verbanden tussen verschillende incidenten leggen.
Voor iedereen die met Prelude aan de slag wil gaan hebben we een zeer uitgebreide handleiding gemaakt. De handleiding bestaat uit 3 delen:
Intrusion Detection met Prelude Hybrid IDS: Deel 1 (Introductie)
Intrusion Detection met Prelude Hybrid IDS: Deel 2 (Prelude-manager)
Intrusion Detection met Prelude Hybrid IDS: Deel 3 *Nieuw*,In dit derde deel uit de serie Intrusion Detection met Prelude Hybrid IDS wordt de installatie van het IDS beschreven.
Prewikka
Het installeren van de Prewikka frontend begint wederom met het installeren van de prewikka package:
# portinstall py24-prewikkaMySQL Database
mysql> create database prewikka;Na het aanmaken van de database kan deze worden gevuld:
Query OK, 1 row affected (0.00 sec)
mysql> grant all privileges on prewikka.* to prewikka@localhost identified
by 'ScLmBUcl6vNui3sBEItakaiVvSGj6O';
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
# mysql -p -u prewikka prewikka /local/share/prewikka/database/mysql.sqlPrewikka configuratie
Enter password:
[general]Web Account
external_link_new_window
[interface]
software: Prewikka
place: RooT66
title: Prelude management
[command]
whois: /usr/bin/whois
traceroute: /usr/sbin/traceroute
[general]
external_link_new_window
[interface]
software: Prewikka
place: RooT66
title: Prelude management
[command]
whois: /usr/bin/whois
traceroute: /usr/sbin/traceroute
[idmef_database]
type: mysql
host: localhost
user: prelude
pass: AgTCwkCRSu9uUD4zFwRJC5wtHZtEA4
name: prelude
[database]
type: mysql
host: localhost
user: prewikka
pass: ScLmBUcl6vNui3sBEItakaiVvSGj6O
name: prewikka
[log stderr]
[auth loginpassword]
expiration: 60
# chown -R www:www /usr/local/etc/prewikka/Webserver configuratie
# chmod 700 /usr/local/etc/prewikka/
NameVirtualHost *:80Het is belangrijk op te merken dat ik de elianne machine een alias prelude heb gegeven in mijn /etc/hosts.
Directory /usr/local/share/prewikka/htdocs>
Allow from any
ServerName prelude
SetHandler mod_python
PythonHandler prewikka.ModPythonHandler
SetHandler None
Alias /prewikka /usr/local/share/prewikka/htdocs
Prewikka website
Op http://prelude/ wordt nu een prewikka website gepresenteerd. De eerste maal inloggen gebeurt met de gebruikersnaam admin, wachtwoord admin. Het is verstandig deze direct te veranderen. De prewikka website is verder behoorlijk leeg, er zijn nog geen meldingen binnengekomen en onder agents staat alleen de prelude-manager.
Prelude Logfile Monitor Sensor
Het installeren van de prelude logfile monitor (prelude-lml) dient te gebeuren op alle machines van het netwerk. Onder FreeBSD zal de installatie door de ports geschieden:
# portinstall prelude-lmlPrelude-lml configuratie
We laten prelude hier alle logberichten controleren. Omdat /var/log/all.log niet altijd voor prelude leesbaar is dienen we in /etc/newsyslog.conf de volgende regel te hebben voor all.log:
include = /usr/local/etc/prelude/default/idmef-client.conf
[format=syslog]
time-format = "%b %d %H:%M:%S"
prefix-regex = "^(?P.{15}) (?P S+)
(?:(?PS+?)(?:[(?P [0-9]+)])?: )?"
file = /var/log/all.log
# udp-server = 0.0.0.0
[format=apache]
time-format = "%d/%b/%Y:%H:%M:%S"
prefix-regex = "^(?PS+) - - [(?P .{20}) +.{4}] "
file = /var/log/httpd-access.log
[Pcre]
ruleset=/usr/local/etc/prelude-lml/ruleset/pcre.rules
/var/log/all.log root:prelude 640 7 * @T00 JVerder moet all.log ook uberhaubt worden aangemaakt, dmv de volgende regel in /etc/syslog.conf:
*.* /var/log/all.logOm te zorgen dat dit bestand ook bestaan, kunnen de volgende commando's worden uitgevoerd:
# touch /var/log/all.logVergeet niet syslogd te herstarten mocht je /etc/syslog.conf hebben aangepast. Mocht je ook de errorlog van apache willen monitoren, verander dan de httpd.conf zodat de ErrorLog regel er uitziet als:
# chown root:prelude /var/log/all.log
# chmod 640 /var/log/all.log
ErrorLog syslogPrelude account
Voor de pidfile maken we een directory aan in /var/run, en we zorgen er weer voor dat de prelude gebruiker alle configuratie bestanden bezit:
elianne# mkdir /var/run/prelude-lmlPrelude profiel
elianne# chown -R prelude:prelude /var/run/prelude-lml /var/spool/prelude
/var/spool/prelude-lml /usr/local/etc/prelude /usr/local/etc/prelude-lml
elianne# chmod 700 /var/run/prelude-lml /var/spool/prelude /var/spool/prelude-lml
/usr/local/etc/prelude /usr/local/etc/prelude-lml
elianne#
# prelude-adduser register prelude-lml "idmef:w admin:r"In dit commando is 10.0.1.4 het ip adres van de manager. Op de manager dient het volgende commando to worden uitgevoerd:
10.0.1.4 --uid prelude --gid prelude
# prelude-adduser registration-server prelude-managerZorg ervoor dat je firewall deze verbinding niet tegenhoud, het is een tcp verbinding over port 5553.
--listen 10.0.1.4 --uid prelude --gid prelude
Startup scripts
Ook voor de prelude logfile monitor wordt door de FreeBSD ports een startup script meegeleverd. Deze bevindt zich in /usr/local/etc/rc.d/prelude-lml. Ook hierin dienen we de pidfile te veranderen naar:
pidfile=/var/run/prelude-lml/prelude-lml.pidEn we dienen in /etc/rc.conf de volgende regels op te nemen:
prelude_lml_enable="YES"Wanneer we nu /usr/local/etc/rc.d/prelude-lml start uitvoeren zien we bij de manager in de /var/log/messages de volgende regel:
prelude_lml_user="prelude"
May 5 10:41:57 elianne prelude-manager: [127.0.0.1:59706 0x65e5445b0e93Ook zien we nu de sensor in de prewikka frontend. Zorg ook hierbij dat de firewall niet de verbinding tussen sensor en manager verbiedt. Deze verbindingen gaan naar tcp port 4690.
idmef:w admin:r]: TLS authentication succeed: client certificate is trusted.
Deze posting is gelocked. Reageren is niet meer mogelijk.