Tripwire¶õ?
ÇÑ ½Ã½ºÅÛ¿¡ ħÀÔÀÚ°¡ ¹ß»ýÇß´Ù°í °¡Á¤À» gksekaus,ħÀÔÀÚ°¡ ¾òÀº privilege level¿¡ µû¶ó ½Ã½ºÅÛÀº ÆÄÀÏÀº ¼Õ»óÀ» ÀÔ¾úÀ» ¼öµµ, º¯ÇüÀÌ µÇ¾úÀ» ¼öµµ ÀÖ´Ù.
±× Áß Ä§ÀÔÀÚÀÇ Æı«ÇàÀ§¿¡ ÀÇÇÑ ¼Õ»óÀº »çÀü ¹é¾÷¿¡ ÀÇÇؼ º¹±×µÉ ¼ö ÀÖÁö¸¸,ħÀÔÀÚ°¡ ±×ÀÇ ¸ñÀûÀ» À§ÇØ °íÀÇÀûÀ¸·Î ÀÏÀ¸Å² ½Ã½ºÅÛ ÆÄÀÏ º¯ÇüÀº ¹ß°ßµÇÁö ¾Ê´Â ÇÑ ¿µ¿øÈ÷ ³²¾Æ ÀÖ°Ô µÇ±â ¶§¹®¿¡½É°¢ÇÑ ¹®Á¦°¡ µÈ´Ù.
ħÀÔ´çÇϱâ ÀÌÀü¿¡ ½Ã½ºÅÛ ÆÄÀÏ¿¡ °üÇÑ µ¥ÀÌÅͺ£À̽º°¡ ÀÛ¼ºÀÌ ¾ÈµÇ¾î ÀÖ¾ú´Ù¸é ÆÄÀÏÀÌ º¯ÇüÀÌ µÇ¾ú´ÂÁö¸¦ ¾Ë±â¶õ ½¬¿î ÀÏÀÌ ¾Æ´Ï´Ù.
Tripwire´Â ¹Ù·Î ±× µ¥ÀÌÅͺ£À̽º¸¦ ¸¸µé¾î ³õ°í ±×°Í°ú ÆÄÀÏ ½Ã½ºÅÛÀÇ »óŸ¦ ºñ±³ÇØ ºÒ¹ýÀûÀÎ º¯È¸¦ ¹ß°ßÇؼ °ü¸®ÀÚ¿¡°Ô ¾Ë·ÁÁÖ´Â
¿ªÇÒÀ» ÇÑ´Ù. ¾Æ¹«¸® °æÇèÀÌ ¸¹Àº ³ë·ÃÇÑ °ü¸®ÀÚ¶ó ÇÒÁö¶óµµ ±× ÀÛ¾÷À» Á÷Á¢ÇÒ ¼ö´Â ¾ø´Ù. ±× Á¡¿¡¼ Tripwire´Â ¾ÆÁÖ °·ÂÇÑ toolÀ̶ó ÇÒ ¼ö ÀÖ°Ú´Ù.
TripwireÀÇ ÇѰ輺Àº root privilege¸¦ ¾òÀº ħÀÔÀÚ¿¡ ÀÇÇؼ database°¡ º¯°æµÈ´Ù¸é ¹«·ÂÇØÁø´Ù´Â Á¡ÀÌ´Ù. µû¶ó¼ tripwireÀÇ
database´Â read-only ·Î mountµÈ ÆÄÀϽýºÅÛ¿¡ µÎ¾î¾ß ÇÏ°í, ÀÌ ¶§ ÆÄÀÏ ¼¹ö´Â Àý´ëÀûÀ¸·Î secureÇØ¾ß ÇÑ´Ù. Ç÷ÎÇÇ µå¶óÀ̺ê
¸¦ ÀåÂøÇÑ ¿öÅ©½ºÅ×À̼ǿ¡¼ µð½ºÄÏÀ» ÀÌ¿ëÇÏ´Â °Íµµ ÁÁÀº ¹æ¹ýÀÌ´Ù.
TripwireÀÇ ¼³Ä¡
¼³Ä¡ °¡´ÉÇÑ Operating System·Î´Â SunOS 4.1.x, Solaris 2.x, IRIX, BSD, OSF/1, UNICOS, Linux, HPUX, Ultrix Osf/1, AIXµîÀÌ
ÀÖ´Ù. ÀÚ¼¼ÇÑ °ÍÀº µþ·Á¿À´Â ported ÆÄÀÏÀ» ÂüÁ¶ÇÑ´Ù.
¼Ò½º ÇÁ·Î±×·¥Àº ¾Æ·¡ ÁÖ¼Ò¿¡¼ °¡Á®¿À¸é µÈ´Ù.
ftp://coast.cs.purdue.edu/pub/COAST/Tripwire/tripwire-1.2.tar.Z
¼Ò½º¸¦ ±¸ÇßÀ¸¸é ¾Æ·¡ ¼ø¼¿¡ µû¶ó ¼³Ä¡ÇÑ´Ù.
- $ uncompress tripwire-1.2.tar.Z
- $ tar -xvf tripwire-1.2.tar
- $ tar -xvf T1.2.tar
¿©±â±îÁöÀÇ °úÁ¤ÀÌ ³¡³ª°Ô µÇ¸é ÇöÀç ÀÛ¾÷ µð·ºÅ丮¿¡ tripwire-1.2¶ó´Â µð·ºÅ丮°¡ »ý±â °Ô µÈ´Ù.
- tripwire-1.2/configs¿¡ ÀÖ´Â conf-<os>.hµé Áß¿¡¼ ½Ã½ºÅÛÀÇ OS¿Í °¡Àå ±ÙÁ¢ÇÑ °ÍÀ» °í¸¥´Ù.
¿¹) Solaris 2.4 : conf-svr4.h, IRIX 5.3 : conf-irix4.h
- tripwire-1.2/include/config.hÀÇ 20¹ø° ÁÙÀ» À§¿¡¼ ¼±ÅÃÇÑ ÆÄÀÏ¿¡ ¸Â°Ô ¼öÁ¤ÇÑ´Ù.
´ÙÀ½Àº Solaris 2.4¿¡¼ÀÇ ¿¹¸¦ º¸ÀÎ °ÍÀÌ´Ù.
¿¹) #include "../configs/conf-svr4.h"
106¹ø° ÁÙ¿¡¼ configuration ÆÄÀÏÀ» µÑ À§Ä¡¸¦ Á¤ÀÇÇÑ´Ù.
¿¹) #define CONFIG_PATH "/usr/tripwire/config"
107¹ø° ÁÙ¿¡¼ database¸¦ µÑ À§Ä¡¸¦ Á¤ÀÇÇÑ´Ù.
¿¹) #define DATABASE_PATH "/usr/tripwire/databases"
124¹ø° ÁÙ¿¡¼ configuration ÆÄÀÏÀÇ À̸§À» Á¤ÀÇÇÑ´Ù.
¿¹) #define CONFIG_FILE "tw.config"
125¹ø° ÁÙ¿¡¼ database ÆÄÀÏÀÇ À̸§À» Á¤ÀÇÇÑ´Ù.
¿¹) #define DATABASE_FILE "tw.db_@"
(@´Â hostnameÀ» ³ªÅ¸³½´Ù. Áï ½ÇÁ¦ »ý¼ºµÇ´Â ÆÄÀÏÀº tw.db_kus µî°ú °°´Ù.)
- make¸¦ ¼öÇàÇÑ´Ù.
½ÇÇàÆÄÀÏÀÎ tripwire°¡ ¸¸µé¾îÁö¸é À§¿¡¼ Á¤ÀÇÇÑ DATABASE_PATHÀÇ »óÀ§µð·ºÅ丮 ·Î ¿Å±ä´Ù. TRIPWIRE-1.2/SRC¿¡ ½ÇÇà ÆÄÀÏ
ÀÌ ¸¸µé¾îÁö´Âµ¥, ±× µð·ºÅ丮¿¡ ÀÖ´Â twdb_check.plµµ tripwire¿Í °°ÀÌ ¿Å±ä´Ù. ÀÌ°ÍÀº tw.config¿¡ ÆÄÀÏ¿¡ »õ·Î¿î entry¸¦
Ãß°¡ÇÒ ¶§ database¸¦ update½ÃÄÑ ÁÖ´Â ¿ªÇÒÀ» ÇÑ´Ù.
tripwireÀÇ »ç¿ë¹ý
1.Configuration(¼³Á¤) file¸¸µå±â
tripwire-1.2/configs¿¡ ÀÖ´Â tw.conf.<os> ÆÄÀϵé Áß¿¡¼ ½Ã½ºÅÛÀÇ OS¿¡ °¡Àå ±ÙÁ¢ÇÏ´Â °ÍÀ» °ñ¶ó CONFIG
_PATH/CONFIG_FILE(install¿¡¼ Á¤ÀÇ)·Î º¹»çÇÑ´Ù.
$ cp configs/tw.conf.sunos5 /usr/adm/tcheck/tw.config
ÀÌ configuration ÆÄÀÏ¿¡´Â °¨½ÃÇÒ ÆÄÀÏ°ú ±×¿¡ µû¸¥ ¿É¼ÇÀÌ µé¾î°£´Ù.
Format : [!|=] entry [ignore-flags]
À§ Çü½Ä¿¡¼ 'entry'´Â °¨½ÃÇÒ ÆÄÀÏÀ̳ª µð·ºÅ丮ÀÇ Àý´ë °æ·ÎÀÌ´Ù. '!'´Â entry¸¦ Á¦¿Ü½ÃŲ´Ù. '='Àº ±× entry ÀÚü¸¦ ÀǹÌÇÑ
´Ù. µð·ºÅ丮¿¡ ¾²ÀÏ °æ¿ì ±× ¹ØÀÇ ÆÄÀϵéÀº Æ÷ÇÔÇÏÁö ¾Ê´Â´Ù.
'ignore-flags'´Â [template] [ [+£-][pinugsam12]¡¦]ÀÇ Çü½ÄÀ»
ÃëÇÏ¸ç °¢ ¿É¼ÇÀÇ Àǹ̴ ¾Æ·¡¿Í °°´Ù.
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
p : permission and file mode bits a : access timestamp
i : inode number m : modification timestamp
n : number of links (ref count) c : inode creation timestamp
u : user id of owner 1 : signature 1
g : group id of owner 2 : signature 2
s : size of file
'template'´Â ¹Ì¸® Á¤ÀÇµÈ ignore-flagÀε¥ R, L, N, EÀÇ ³×°¡Áö°¡ ÀÖ´Ù.
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
templates : (default) |
R : [R]ead-only (+pinugsm12-a)
L : [L]og file (+pinug-sam12)
N : ignore [N]othing (+pinusgsamc12)
E : ignore [E]verything (-pinusgsamc12) |
½ÇÁ¦ º¹ÇÕÀûÀ¸·Î »ç¿ëµÇ´Â ¿¹´Â ´ÙÀ½°ú °°´Ù.
/etc/lp E+ug
=/tmp
/etc N
À§ ¿¹¿¡¼ ignore-flagÀÇ ³»Á¤°ªÀº RÀÌ´Ù. µû¶ó¼ À§ÀÇ ¿¹ÀÇ =/tmp´Â ±× µð·ºÅ丮 ÀÚü¸¸ÀÇ 'pinugsm'°ª°ú µÎ °¡Áö signature¸¦
üũÇÏ°Ô µÈ´Ù.
2.Tripwire¿¡ »ç¿ëµÇ´Â ¿É¼ÇÀº ¾Æ·¡¿Í °°´Ù.
- (null option) : integrity check
- -init : database¸¦ ÃʱâÈÇÑ´Ù.
- -update entry : entry(file, directory, ȤÀº tw.configÀÇ entry)¸¦ update ÇÑ´Ù.
- -interactive : integrity checking°ú interactive updating
- -loosedir : directory¿¡ ´ëÇÑ checkingÀÇ °µµ¸¦ ³·Ãá´Ù.
- -d dbasefile : dbasefileÀ» database·Î Àд´Ù.
- -c configfile : configfileÀ» configuration file·Î Àд´٠(-d -, -c - ´Â °¢°¢
stdin¿¡¼ ÀÐ¾î µéÀÏ °ÍÀ» ÀǹÌÇÑ´Ù)
- -Dvar£½value : tw.configÀÇ º¯¼ö¸¦ ÁöÁ¤ÇÑ´Ù.
- -Uvar : À§ÀÇ ÁöÁ¤À» ÇØÁ¦ÇÑ´Ù.
- -i # | all : ÁöÁ¤µÈ signature check¸¦ ¹«½ÃÇÑ´Ù
- -q : quiet mode
- -v : verbose mode
- -preprocess : ¼±Çàó¸®µÈ configuration ÆÄÀÏÀ» Ãâ·ÂÇÑ´Ù
- -E
Tripwire´Â ÇÏ·ç¿¡ Çѹø ¼öÇà
3.ÇÏ·ç¿¡ Çѹø cronÀ¸·Î integrity check mode·Î ½ÇÇà½ÃÄÑ °á°ú¸¦ ½´ÆÛÀ¯Àú¿¡°Ô ¸ÞÀÏ·Î º¸³»µµ·Ï ÇÑ´Ù.
Solaris 2.xÀÇ
°æ¿ì ´ÙÀ½À» /var/spool/cron/crontabs/root¿¡ Ãß°¡ÇÑ´Ù.
23 50 * * * /user/tripwire/tripwire | Mail -s
"System Integrity Check by tripwire" root