|
1.
AIDE (Advanced Intrusion Detection Environment)
AIDE on konekohtainen hyökkäyksen tunnistusjärjestelmä (HIDS). Se on vapaa
vaihtoehto Tripwirelle (jos Tripwire on tuttu, AIDEn asetustenkin pitäisi
luonnistua). HIDSejä käytetään tunnistamaan muutoksia tärkeissä
asetustiedostoissa ja ohjelmissa. Tämä toteutetaan yleensä ottamalla
tiedostoista tiiviste ja tarkastamalla sen samuus. Tiivisteiden yhtäläisyys
tallennetun ja tiedostojärjestelmässä olevan tiedoston välillä tarkastetaan
säännöllisin väliajoin, että saadaan tiedot muuttuneista tiedostoista. HIDSin
avulla voi helposti estää väärät muutokset järjestelmässä, mutta eston
toteutus vaatii hieman työtä.
Asetustiedosto perustuu säännöllisiin ilmauksiin, makroihin ja sääntöihin
tiedostoille ja hakemistoille. Seuraavat makrot ovat käytettävissä:
| Makro |
Kuvaus |
Syntaksi |
| ifdef |
Jos määritelty |
@@ifdef "name" |
| ifndef |
Jollei määritelty |
@@ifndef "name" |
| define |
Määrittele muuttuja |
@@define "name" "value" |
| undef |
Poista muuttujamäärittely |
@@undef "name" |
| ifhost |
jos ”konenimi” |
@@ifhost "hostname" |
| ifnhost |
jollei ”konenimi” |
@@ifnhost "hostname" |
| endif |
Endif vaaditaan lopettamaan kakki ylläolevat if-makrot |
@@endif |
Makrot tulevat hyödyllisiksi jos käytössä on useita koneita ja AIDEa käytetään
niissä kaikissa, mutta kaikki koneet eivät ole samanlaisia.
Seuraavaksi katsotaan asetuksia, joita voi asettaa tiedostoille ja
hakemistoille. Nämä ovat oikeuksien yhdistelmiä, tiedostoasetuksia ja
tiivisteitä eli tarkastussummia.
| Asetus |
Kuvaus |
| p |
oikeudet |
| i |
inode |
| n |
linkkien määrä |
| u |
käyttäjä |
| g |
ryhmä |
| s |
koko |
| b |
lohkomäärä |
| m |
muokkausaika (mtime) |
| a |
avausaika (atime) |
| c |
muutosaika (ctime) |
| S |
koon kasvaminen |
| md5 |
md5 |
| sha1 |
sha1 |
| rmd160 |
rmd160 |
| tiger |
tiger |
| R |
p+i+n+u+g+s+m+c+md5 |
| L |
p+i+n+u+g |
| E |
tyhjä ryhmä |
| > |
kasvava loki p+u+g+i+n+S |
Jos AIDE on käännetty mhash-tuella, siinä on lisää ominaisuuksia:
| Asetus |
Kuvaus |
| haval |
haval |
| gost |
gost |
| crc32 |
crc32 |
Näihin perustuen voi tehdä omiakin sääntöjä:
Koodilistaus 1.1: Sääntöjoukkojen teko AIDEssa |
All=R+a+sha1+rmd160
Norm=s+n+b+md5+sha1+rmd160
|
Viimeisenä katsotaan, miten säännöt liitetään tiedostoihin ja hakemistoihin.
Sääntö lisätään yhdistämällä tiedoston tai hakemiston nimi sääntöön ja AIDE
kerää kaikki alihakemistot rekursiivisesti, jolleivät muut säännöt toisin
määrää.
| Asetus |
Kuvaus |
| ! |
Tätä hakemistoa ei lisätä. |
| = |
Tätä hakemistoa ei käydä rekursiivisesti läpi. |
Seuraavana kokonainen esimerkki:
Koodilistaus 1.1: /etc/aide/aide.conf |
@@ifndef TOPDIR
@@define TOPDIR /
@@endif
@@ifndef AIDEDIR
@@define AIDEDIR /etc/aide
@@endif
@@ifhost smbserv
@@define smbactive
@@endif
# The location of the database to be read.
database=file:@@{AIDEDIR}/aide.db
# The location of the database to be written.
database_out=file:aide.db.new
verbose=20
report_url=stdout
# Rule definition
All=R+a+sha1+rmd160
Norm=s+n+b+md5+sha1+rmd160
@@{TOPDIR} Norm
!@@{TOPDIR}etc/aide
!@@{TOPDIR}dev
!@@{TOPDIR}media
!@@{TOPDIR}mnt
!@@{TOPDIR}proc
!@@{TOPDIR}root
!@@{TOPDIR}sys
!@@{TOPDIR}tmp
!@@{TOPDIR}var/log
!@@{TOPDIR}var/run
!@@{TOPDIR}usr/portage
@@ifdef smbactive
!@@{TOPDIR}etc/smb/private/secrets.tdb
@@endif
=@@{TOPDIR}home Norm
|
Yllä on määritelty makroja juurihakemistolle ja AIDEn hakemistolle. AIDE
tarkastaa /etc/aide/aide.db:n tiedostojen eheyttä arvioidessaan.
Päivityksessä ja uusia tiedostoja luotaessa tiedot tallennetaan tiedostoon
/etc/aide/aide.db.new. Tämä varmistaa ettei vanhaa tietokantaa
automaattisesti ylikirjoiteta. Report_URLia ei ole vielä toteutettu,
mutta tekijän tarkoitus oli että pitäisi pystyä meilaamaan tai suorittamaan
skriptejä.
AIDEn ebuildi sisältää toimivan asetustiedoston, apuriskriptin ja
crontabiskriptin. Apuriskripti tekee joitain hyödyllisiä tehtäviä, ja tarjoaa
rajapinnan, jota on helpompi muista skripteistä käyttää. Kaikki saatavilla
olevat asetukset saa selville komennolla aide --help. Aluksi
kannattaa suorittaa aide -i ja crontabiskripti tunnistaa
tietokannan sekä lähettelee sähköpostia päivittäin. Kannatta myös
säätää /etc/aide/aide.conf ja varmistaa, että asetukset kuvaavat
käytössä olevaa konetta.
Huomaa:
Suorittimesta, levyn nopeudesta ja muista asetuksista riippuen saattaa kestää
tovi.
|
Huomaa:
Muista asettaa alias rootin sähköposteille, että saat AIDEn raportit perille.
|
Tietokannan tallentaminen paikallisesti on tietenkin hieman riskialtista,
sillä hyökkääjä, joka tietää AIDEn olevan asennettu käy tietenkin muokkaamassa
tietokantaa, päivittämässä tietokannan tai muokkaamassa ohjelmatiedostoa
/usr/bin/aide. Eräs ratkaisu on tehdä CD tai vastaava tallenne
ja kopioida ohjelma tietokantoineen sinne.
Lisää tietoja aiheesta löytyy AIDE-projektisivuilta.
1.
Snort
Snort on verkkohyökkäyksen havainnointijärjestelmä (NIDS). Seuraavat
esimerkit kuvaavat sen asennuksen ja asetusten teon.
Koodilistaus 1.1: /etc/conf.d/snort |
PIDFILE=/var/run/snort_eth0.pid
MODE="full"
NETWORK="10.0.0.0/24"
LOGDIR="/var/log/snort"
CONF=/etc/snort/snort.conf
SNORT_OPTS="-D -s -u snort -dev -l $LOGDIR -h $NETWORK -c $CONF"
|
Koodilistaus 1.1: /etc/snort/snort.conf |
var HOME_NET 10.0.0.0/24
var EXTERNAL_NET any
var SMTP $HOME_NET
var HTTP_SERVERS $HOME_NET
var SQL_SERVERS $HOME_NET
var DNS_SERVERS [10.0.0.2/32,212.242.40.51/32]
var RULE_PATH ./
preprocessor frag2
preprocessor stream4: detect_scans detect_state_problems detect_scans disable_evasion_alerts
preprocessor stream4_reassemble: ports all
preprocessor http_decode: 80 8080 unicode iis_alt_unicode double_encode iis_flip_slash full_whitespace
preprocessor rpc_decode: 111 32771
preprocessor bo: -nobrute
preprocessor telnet_decode
include classification.config
include $RULE_PATH/bad-traffic.rules
include $RULE_PATH/exploit.rules
include $RULE_PATH/scan.rules
include $RULE_PATH/finger.rules
include $RULE_PATH/ftp.rules
include $RULE_PATH/telnet.rules
include $RULE_PATH/smtp.rules
include $RULE_PATH/rpc.rules
include $RULE_PATH/rservices.rules
include $RULE_PATH/dos.rules
include $RULE_PATH/ddos.rules
include $RULE_PATH/dns.rules
include $RULE_PATH/tftp.rules
include $RULE_PATH/web-cgi.rules
include $RULE_PATH/web-coldfusion.rules
include $RULE_PATH/web-iis.rules
include $RULE_PATH/web-frontpage.rules
include $RULE_PATH/web-misc.rules
include $RULE_PATH/web-attacks.rules
include $RULE_PATH/sql.rules
include $RULE_PATH/x11.rules
include $RULE_PATH/icmp.rules
include $RULE_PATH/netbios.rules
include $RULE_PATH/misc.rules
include $RULE_PATH/attack-responses.rules
include $RULE_PATH/backdoor.rules
include $RULE_PATH/shellcode.rules
include $RULE_PATH/policy.rules
include $RULE_PATH/porn.rules
include $RULE_PATH/info.rules
include $RULE_PATH/icmp-info.rules
include $RULE_PATH/virus.rules
# include $RULE_PATH/experimental.rules
include $RULE_PATH/local.rules
|
Koodilistaus 1.1: /etc/snort/classification.config |
config classification: not-suspicious,Not Suspicious Traffic,3
config classification: unknown,Unknown Traffic,3
config classification: bad-unknown,Potentially Bad Traffic, 2
config classification: attempted-recon,Attempted Information Leak,2
config classification: successful-recon-limited,Information Leak,2
config classification: successful-recon-largescale,Large Scale Information Leak,2
config classification: attempted-dos,Attempted Denial of Service,2
config classification: successful-dos,Denial of Service,2
config classification: attempted-user,Attempted User Privilege Gain,1
config classification: unsuccessful-user,Unsuccessful User Privilege Gain,1
config classification: successful-user,Successful User Privilege Gain,1
config classification: attempted-admin,Attempted Administrator Privilege Gain,1
config classification: successful-admin,Successful Administrator Privilege Gain,1
# NEW CLASSIFICATIONS
config classification: rpc-portmap-decode,Decode of an RPC Query,2
config classification: shellcode-detect,Executable code was detected,1
config classification: string-detect,A suspicious string was detected,3
config classification: suspicious-filename-detect,A suspicious filename was detected,2
config classification: suspicious-login,An attempted login using a suspicious username was detected,2
config classification: system-call-detect,A system call was detected,2
config classification: tcp-connection,A TCP connection was detected,4
config classification: trojan-activity,A Network Trojan was detected, 1
config classification: unusual-client-port-connection,A client was using an unusual port,2
config classification: network-scan,Detection of a Network Scan,3
config classification: denial-of-service,Detection of a Denial of Service Attack,2
config classification: non-standard-protocol,Detection of a non-standard protocol or event,2
config classification: protocol-command-decode,Generic Protocol Command Decode,3
config classification: web-application-activity,access to a potentially vulnerable web application,2
config classification: web-application-attack,Web Application Attack,1
config classification: misc-activity,Misc activity,3
config classification: misc-attack,Misc Attack,2
config classification: icmp-event,Generic ICMP event,3
config classification: kickass-porn,SCORE! Get the lotion!,1
|
Lisätietoja löytyy Snortin veppisivuilta.
1.
Chkrootkitin käyttö haittaohjelmien tunnistuksessa
HIDSit ovat tehokkaita järjestelmän muutosten havainnointiin, mutta ei
koskaan haittaa käyttää muitakin keinoja. Chkrootkit tunnistaa
tietyistä järjestelmätiedostoista mahdolliset rootkit, eli sovellukset, jotka
piilottavat hyökkääjän toimet ja antavat hänelle vapaan toimimismahdollisuuden,
sekä etsii todennäköisiä salasanojen kaappaimia ja muita haittasovelluksia
Vaikka chkrootkit ja muut vastaavat, kuten rkhunter ovat
hyödyllisiä työkaluja ylläpidossa ja tehdyn hyökkäyksen havainnassa, ne eivät
pidä järjestelmää turvassa.
Järkevin tapa käyttää chkrootkitiä on hyökkäysten tarkkailu
cronin avulla. Chkrootkit asentuu emergellä ja toimii komennolla
chkrootkit, ja suoritetaan cronista vaikkapa seuraavalla asetuksella
Koodilistaus 1.1: Chkrootkitin ajastaminen croniin |
0 3 * * * /usr/sbin/chkrootkit
|
|
Viimeksi päivitetty 31. toukokuuta 2005 |
|
Donate to support our development efforts.
|
|
|