aide(tripwire)¼³Ä¡ ¹æ¹ý
ÀÛ¼ºÀÚ °ü¸®ÀÚ ÀÛ¼º½Ã°£ 2003-12-18 12:11:12
 

3. AIDE ¼³Ä¡

¿©±â¼­´Â AIDE¿¡ ´ëÇÑ ¼³Ä¡È¯°æ°ú ¼³Ä¡¹æ¹ý¿¡ ´ëÇØ ¾Ë¾Æº»´Ù.

3.1 ÇÊ¿äÇÑ ¿ä¼Ò

AIDE¸¦ ¼³Ä¡Çϱâ Àü¿¡ ´ÙÀ½°ú °°Àº ¿ä¼ÒµéÀÌ ÇÊ¿äÇϸç, ¼³Ä¡ Àü¿¡ ÇÊ¿äÇÑ ´ÙÀ½ ÆÄÀÏÀ» /tmp µð·ºÅ丮¿¡ ´Ù¿î·ÎµåÇÑ´Ù.

- AIDE source code (http://www.cs.tut.fi/~rammer/aide.html)
- CRC32, HAVAL ±×¸®°í GOST¸¦ »ç¿ëÇÏ°íÀÚ ÇÒ °æ¿ì MHASH library ¼³Ä¡
  ( target=_blank>http://schumann.cx/mhash/)

- Postgres sqlÀ» ¿¬µ¿ÇÒ °æ¿ì¿¡´Â Postgres ¼³Ä¡ ¶Ç´Â È®ÀÎ

3.2 ¼³Ä¡ ÀýÂ÷

AIDE´Â root ¶Ç´Â ƯÁ¤ »ç¿ëÀÚ°¡ µ¿ÀÛÇصµ °¡´ÉÇÏÁö¸¸, Á»´õ º¸¾ÈÀ» °­È­Çϱâ À§Çؼ­´Â root°¡ °ü¸®ÇÏ´Â °ÍÀÌ ÁÁ´Ù.

¨ç ¹«°á¼º ¾Ë°í¸®ÁòÀ» Ãß°¡ÇÏ¿© CRC32, HAVAL, ±×¸®°í GOST¸¦ »ç¿ëÇÏ°íÀÚ ÇÒ °æ¿ì,
    mhash library¸¦ ¼³Ä¡Çϵµ·Ï ÇÑ´Ù. mhash ¼³Ä¡ ÀýÂ÷´Â ´ÙÀ½°ú °°´Ù.

[root@digital /tmp]# ls
aide-0.7.tar.gz  mhash-0.8.9.tar.gz

[root@digital /tmp]# tar -vzxf mhash-0.8.9.tar.gz
[root@digital /tmp]# cd mhash-0.8.9
[root@digital mhash-0.8.9]# ./configure
[root@digital mhash-0.8.9]# make;make install

¨è AIDE ¼³Ä¡µµ ¸¶Âù°¡Áö·Î ./configure, make, make installÀ»
    ¼öÇàÇÏ¿© °£´ÜÈ÷ ¼³Ä¡ÇÏ°Ô µÈ´Ù.

[root@digital /tmp]# tar vzxf aide-0.7.tar.gz
[root@digital /tmp]# cd aide-0.7

MHASH¿Í ÇÔ²² ±âº»ÀûÀ¸·Î ¼³Ä¡ÇÒ °æ¿ì ÄÄÆÄÀÏ ¿É¼ÇÀº ´ÙÀ½°ú °°´Ù.

[root@digital aide-0.7]# ./configure --with-mhash

¼³Ä¡ µð·ºÅ丮¸¦ »ç¿ëÀÚ°¡ Á¤ÀÇÇÏ°í ¼³Ä¡ÇÒ °æ¿ì ÄÄÆÄÀÏ ¿É¼ÇÀº ´ÙÀ½°ú °°´Ù.

[root@digital aide-0.7]# ./configure --with-mhash --prefix=/usr/local/aide

AIDEÀÇ ¼³Ä¡ µð·ºÅ丮´Â /usr/local ¿¡ ¼³Ä¡µÇ¸ç, ½ÇÇàÆÄÀÏÀº /usr/local/bin¿¡ À§Ä¡ÇÏ°Ô µÈ´Ù. ÇöÀç ¹èÆ÷µÈ ¹öÀü(AIDE-0.7)¿¡¼­´Â À§¿Í °°ÀÌ ±âº»(default)À¸·Î ¼³Ä¡Çϰųª »ç¿ëÀÚ Á¤ÀÇ µð·ºÅ丮 ¿É¼ÇÀ» »ç¿ëÇÏ¿© ¼³Ä¡ÇßÀ» °æ¿ì, ȯ°æ¼³Á¤ ÆÄÀÏÀÎ aide.confÀÇ À§Ä¡¸¦ ãÁö ¸øÇϱ⠶§¹®¿¡ configure ÆÄÀÏÀ» Á÷Á¢ ¼öÁ¤ÇØ¾ß ÇÑ´Ù. µû¶ó¼­ ´ÙÀ½°ú °°ÀÌ ./configure ÆÄÀÏÀ» ¼öÁ¤Çϵµ·Ï ÇÑ´Ù.

[root@digital aide-0.7]# vi configure
#! /bin/sh
......
Áß°£»ý·«
.....
#define CONFIG_FILE ¡°$sysconfdir/aide.conf // 2341  ¶óÀÎ

À» ´ÙÀ½°ú °°ÀÌ ¼öÁ¤ÇÑ´Ù.

#define CONFIG_FILE ¡°/usr/local/aide/etc/aide.conf¡±
.....

[root@digital aide-0.7]# ./configure --with-mhash --prefix=/usr/local/aide
[root@digital aide-0.7]# make; make install

¼³Ä¡ µð·ºÅ丮´Â /usr/local/aideÀÌ°í, AIDE ½ÇÇàÆÄÀÏÀº /usr/local/aide/bin ¿¡ ÀÖ´Ù. »ç¿ëÀÚ´Â ÀÚ½ÅÀÇ È¯°æ ¼³Á¤ÆÄÀÏ¿¡ /usr/local/aide/bin µð·ºÅ丮 °æ·Î¸¦ ¼³Á¤ÇÑ´Ù. bash¸¦ »ç¿ëÇÒ °æ¿ì ´ÙÀ½°ú °°ÀÌ PATH¸¦ ¼³Á¤ÇÑ´Ù.

[root@digital aide-0.7]vi ~/.bash_profile
.....
PATH=/usr/bin;/etc;/usr/sbin;/usr/local/aide /bin;......
.....

[root@digital aide-0.7]source ~/.bash_profile

[root@digital aide-0.7]# cd /usr/local/aide
[root@digital aide]# ls
bin/  man/



4 AIDE »ç¿ë¹ý

¿©±â¼­´Â ȯ°æ¼³Á¤ÆÄÀÏÀÎ aide.conf ÆÄÀÏ¿¡ ´ëÇØ ¼³¸íÇÏ°í, óÀ½ AIDE¸¦ ½ÇÇàÇÒ ¶§ ÇÊ¿äÇÑ ÀÛ¾÷µé¿¡ ´ëÇØ ¾Ë¾Æº»´Ù.

4.1  ȯ°æ¼³Á¤ÆÄÀÏ aide.conf

AIDE¸¦ ½ÇÇàÇϱâ À§Çؼ­´Â ¿ì¼± aide.conf¸¦ ¼³Á¤ÇØ¾ß ÇÑ´Ù. aide.conf¸¦ ¼³Á¤Çϱ⠾ռ­ ¼³Ä¡ µð·ºÅ丮¿¡¼­ etc ¿Í doc µð·ºÅ丮¸¦ »ý¼ºÇÏ°í, ¿øº» AIDE µð·ºÅ丮ÀÇ doc µð·ºÅ丮¿¡¼­ ȯ°æ¼³Á¤ ÆÄÀÏÀ» »ý¼ºÇÑ etc µð·ºÅ丮 ¾Æ·¡¿¡ º¹»çÇÑ´Ù.

[root@digital aide]# mkdir /usr/local/aide/etc
[root@digital aide]# mkdir /usr/local/aide/doc
[root@digital aide]# cp /tmp/aide-0.7/doc/aide.conf /usr/local/aide/etc

±âº»À¸·Î Á¦°øµÇ´Â aide.conf ÆÄÀÏÀ» ¿­¾î ´ÙÀ½°ú °°ÀÌ ¼öÁ¤ÇÑ´Ù. ¼¼ºÎÀûÀÎ ¼³¸íÀº »ý·«ÇÑ´Ù.

[root@digital etc]# vi /usr/local/aide/etc/aide.conf
# AIDE 0.7
..  Áß·« ..
# ¹«°á¼º ´ë»óÀº /etc µð·ºÅ丮°¡ µÈ´Ù.
  @@define TOPDIR /etc 
...
# AIDE¸¦ ½ÇÇà½ÃŲ ÈÄ¿¡ ¹«°á¼ºÀ» À¯ÁöÇϱâ À§ÇÑ µ¥ÀÌÅͺ£À̽º ÆÄÀÏÀÌ´Ù.
  database=file:/usr/local/aide/doc/aide.db
...
# Postgres sqlÀ» »ç¿ëÇÏ¿© µ¥ÀÌÅ͸¦ ÀúÀåÇÒ °æ¿ì¿¡ »ç¿ëÇÑ´Ù.
# database_out=sql:host:port:dbname:user :password:table
...
# AIDE ù ½ÇÇà ÈÄ¿¡ ¶Ç´Â °»½Å½Ã¿¡ »ý¼ºµÇ´Â ¹«°á¼º µ¥ÀÌÅͺ£À̽ºÀÌ´Ù.
  database_out=file:/usr/local/aide/doc /aide.db.new
...
# »ý¼ºµÈ µ¥ÀÌÅͺ£À̽º¸¦ gzipÀ» »ç¿ëÇÏ¿© ¾ÐÃàÀ» ÇÒ °æ¿ì¿¡ »ç¿ëµÇ¸ç, ¾ÐÃàÀ» ÇÏ°íÀÚ
# ÇÒ °æ¿ì¿¡´Â #À» ¾ø¾Ö°í gip_dbout=yes ÇÏ¸é µÈ´Ù.
# gzip_dbout=no
...
# ¹«°á¼º üũ ÈÄ ±× °á°ú¿¡ ´ëÇØ º¸°í¼­¸¦ ÀÛ¼ºÇÏ°Ô µÈ´Ù.
# aide ÀÇ report ¿É¼ÇÀÎ -rÀ» »ç¿ëÇϰųª ´ÙÀ½À» »ç¿ëÇÏ¿© report¸¦ ÀÛ¼ºÇÑ´Ù.
  report_url=file:/usr/local/aide/doc/report.txt
# ¹«°á¼º üũ ÈÄ °á°ú¸¦ È­¸é¿¡ º¸¿©ÁØ´Ù.
  report_

url=stdout
...

4.2 AIDE »ç¿ë¹ý

AIDE »ç¿ë¹ýÀº ´ÙÀ½°ú °°´Ù.

[root@digital aide]# aide -h
        AIDE »ç¿ë¹ýÀ» ¾Ë·ÁÁØ´Ù.

[root@digital aide]# aide -i
        µ¥ÀÌÅͺ£À̽º¸¦ ÃʱâÈ­ÇÑ´Ù. Áï, aide.db.new ÆÄÀÏÀ» »ý¼ºÇÑ´Ù.

[root@digital aide]# aide -C
        ¹«°á¼ºÀ» üũÇÑ´Ù. aide.db¿Í ´Ü¼øÈ÷ º¯°æ ¿©ºÎ¸¦ üũÇÑ´Ù.

[root@digital aide]# aide -u
        aide.db¿Í ¹«°á¼ºÀ» üũÇÏ°í, ÇöÀç ¹«°á¼º °ªÀ» aide.db.new·Î »ý¼ºÇÑ´Ù.

4.3 AIDE ½ÇÇà

AIDEÀÇ ½ÇÇàÆÄÀÏÀÌ ÀÖ´Â À§Ä¡(/usr/local/aide/bin)¸¦ PATH·Î ¿¬°áÇß´Ù¸é, ´ÙÀ½°ú °°ÀÌ /usr/local/aide/doc·Î À̵¿ÇÑ ÈÄ¿¡ AIDE¸¦ ½ÇÇàÇÒ Áغñ¸¦ ÇÑ´Ù.

[root@digital doc]# pwd
/usr/local/aide/doc

AIDE¸¦ óÀ½À¸·Î ½ÇÇàÇϸ鼭 µ¥ÀÌÅͺ£À̽º¸¦ ÃʱâÈ­ÇÑ´Ù.

[root@digital doc]# aide -i
[root@digital doc]# ls
aide.db.new report.txt

-i ¿É¼ÇÀº aide.db.new¸¦ »ý¼ºÇÏ°í, ±× °á°ú¸¦ report.txt¿¡ ÀúÀåÇÏ°Ô µÈ´Ù. ÀÌ ÆÄÀÏÀº ¹«°á¼º üũ¸¦ Çϱâ À§ÇØ aide.db·Î À̸§À» ¹Ù²ãÁØ´Ù.

[root@digital doc]# mv aide.db.new aide.db

¹«°á¼ºÀ» üũÇÑ´Ù. ÆÄÀÏÀÇ º¯È­°¡ ¹ß»ýÇßÀ» °æ¿ì¿¡´Â È­¸é¿¡ °á°ú¸¦ º¸¿©ÁÖ°í, report.txt ÆÄÀÏ¿¡ ±× °á°ú¸¦ ±â·ÏÇÑ´Ù.

[root@digital doc]# aide -C

¹«°á¼º µ¥ÀÌÅͺ£À̽º¸¦ °»½ÅÇÒ °æ¿ì -u ¿É¼ÇÀ» »ç¿ëÇÏ¿© »õ·Î¿î µ¥ÀÌÅͺ£À̽º ÆÄÀÏÀ» »ý¼ºÇÏ°í, ÀÌÀü µ¥ÀÌÅͺ£À̽º¸¦ °»½ÅÇÑ´Ù. -u ¿É¼ÇÀº ¹«°á¼ºÀ» üũÇÏ°í °»½ÅÇÏ´Â ¿É¼ÇÀÌ´Ù.

[root@digital doc]# aide -u
[root@digital doc]# mv aide.db.new aide.db



5. AIDE ·ê ¼³Á¤

AIDE´Â ȯ°æ¼³Á¤ ÆÄÀÏÀÎ aide.conf¿¡ ¹«°á¼º ´ë»ó°ú ¹æ¹ýÀ» ¼³Á¤ÇÏ°í ÀÖ´Ù. ¿©±â¿¡¼­´Â ȯ°æ¼³Á¤¿¡ ÇÊ¿äÇÑ °ªµé°ú ¼³Á¤¹æ¹ý ±×¸®°í ·ê Á¤Ã¥¿¡ ´ëÇØ ¾Ë¾Æº»´Ù.

5.1 ·ê Ç¥Çö °ª

´ÙÀ½ [Ç¥ 1]Àº ·êÀ» ¼³Á¤Çϱâ À§ÇÑ Ç¥Çö °ªµéÀ» º¸¿©ÁÖ°í ÀÖÀ¸¸ç, ÀÌ ·êµéÀ» ÀÌ¿ëÇÏ¿© »ç¿ëÀÚ´Â ¿øÇÏ´Â ·êÀ» ¸¸µé ¼ö ÀÖ´Ù.
  Ç¥Çö
¼³  ¸í
Ç¥Çö
¼³  ¸í

p
  permissions
  md5
  md5 checksum

i
  Inode
  rm160
  rmd160 checksum

n
  link ¼ö
  tiger
  tiger checksum

u
  user
  R
  p+i+n+u+g+s+m+c+md5

g
  group
  L
  p+i+n+u+g

s
  size
  E
  Empty group

b
  block count
  >
  Growing lofile p+u+g+i+n+S

m
  mtime
  haval
  haval checksum

a
  atime
  gost
  gost checksum

c
  ctime
  crc32
  crc32 checksum

s
  growing size
 
 




[Ç¥ 1] ±âº»ÀûÀÎ ·ê°ú Ç¥Çö °ª

5.2 ·ê ¿¹Á¦

´ÙÀ½Àº ¹«°á¼º ´ë»óµ¥ÀÌÅÍ ¼³Á¤°ú Çؽ¬¾Ë°í¸®Áò ¼³Á¤¿¡ ´ëÇØ ¿¹Á¦·Î ¼³¸íÇÏ°íÀÚ ÇÑ´Ù. aide.conf ÆÄÀÏÀ» ´ÙÀ½°ú °°ÀÌ ¼öÁ¤ÇÑ´Ù.

[root@digital etc]# vi /usr/local/aide/etc/aide.conf
database=file:/usr/local/aide/doc/aide.db # ÀоîµéÀÏ µ¥ÀÌÅͺ£À̽º ÆÄÀÏ
database_out=file:/usr/local/aide/doc/aide.db.new # »õ·Î »ý¼ºµÇ´Â µ¥ÀÌÅͺ£À̽º ÆÄÀÏ
verbose=20 # ÆÄÀϹ«°á¼º¿¡ ´ëÇÑ Á¤º¸ÀÇ ¾ç
report_url=file:/usr/local/aide/doc/report.txt # ·¹Æ÷Æ® ÆÄÀÏ
report_url=stdout # È­¸é¿¡¼­ °á°ú¸¦ º¸ÀÌÁö ¾Ê°Ô ÇÏ·Á¸é ÀÌ ºÎºÐÀ» ¸¶Å·ÇÑ´Ù.

MyRule=p+i+n+u+g+s+b+m+c+md5+sha1 # ·ê ¼³Á¤ ºÎºÐ
/etc p+i+u+g    # /etc¿¡ ´ëÇؼ­´Â permission, inode, user, ±×¸®°í group¸¸ üũÇÑ´Ù.
/bin MyRule    # /bin¿¡ ´ëÇؼ­´Â ÀϹÝÀûÀÎ ·êÀ» Àû¿ëÇÑ´Ù.
/sbin MyRule    # /sbin¿¡ ´ëÇؼ­µµ µ¿ÀÏÇÑ ·êÀ» Àû¿ëÇÑ´Ù.
/var MyRule    # /var¿¡ ´ëÇؼ­µµ µ¿ÀÏÇÑ ·êÀ» Àû¿ëÇÑ´Ù.
!/var/log/.*    # /var/log ó·³ ÈçÈ÷ º¯ÇÏ´Â µð·ºÅ丮¿¡ ´ëÇؼ­´Â Àû¿ëÇÏÁö ¾Ê´Â´Ù.
!/var/spool/.*  # /var/spool µµ Àû¿ë¹üÀ§¿¡¼­ Á¦¿ÜµÈ´Ù.

5.3 ·ê Á¤Ã¥

¹«°á¼º ´ë»óµ¥ÀÌÅÍ´Â °ü¸®ÀÚÀÇ Á¤Ã¥À» °¡Áö°í ¼³Á¤ÇÒ ÇÊ¿ä°¡ ÀÖ´Ù. º¸¾ÈÀ» °­È­Çϱâ À§ÇØ ¹«Á¶°Ç ¸¹Àº µð·ºÅ丮¿Í ÆÄÀÏ¿¡ ´ëÇØ ¹«°á¼ºÀ» À¯ÁöÇÏ·Á ÇÑ´Ù¸é, ¹«°á¼ºÀ» üũÇϴµ¥ ¸¹Àº ½Ã°£°ú ÀÛ¾÷À» ÇÊ¿ä·Î ÇÏ°Ô µÈ´Ù. µû¶ó¼­, ¹«°á¼º ´ë»óµ¥ÀÌÅÍ¿¡ ´ëÇÑ ¼±º°ÀÌ ÀÌ·ç¾îÁ®¾ß ÇÏ°í, ¾ó¸¶ÀÇ ÁÖ±â·Î ¹«°á¼ºÀ» üũÇϵµ·Ï ÇÒ °ÍÀΰ¡¿¡ ´ëÇÑ Á¤Ã¥À» °¡Áö°í ÀÖ¾î¾ß ÇÑ´Ù. ¹«°á¼º ´ë»óµ¥ÀÌÅÍ´Â ½Ã½ºÅÛ¿¡ Áß¿äÇÑ ÆÄÀÏ ¶Ç´Â µð·ºÅ丮¸¦ Á¤ÇÏ°í, ½Ã½ºÅÛÀÌ HTTP³ª FTP µî°ú °°Àº ¼­¹ö·Î¼­ µ¿ÀÛÀ» ÇÏ°í ÀÖ´Ù¸é À̵鿡 ´ëÇÑ µ¥ÀÌÅͳª ȯ°æ¼³Á¤ÆÄÀϵ鿡 ´ëÇؼ­µµ °í·ÁÇØ¾ß ÇÒ °ÍÀÌ´Ù.


¸ñ·Ï | ÀÔ·Â | ¼öÁ¤ | ´äº¯ | »èÁ¦