Difference between revisions of "OSSEC"
(→Agent) |
m (→Debian/Ubuntu) |
||
Line 44: | Line 44: | ||
Följande Debian distar finns det stöd för '''jessie''','''wheezy''','''strectch''' och '''sid'''. | Följande Debian distar finns det stöd för '''jessie''','''wheezy''','''strectch''' och '''sid'''. | ||
echo "deb http://ossec.wazuh.com/repos/apt/debian wheezy main" >> /etc/apt/sources.list | echo "deb http://ossec.wazuh.com/repos/apt/debian wheezy main" >> /etc/apt/sources.list | ||
− | Om du istället kör Ubuntu så finns det stöd för | + | Om du istället kör Ubuntu så finns det stöd för '''xenial''', '''precise''', '''trusty''', '''vivid''' eller '''wily'''. |
echo "deb http://ossec.wazuh.com/repos/apt/ubuntu precise main" >> /etc/apt/sources.list | echo "deb http://ossec.wazuh.com/repos/apt/ubuntu precise main" >> /etc/apt/sources.list | ||
Uppdatera repot. | Uppdatera repot. | ||
Line 52: | Line 52: | ||
Eller installera '''agenten'''. | Eller installera '''agenten'''. | ||
apt-get install ossec-hids-agent | apt-get install ossec-hids-agent | ||
+ | |||
===RPM based=== | ===RPM based=== | ||
Lägg till yum repo. | Lägg till yum repo. |
Latest revision as of 10:44, 19 June 2016
OSSEC är ett host intrusion detection system. OSSEC monitorerar aktivt dina filer, logar, processer och letar efter rootkit's. OSSEC använder agenter för att övervaka system, det går också att köra agentless och via remote syslog.
Contents
Supportade OS
Agent
- GNU/Linux (all distributions, including RHEL, Ubuntu, Slackware, Debian, etc)
- Windows XP, 2003, Vista, 2008, 2012
- VMWare ESX 3.0,3.5 (including CIS checks)
- FreeBSD (all current versions)
- OpenBSD (all current versions)
- NetBSD (all current versions)
- Solaris 2.7, 2.8, 2.9 and 10
- AIX 5.2 and 5.3
- Mac OS X 10.x
- HP-UX 11
Syslog
- Cisco PIX, ASA and FWSM (all versions)
- Cisco IOS routers (all versions)
- Juniper Netscreen (all versions)
- SonicWall firewall (all versions)
- Checkpoint firewall (all versions)
- Cisco IOS IDS/IPS module (all versions)
- Sourcefire (Snort) IDS/IPS (all versions)
- Dragon NIDS (all versions)
- Checkpoint Smart Defense (all versions)
- McAfee VirusScan Enterprise (v8 and v8.5)
- Bluecoat proxy (all versions)
- Cisco VPN concentrators (all versions)
- VMWare ESXi 4.x
Agentless
- Cisco PIX, ASA and FWSM (all versions)
- Cisco IOS routers (all versions)
- Juniper Netscreen (all versions)
- SonicWall firewall (all versions)
- Checkpoint firewall (all versions)
- All operating systems specified in the “operating systems” section
Installation
OSSEC är uppdelat i server/manager som sedan pratar med agenter som installeras på varje host. Webuit får man installera separat om man vill använda det.
Server/Manager & Agent
Debian/Ubuntu
Lägg till repo nyklarna.
apt-key adv --fetch-keys http://ossec.wazuh.com/repos/apt/conf/ossec-key.gpg.key
Följande Debian distar finns det stöd för jessie,wheezy,strectch och sid.
echo "deb http://ossec.wazuh.com/repos/apt/debian wheezy main" >> /etc/apt/sources.list
Om du istället kör Ubuntu så finns det stöd för xenial, precise, trusty, vivid eller wily.
echo "deb http://ossec.wazuh.com/repos/apt/ubuntu precise main" >> /etc/apt/sources.list
Uppdatera repot.
apt-get update
För att installera Server/Manager.
apt-get install ossec-hids
Eller installera agenten.
apt-get install ossec-hids-agent
RPM based
Lägg till yum repo.
wget -q -O - https://updates.atomicorp.com/installers/atomic |sh
Installera sedan servern/managern.
yum install ossec-hids ossec-hids-server
Eller agenten.
yum install ossec-hids ossec-hids-client
WEBui
För att köra webui krävs:
- Apache/Nginx med PHP (>= 4.1 or >= 5.0) installerat.
- OSSEC (version >= 0.9-3)
git clone https://github.com/ossec/ossec-wui.git /var/www/ossec cd /var/www/ossec && ./setup.sh
Om man har selinux på gör det att man inte kan nå visa ossec log filer. För att fixa kan man lägga till en policy.
Skapa en TE fil: /etc/seliinux/targeted/ossec-wui/ossec-wui.te
med följande innehåll.
module ossec-wui 1.0; require { type var_log_t; type httpd_t; type var_t; class file { read getattr open }; } #============= httpd_t ============== allow httpd_t var_log_t:file read; allow httpd_t var_t:file { read getattr open };
Kör sedan följande kommandon som root:
checkmodule -M -m ossec-wui.te -o ossec-wui.mod semodule_package -o ossec-wui.pp -m ossec-wui.mod semodule -i ossec-wui.pp
Försök nå ossec via http://<host>/ossec
Konfiguration
Agent
Agent är att rekommendera på dom system det finns stöd för.
Lägga till
Det finns 2 sätt att lägga till en agent i ossec.
-
manage_agents
- Manuellt men ett säkrare och mer kontrollerat sätt att lägga till agenter.
-
ossec-authd
- Smidigt för att det går snabbt att lägga till nya agenter. Osäkert för att alla som kan nå porten kommer att få en nykel och bli inlagd i OSSEC systemet. Går att blocka med hjälp av brandväggen.
manage_agents
Kör följande kommando på servern och välj (A)dd an agent.
/var/ossec/bin/manage_agents
När man ska fylla i ett IP kan du också skriva en IP range (10.0.0.0/24) eller any ifall hosten byter IP ofta.
Välj sedan (E)xtract key for an agent och fyll sedan i ID numret du valde i sista steget.
Kopiera nykeln och kör följande kommando på agenten.
/var/ossec/bin/manage_agents
Välj (I)mport key from the server och kopiera in nykeln. Starta sedan OSSEC agenten.
ossec-authd
Kör följande på servern.
/var/ossec/bin/ossec-authd -p 1515
På agenten kör du.
/var/ossec/bin/agent-auth -m <ossec server ip> -p 1515
Konfiguration
Det finns redan en default konfiguration som fungerar bra för agenter. Om man vill ändra något som berör ossec globalt tex ändra vilken alert nivå det måste vara för att skicka mail, lägga till nya regler så görs det i /var/ossec/etc/ossec.conf
.
Om man vill ändra i en regel tex höja o sänka alert nivån för en speciell output, eller skriva en egen regel för en tjänst kollar man i följande mapp: /var/ossec/rules
Agentless
Agentless körs på system som inte har stöd för en agent men har stöd för SSH. Tex brandväggar, switchar, routrar.
Lägga till
Börja med att aktivera agentless stödet på ossec servern.
/var/ossec/bin/ossec-control enable agentless
För att lägga till en agentless host så behöver sätta SSH lösenord eller använda SSH nykel. På Cisco saker (PIX, routers) behöver du ange en extra parameter för enable lösenordet. Samma gäller om du vill lägga till su stöd för linux.
/var/ossec/agentless/register_host.sh add root@test.hackernet.se sshpass supass /var/ossec/agentless/register_host.sh add pix@pix.fw.hackernet.se pixpass enablepass
Om du vill använda SSH nykel så anger du NOPASS som lösenord. Skapa sedan nycklar åt ossec.
sudo -u ossec ssh-keygen
Nykeln sparas i /var/ossec/.ssh
, kopiera sedan över den publika nykeln till dina enheter.
Konfigurera
När man använder agentless finns det ingen default test som körs och därför behöver man lägga till vad som ska övervakas manuellt per host i /var/ossec/etc/ossec.conf
.
Exempel övervakning som kollar ifall nån fils checksumma ändrats i mapparna /bin, /etc, /sbin var 10h. Och en PIX övervakning som kollar ifall configen ändrats varje timme.
<ossec_config> ... <agentless> <type>ssh_integrity_check_linux</type> <frequency>36000</frequency> <host>root@test.hackernet.se</host> <state>periodic</state> <arguments>/bin /etc/ /sbin</arguments> </agentless> <agentless> <type>ssh_pixconfig_diff</type> <frequency>3600</frequency> <host>pix@pix.fw.hackernet.se</host> <state>periodic_diff</state> </agentless> ... </ossec_config>
<type>
Default finns det 6st olika types script att välja mellan.
-
ssh_integrity_check_bsd
- Kollar ifall nån fil ändrat SHA1 eller MDA5 checksum i BSD.
-
ssh_integrity_check_linux
- Kollar ifall nån fil ändrat SHA1 eller MDA5 checksum i Linux.
-
ssh_pixconfig_diff
- Kollar om configen ändrats på en Cisco PIX brandvägg. Behöver inget arguments i configen.
-
ssh_asa-fwsmconfig_diff
- Kollar om configen ändrats på en Cisco ASA brandvägg. Behöver inget arguments i configen.
-
ssh_generic_diff
- Används för att kolla vad som helst som har SSH stöd. Man skriver kommandona man vill jämföra i arguments.
<frequency>
Hur ofta en check ska köras. Skriv i sekunder.
<host>
Vilken host scriptet ska köras mot. Om man behöver köra su lösenordet så skriver man use_su, ex:
<host>use_su user@test.hackernet.se</host>
<state>
Det finns 2 olika states.
-
periodic
- Skickar en kontrollerad output mot OSSEC agentless processen och jämför sedan mot tidigare körningar. Om det är någon skillnad så kommer OSSEC larma. Används för att kolla så inte checksumman ändrats.
-
periodic_diff
- Skickar output mot OSSEC agentless processen och jämför sedan mot tidigare körningar. periodic_diff används när det är en type som jämför 2 en fil/config mot varandra.
<arguments>
Fyll i dom kommandona du vill jämföra. För flera kommandon kan man separera med ett ;.
... <arguments>ls -la /etc; cat /etc/passwd</arguments> ...
Prova manuellt
Man kan köra scripten manuellt för att prova att det fungerar. Krävs att lösenordet/nykeln blivit inlagd.
cd /var/ossec && ./agentless/ssh_integrity_check_linux root@test.hackernet.se /bin