|
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 µî°ú °°Àº ¼¹ö·Î¼ µ¿ÀÛÀ» ÇÏ°í ÀÖ´Ù¸é À̵鿡 ´ëÇÑ µ¥ÀÌÅͳª ȯ°æ¼³Á¤ÆÄÀϵ鿡 ´ëÇؼµµ °í·ÁÇØ¾ß ÇÒ °ÍÀÌ´Ù.
|