|
|
|
¸®´ª½ºÆÁ Go Unix Power Tools Online Book
Go Bash Guide
|
|
Read No. 139 article |
2002-04-26 14:19:38 |
|
|
|
|
NickName |
Tina |
Subject |
[FB] [¹ø¿ª] A basic guide to securing FreeBSD 4.x-STABLE |
|
|
+===================================================================+
+ A basic guide to securing FreeBSD 4.x-STABLE +
+-------------------------------------------------------------------+
+ +
+ Written by Marc Silver +
+ http://draenor.org/securebsd/ +
+ +
+ +
+===================================================================+
Marc Silver <marcs at draenor.org> Àú.
http://draenor.org/securebsd
2002³â 02¿ù 04ÀÏ
Àåâ±Õ<ckchang at seoul.com> ¿ª.
2002³â 03¿ù 12ÀÏ
ÁÖÀÇ : ÀúÀÚ¿ÍÀÇ ¾à¼ÓÀ¸·Î ÀÎÇØ º» ¹®¼ÀÇ ¼öÁ¤À» Çã¿ëÇÏÁö ¾Ê½À´Ï´Ù.
$Id: secure,v 1.10 2002/02/04 11:30:01 marcs Exp $;
Table of Contents:
==> Overview
==> The Foundation for a secure system
-> File System Layout
==> Post Installation
-> System Secure Levels
-> Removal of the toor user
-> Shut down services that you dont need/want
-> syslogd
-> portmap
-> telnetd
-> sshd
-> inetd
-> ftpd
-> Log in vain
-> Blackhole
-> Crontabs
-> Secure the console
-> Process accounting
-> ipfw
-> Mail aliases
==> Kernel changes
-> Disable bpf if you dont need it
-> Disable Ctrl-Alt-Del
-> Quota Support
-> ipfw/ipf support
==> Managing user accounts
-> User quotas
-> Home directory permissions
-> Hiding processes
-> Disabling procfs
-> login.conf(5)
==> Stay up to date
-> Keep your packages current
-> Keep your OS current
==> Be Vigilant
==> Topics of Interest
-> Jail
==> Other documents about FreeBSD Security
==> Thanks
Overview
========
º¸¾ÈÀ̶õ ´Ü¾î´Â »ç¶÷¸¶´Ù ´Ù¸£°Ô ¹Þ¾ÆµéÀδÙ. ÀÌ ¹®¼´Â ¿©·¯°¡Áö »óȲÀ» ¼³¸íÇϸç
±âº»À¸·Î ¼³Ä¡µÈ FreeBSDÀÇ º¸¾ÈÀ» °ÈÇÒ ¼ö ÀÖ´Â °ÍµéÀ» Á¦¾ÈÇÏÁö¸¸, FreeBSD º¸¾ÈÀ»
°ÈÇÏ´Â °ø½ÄÀûÀÎ °¡À̵å´Â ¾Æ´Ï´Ù. ´ÜÁö ³» ÀÚ½ÅÀÇ ½Ã½ºÅÛ¿¡¼ »ç¿ëµÇ°í ´ë´ÜÈ÷
¼º°øÀûÀ¸·Î ¼öÇàµÇ¾ú´ø ¸ðµ¨¿¡ °üÇؼ¸¸ ³íÀÇÇÏ´Â °ÍÀÌ´Ù. ¶ÇÇÑ ³»°¡ º¸¾È ¡®Àü¹®°¡¡¯¶ó°í
¸»ÇÏ´Â °ÍÀÌ ¾Æ´ÔÀ» ¹àÈ÷°í ½Í´Ù. ³ª´Â ´ÜÁö Áö³ªÄ¡°Ô Á¶½É½º·´°í ¼¹öÀÇ º¸¾È¿¡ ±²ÀåÇÑ
ÀںνÉÀ» °®´Â ½Ã½ºÅÛ ¾îµå¹ÎÀÏ »ÓÀÌ´Ù.
FreeBSDÀÇ º¸¾ÈÀ» ´õ ³Ð°Ô Àü¸ÁÇϱâ À§ÇÔ°ú ¾Æ¿ï·¯, º»·ÐÀ¸·Î µé¾î°¡±â Àü¿¡ FreeBSD
½Ã½ºÅÛ¿¡¼ security(7)ÀÇ man page¸¦ ¸ðµç À̵éÀÌ ÀÐ¾î º¼°ÍÀ» Á¦¾ÈÇÑ´Ù.
º» ¹®¼ ÀÛ¾÷Àº ¾ÆÁ÷ ÁøÇàÁßÀÌ´Ù. ±×·¯±â ¶§¹®¿¡ ÀÌ ¹®¼´Â ¼öÁ¤µÇ°í Áõº»µÇ¸ç ¹ßÀüµÉ
°ÍÀÌ´Ù. ´õ Ãß°¡ ¶Ç´Â ¼öÁ¤ÇÒ »çÇ×ÀÌ Àְųª, ÁÖ¼®À» ÇÊ¿äÇÑ ºÎºÐÀ̳ª ¹®Á¦°¡ µÇ´Â »çÇ×ÀÌ
ÀÖ´Ù¸é, ¸ÞÀÏÀ» º¸³»Áֱ⠹ٶõ´Ù (marcs at draenor.org). ÀÌ ¹®¼ÀÇ °ø½Ä ȨÆäÀÌÁö´Â
http://draenor.org/securebsd ÀÌ´Ù.
¶ÇÇÑ ÀÌ ¹®¼¸¦ ÅëÇؼ ¿ø°ÝÀ̳ª ·ÎÄà DoS °ø°ÝÀ» ¸·À» ¼ö ÀÖÀ½À» ¶æÇÏ´Â °ÍÀº ¾Æ´Ï´Ù.
´ÜÁö ±âº»À¸·Î ±âº»À¸·Î ¼³Ä¡µÈ FreeBSD º¸¾ÈÀ» °ÈÇÏ´Â µ¥ µµ¿òÀ» ÁÖ°íÀÚÇÒ »ÓÀÌ´Ù.
FreeBSD º¸¾È¿¡ °üÇÑ °í±Þ¼öÁØÀÇ ¹®¼ ¶ÇÇÑ ¾Æ´Ï´Ù. ´Ü¼øÈ÷ ÀÚ½ÅÀÇ ¸Ó½ÅÀ» ¾ÈÀüÇÏ°Ô
ÁöÅ°´Âµ¥ »ç¿ëÇÒ ¼ö ÀÖ´Â ±âº»ÀûÀÎ ¾ÆÀ̵ð¾î¸¦ ¼³¸íÇÑ´Ù.
ÀÌÁ¡À» ÀÎÁöÇÏ°í ½ÃÀÛÇϱâ·Î ÇÏÀÚ.
º¸¾È ½Ã½ºÅÛ¿¡ °üÇÑ ±âÃÊ
The Foundation for a secure system
==================================
½Ã½ºÅÛÀº ¾ÆÁÖ ÃʱâºÎÅÍ ¾ÈÀüÇÏ°Ô ¼³Á¤µÇ¾î¾ß ÇÑ´Ù. FreeBSD¸¦ ¼³Ä¡ÇÏ´Â µ¿¾È ¼³Ä¡
ÀÌÈÄÀÇ °ñÄ©°Å¸®¿¡¼ ÇÇÇÒ ¼ö ÀÖµµ·Ï ¼öÇàÇÒ ¿©·¯°¡Áö °ÍµéÀÌ ÀÖ´Ù. ³» »ý°¢À¸·Î´Â,
°ø°ÝÀÚ°¡ ½Ã½ºÅÛ¿¡ ·ÎÄà ·Î±×ÀÎÀ» ÀÌ¹Ì °¡Áö°í ÀÖ´Ù°í »ý°¢µÇ´Â °÷¿¡¼´Â ÆÄÀÏ ½Ã½ºÅÛ
¼³Á¤ÀÌ Å©°Ô ´Ù¸¦ ¼ö ÀÖ´Ù.
o ÆÄÀÏ ½Ã½ºÅÛ ·¹À̾ƿô
o File System Layout
¾Æ·¡ÀÇ ÆÄÀÏ ½Ã½ºÅÛ ·¹À̾ƿôÀº ¾î´À ½Ã½ºÅÛ¿¡¼µç °¡ÀÌµå ¶óÀÎÀ¸·Î »ç¿ëµÉ ¼ö ÀÖ´Ù.
¸í¹éÇÑ °ÍÀº µð½ºÅ© ·¹À̾ƿôÀº ¸Ó½ÅÀÇ ±â´É¿¡ µû¶ó ´Þ¶óÁú ¼ö ÀÖÁö¸¸ ÀÌ´Â ±âº» °¡À̵å·Î
µµ¿òÀÌ µÈ´Ù.
ÀÚ½ÅÀÇ ÇÊ¿ä¿¡ µû¶ó ÀûÇÕÇÏ°Ô Àû¿ëÇÒ ¼ö ÀÖ´Ù.
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/ad0s1a 128990 31390 87282 26% /
/dev/ad0s1f 49583 27879 17738 61% /tmp
/dev/ad0s1d 12348393 2563101 8797421 23% /usr
/dev/ad0s1h 4065262 97983 3642059 3% /home
/dev/ad0s1g 2032623 6026 1863988 0% /var
procfs 4 4 0 100% /proc
ÀÌÁ¦, mount(8) ¸í·ÉÀÇ Ãâ·ÂÀ» º¸ÀÚ:
/dev/ad0s1a on / (ufs, local)
/dev/ad0s1f on /tmp (ufs, local, nodev, nosuid, soft-updates)
/dev/ad0s1d on /usr (ufs, local, soft-updates)
/dev/ad0s1h on /home (ufs, local, nosuid, with quotas, soft-updates)
/dev/ad0s1g on /var (ufs, local, soft-updates)
procfs on /proc (procfs, local)
ÀÌÁ¦, ¿Ö ÀÌ·¸°Ô ¼³Á¤Çß´ÂÁö¸¦ ³íÀÇÇغ¸ÀÚ.
·çÆ® ÆÄƼ¼ÇÀº 128MB·Î ÀûÇÕÇÏ´Ù(tuning(7) man page¿¡¼ ÃßõÇÑ ´ë·ÎÀÌ´Ù) ±×¸®°í
KLD ±×¸®°í »ó´çÈ÷ Áß¿äÇÑ ¿©·¯ µð·ºÅ͸®»Ó ¾Æ´Ï¶ó Ä¿³ÎÀÌ ÀúÀåµÇ¾î ÀÖ´Â °÷ÀÌ´Ù. (/sbinÀÌ
À¯ÀÏÇÏ°Ô ¸Ó¸®¿¡ ¶°¿À¸£´Â °ÍÀÌ´Ù). À̸¦ ¿°µÎ¿¡ µÎ°í, ³ªÁß¿¡ fstab(5) ÆÄÀÏÀ» ¼öÁ¤ÇÏ¿©
·çÆ® ÆÄƼ¼ÇÀ» ÀбâÀü¿ëÀ¸·Î ¸¶¿îÆ®°¡ °¡´ÉÇÏ´Ù.
Àӽà ÆÄÀϵéÀº /tmp¿¡ ÀúÀåµÈ´Ù. ±×¸®°í ÀÌ µð·ºÅ丮´Â ÀϹÝÀûÀ¸·Î ´©±¸³ª°¡ ±â·ÏÇÒ ¼ö
Àֱ⶧¹®¿¡, ÀÌ µð·ºÅ丮¿¡¼ ƯÁ¤ ÆÄÀÏÀÌ »ç¿ëµÇÁö ¾Êµµ·ÏÇÏ´Â °ÍÀÌ Áß¿äÇÏ´Ù. Fstab(5)
ÆÄÀÏÀ» »ç¿ëÇÏ¿© (¶ÇÇÑ mount(8)À» Âü°íÇ϶ó) /tmp¿¡ NOSUID¿Í NODEV Ç÷¡±×¸¦
Ãß°¡ÇØÁÖ¾î suid ÇÁ·Î±×·¥À» »ç¿ëÇÒ ¼ö ¾øµµ·ÏÇÏ°í ij¸¯Åͳª ºí·Ï Ư¼ö ÀåÄ¡¸¦ ÀÌ ÆÄÀÏ
½Ã½ºÅÛ¿¡¼ Á¤ÁöÇϵµ·Ï ÇؾßÇÑ´Ù. /tmp¿¡ NOEXEC Ç÷¡±×¸¦ Ãß°¡Çϱ⸦ ¿øÇÒÁöµµ
¸ð¸£Áö¸¸ ÀÌ´Â ¿©·¯°¡Áö·Î Á¦ÇÑÀûÀ̸ç ÀÏ¹Ý »ç¿ëÀÚ¿¡°Ô ¾î·Á¿òÀ» °¡Á®´Ù ÁÙÁö ¸ð¸¥´Ù.
NOEXEC´Â ¡®make install world¡¯ÀÇ ÀÛ¾÷À» ÇÒ ¶§ ¹®Á¦¸¦ ¹ß»ýÇÒ ¼ö ÀÖ´Ù. NOEXEC´Â
¶ÇÇÑ Ä§ÀÔÀÚ¸¦ ã¾Æ³»´Â ±â·®À» Á¦ÇÑÇÒ ¼ö ÀÖ´Ù. /usr/tmp¿Í /var/tmp¸¦ /tmp ÆÄƼ¼Ç¿¡
½Éº¼¸¯ ¸µÅ©¸¦ °É¾îµÎ¾î¾ß ÇÔÀ» ÀÎÁöÇÏ´Â °ÍÀÌ Áß¿äÇÏ´Ù. ±×·¸Áö ¾ÊÀ¸¸é »ç¿ëÀÚ¿¡°Ô tmp
µð·ºÅ丮¸¦ ¾Æ¹«·± Á¦¾à¾øÀÌ Á¦°øÇØ¾ß ÇÑ´Ù.
»ç¿ëÀÚ µð·ºÅ丮´Â /home¿¡ À§Ä¡Çϸç ÀÌ ÆÄƼ¼Ç¿¡ NOSUID Ç÷¡±×¸¦ Ãß°¡ÇÏ´Â °ÍÀº ÁÁÀº
¾ÆÀ̵ð¾î ÀÖ´Ù. ¶ÇÇÑ QUOTA¸¦ Ãß°¡ÇÏ¿© »ç¿ëÀÚ°¡ »ç¿ëÇÒ µð½ºÅ© °ø°£À» Á¦ÇÑÇ϶ó. /usr¿Í
/var ¸ðµÎ soft-updates¸¦ »ç¿ëÇÒ ¼ö Àִ ǥÁØ ÆÄƼ¼ÇÀÌ´Ù.
¶ÇÇÑ procfs¸¦ »ç¿ëÇÏÁö ¾Êµµ·Ï ¼±ÅÃÇÒ ¼ö ÀÖ´Ù. ÀÚ¼¼ÇÑ »çÇ×Àº ¡®Disabling procfs.¡¯
ÀÌ ¸ðµ¨Àº º»ÀÎÀÇ ÇÊ¿ä¿¡ ¸Â°Ô º¯°æÇÒ ¼ö ÀÖ´Ù.
¼³Ä¡ÈÄ ÀÛ¾÷
Post Installation
=================
ÀÏ´Ü FreeBSD ½Ã½ºÅÛÀ» ¼³Ä¡ÇÑ ÈÄ¿¡ ¸Ó½ÅÀ» ¾ÈÁ¤ÈÇϴµ¥ µµ¿òÀÌ µÉ ¿©·¯°¡Áö°¡ ÀÖ´Ù.
½Ã½ºÅÛ º¸¾È ·¹º§
o System Secure Levels
º¸¾È ·¹º§Àº FreeBSD º¸¾ÈÀÇ ÇÙ½ÉÀÌ´Ù. FreeBSD º¸¾È¿¡¼ ¸Å¿ì °·ÂÇÏ°í ±âº»ÀûÀÎ
°ÍÀÌ´Ù.
´ëºÎºÐÀÇ ¸Ó½Å¿¡¼, X-Window¸¦ ½ÇÇàÇÏ·ÁÇÏÁö ¾Ê´Â´Ù¸é º¸¾È ·¹º§ -1·Î ¿î¿µÇÒ ÀÌÀ¯°¡
¾ø´Ù. X-Window¸¦ ½ÇÇàÇÏÁö ¾Ê´Â´Ù¸é, sysctl(8) º¯¼ö kern.securelevelÀ» ¼öÁ¤ÇÏ¿© º¸¾È
·¹º§À» 1·Î º¯°æÇÒ °ÍÀ» ÃßõÇÑ´Ù. º¸¾È ·¹º§ 1·Î º¯°æÇÏµÇ¸é ½Ì±Û À¯Àú ¸ðµå°¡ ¾Æ´Ï°í´Â
Ä¿³ÎÀ» º¯°æÇÒ ¼ö ¾ø°í KLDµµ load/unloadµÉ ¼ö ¾øÀ¸¸ç /dev/mem°ú /dev/kmemÀº
¾²±â¸ðµå·Î ¿ÀÇ嵃 ¼ö ¾ø´Ù. ½Ã½ºÅÛÀ» ÀçºÎÆÃÇÏÁö ¾Ê±â À§Çؼ´Â ´ÙÀ½°ú °°ÀÌ ¸í·ÉÀ»
½ÇÇàÇÑ´Ù.
sysctl kern.securelevel=1
ÀÌ º¯°æÀ» Áö¼ÓÇÏ°íÀÚ ÇÑ´Ù¸é ´ÙÀ½À» /etc/rc.conf¿¡ Ãß°¡Ç϶ó.
kern_securelevel_enable="YES"
kern_securelevel="1"
º¸´Ù Áß¿äÇÑ ¸Ó½Å¿¡¼´Â º¸¾È ·¹º§À» 2³ª 3·Î ¿Ã¸®°íÀÚÇÒ °ÍÀÌ´Ù. ÀÌ ¹®¼¿¡¼´Â À̵é
»óÀ§ º¸¾È ·¹º§À» ³íÀÇÇÏÁö ¾ÊÀ» °ÍÀÌ´Ù. ¿©·¯ º¸¾È ·¹º§¿¡ °üÇÑ ÀÚ¼¼ÇÑ Á¤º¸¿Í ÀÛ¾÷»çÇ×Àº
init(8)ÀÇ man page ¸¦ Àб⠹ٶõ´Ù.
Toor À¯ÀúÀÇ »èÁ¦
o Removal of the toor user
±âº»ÀûÀ¸·Î, FreeBSD´Â UID°¡ 0ÀÎ ºÎ¼öÀûÀÎ »ç¿ëÀÚ°èÁ¤ÀÌ ÇÔ²² Á¸ÀçÇÑ´Ù. ÀÌ °èÁ¤Àº
toor(rootÀÇ ¹Ý´ë¹æÇâ)À̸ç, ¹é¾÷ À¯ÀúÀÇ ¿ëµµ¶ó¼, ·çÆ®ÀÇ ¼¿ÀÌ µ¿ÀÛÇÏÁö ¾ÊÀ¸¸é ÀÌ À¯Àú·Î
·Î±×ÀÎÇÏ¿© ¹®Á¦¸¦ ÇØ°áÇÒ ¼ö ÀÖ´Ù. ÀÌ °èÁ¤Àº ±âº»À¸·Î »ç¿ëºÒ°¡·Î µÇ¾î Àֱ⶧¹®¿¡
Æнº¿öµå¸¦ º¯°æÇÏÁö ¾Ê´Â´Ù¸é »ç¿ëÇÒ ¼ö ¾ø´Ù. ÀÌ °èÁ¤¿¡ Æнº¿öµå¸¦ ¼³Á¤Çϰųª »èÁ¦ÇÒ
¼ö ÀÖ´Ù. ÇÊÀÚ´Â »èÁ¦ÇÏ´Â °ÍÀ» ¼±È£ÇÏÁö¸¸ ¼±ÅÃÀº ÀüÀûÀ¸·Î Àڽſ¡°Ô ´Þ·ÁÀÖ´Ù.
Rmuser(8) ¸í·ÉÀº UID°¡ 0ÀÎ °èÁ¤ÀÇ »èÁ¦¸¦ Çã¿ëÇÏÁö ¾ÊÀ¸´Ï ÁÖÀÇÇϸç, ÀÌ °èÁ¤À»
»èÁ¦Çϱâ À§ÇØ vipw(8)À» »ç¿ëÇØ¾ß ÇÒ °ÍÀÌ´Ù.
ÇÊ¿äÄ¡ ¾Ê°Å³ª ¿øÄ¡ ¾ÊÀº ¼ºñ½ºµéÀ» Á¾·áÇ϶ó.
¸Ó½Å¿¡¼ ÇʼöÀûÀÌÁö ¾Ê°Å³ª ¸ð¸£´Â ¼ºñ½ºµéÀº ½ÇÇàÇÏÁö ¾Êµµ·Ï ÇÑ´Ù. À̸¦ ¼öÇàÇÏ´Â
°¡Àå ÁÁÀº ¹æ¹ýÀº ¸Ó½Å¿¡¼ ½ÇÇàµÇ´Â ¸ðµç ¼ºñ½ºµéÀ» Á¾·áÇÑ ÈÄ¿¡, ½ÇÇàÇÏ°íÀÚ ÇÏ´Â
°Íµé¸¸ »ç¿ëÇϵµ·Ï ÇÑ´Ù. ÀÌ ¹æ¹ýÀ¸·Î ÀÚ½ÅÀÇ ¸Ó½Å¿¡¼ ½ÇÇàµÇ´Â ¼ºñ½ºµéÀ» È®½ÇÈ÷ ¾Ë ¼ö
ÀÖ´Ù. Netstat(1) ¸í·ÉÀ¸·Î ÀÚ½ÅÀÇ ¸Ó½Å¿¡¼ ¿ÀǵǾî ÀÖ´Â TCP Æ÷Æ®µéÀ» ¾Ë ¼ö ÀÖ´Ù. Áï:
secure-me (1) : netstat -na | grep LIST
tcp4 0 0 *.80 *.* LISTEN
tcp4 0 0 *.25 *.* LISTEN
tcp4 0 0 *.22 *.* LISTEN
À§ÀÇ ¿¹´Â TCP Æ÷Æ® 22(ssh), 25(smtp), 80(http)°¡ ¸Ó½Å¿¡¼ ´ë±â»óÅÂÀÌ¸ç ¸ðµç IP¿¡
¹ÝÀÀÇÒ °ÍÀÓÀ» ³ªÅ¸³½´Ù. ´ë±â»óÅÂÀÇ ÇÁ·Î¼¼½º°¡ ÀÖÀ¸¸ç ¾î¶² ÇÁ·Î¼¼½º°¡ Æ÷Æ®¸¦ ¿ÀÇÂÇÏ°í
ÀÖ´ÂÁö ºÒÈ®½ÇÇÏ´Ù¸é sockstat(1)¸¦ »ç¿ëÇÏ¿© ¿ÀǵǾî ÀÖ´Â ¼ÒÄϸ¦ ³ª¿ÇÏ°í °ü·ÃµÈ
Á¤º¸¸¦ Á¦°øÇÒ °ÍÀÌ´Ù.
Rc.conf(5)¸¦ »ç¿ëÇÏ¿© ±âº»ÀûÀ¸·Î »ç¿ëÇÒ ¼ºñ½º¸¦ ½±°Ô ¼³Á¤ÇÒ ¼ö ÀÖÀ»»Ó ¾Æ´Ï¶ó,
/usr/local/etc/rc.d µð·ºÅ丮¿¡¼ º¼ ¼ö ÀÖ´Â ·ÎÄà ÆÐÅ°Áö init ½ºÅ©¸³Æ®µµ ¸¶Âù°¡Áö´Ù.
ºñ½ÁÇÏ°Ô UDP¸¦ ÅëÇØ ´ë±â»óÅ¿¡ ÀÖ´Â °Íµé¿¡ °üÇؼµµ º¼ ¼ö ÀÖ´Ù. Netstat(1)¸¦ ÅëÇØ
À̵é Á¤º¸¸¦ ¾òÀ» ¼ö ÀÖ´Ù.
secure-me (2) : netstat -na | grep -i udp
udp4 0 0 *.514 *.*
À§¿¡¼ syslogd°¡ 514(UDP) Æ÷Æ®¿¡¼ ´ë±â»óÅ¿¡ ÀÖÀ½À» ¾Ë ¼ö ÀÖ´Ù.
ÀÌÁ¦ ¸î°³ÀÇ °øÅëÀûÀÎ ¼ºñ½ºµé°ú ÀÌµé ¼ºñ½º¸¦ º¸´Ù ¾ÈÀüÇÏ°Ô ÇÒ ¼ö ÀÖ´Â °Íµé¿¡ °üÇØ
³íÀÇÇغ¸°Ú´Ù.
- syslogd ::
syslogd´Â UDP 514¸¦ »ç¿ëÇÏÁö¸¸, syslogdÀ» ¸í·ÉÇàÀ¸·Î ½Ãµ¿½Ãų ¶§ ¡®-s¡¯Ç÷¡±×¸¦
»ç¿ëÇÏ¿© »ç¿ëÇÏÁö ¾ÊÀ» ¼ö ÀÖ´Ù. ÀÌ´Â ³×Æ®¿öÅ© ¼ÒÄÏÀ» »ç¿ëÇÏÁö ¾Ê°ÔÇÏ¸ç °£´ÜÈ÷
/etc/rc.conf¿¡ ´ÙÀ½À» Ãß°¡ÇϸéµÈ´Ù.
syslogd_flags="-ss"
syslogd(8)¸¦ Âü°íÇ϶ó.
See the syslogd(8) man page for more information.
- portmap ::
portmapÀº ¿ø°Ý ÇÁ·Î½ÃÁ® È£Ãâ¿¡ »ç¿ëµÇ¸ç FreeBSD¿¡¼ÀÇ ´ëºÎºÐÀÇ ÀÏ¹Ý ÇÁ·Î±×·¥Àº
NFS¿Í ÇÔ²² »ç¿ëÇÑ´Ù. PortmapÀ» disable»óÅ·Π¸¸µé±â À§Çؼ´Â /etc/rc.conf¿¡ ´ÙÀ½À»
Ãß°¡ÇÑ´Ù.
portmap_enable="NO"
- telnetd ::
ÀÌ ¼ºñ½º´Â ¾î¶»°Ô Çؼµç »ç¿ëÀ» ÇÇÇ϶ó. telnetÀÌ À¯¿ëÇϱâ´Â ÇÏÁö¸¸, ´õÀÌ»ó »ç¿ëÇÒ
ÀÌÀ¯°¡ ¾ø´Ù. telnet ¼¼¼ÇÀ» ÅëÇØ Àü¼ÛµÇ´Â ¸ðµç µ¥ÀÌŸ´Â ÀÏ¹Ý ÅؽºÆ®ÀÌ´Ù. (»ç¿ëÀÚ¸í,
ºñ¹Ð¹øÈ£µµ Æ÷ÇÔÇÑ´Ù) inetd(8)À» ¿ÏÀüÈ÷ Á¾·áÇϰųª /etc/inetd.conf¿¡¼ telnetdÇàÀ»
Á¦°ÅÇÏ¿© ÀÌ ¼ºñ½º¸¦ Á¦°ÅÇÒ ¼ö ÀÖ´Ù. º» ¼ºñ½º¸¦ ½ÇÇàÇؾ߸¸ ÇÑ´Ù¸é login.access(5)³ª
ipfw(8) µîÀÇ »ç¿ë¹ýÀ» ÁÖÁöÇÏ¿© Á¢¼ÓÀ» Á¦ÇÑÇÒ ¼ö ÀÖ´Ù.
FreeBSD´Â sshd(8)¸¦ Æ÷ÇÔÇÑ´Ù. ÀÌ ´ë¸óÀº ´õ °·ÂÇÑ º¸¾È¼ºÀ» °®´Â telnetdÀÇ ´ë¾ÈÀÌ´Ù.
- sshd ::
FreeBSD 4.1.1ºÎÅÍ OpenSSH¸¦ ±âº» ½Ã½ºÅÛÀ¸·Î Æ÷ÇÔÇϸç sshd(8)´Â ÀÌÁ¦ telnetdÀÇ
È®½ÇÇÑ ´ë¾ÈÀÌ´Ù. ÇÏÁö¸¸ ¾Ïȣȸ¦ »ç¿ëÇϹǷμ Á¢¼Ó ¼¼¼ÇÀ» º¸È£ÇÏ¿© ´õ ¾ÈÀüÇÏ°Ô ÇÒ ¼ö
ÀÖ´Ù. RSA/DSA Å°¸¦ »ç¿ëÇÏ¿© ´õ °ß°íÇÑ ¾ÏȣȰ¡ °¡´ÉÇÑ ÇÁ·ÎÅäÄÝÀÌ´Ù.
´ëºÎºÐÀÇ OpenSSHÀÇ ÇöÀç ¹öÀüµéÀº SSH ÇÁ·ÎÅäÄÝ ¹öÀü 2¸¦ »ç¿ëÇÏÁö¸¸ Á» ¿À·¡µÈ
¹öÀüÀ» »ç¿ëÇÏ´Â ½Ã½ºÅÛ¿¡¼´Â ¹öÀü 2¸¸À» Çã¿ëÇϵµ·Ï ±ÇÇÑ´Ù. À̸¦ À§ÇØ,
/etc/ssh/sshd_config¿¡ ´ÙÀ½ ¹®ÀÚ¿ÀÌ ÀÖ´ÂÁö È®ÀÎÇÑ´Ù.
Protocol 2
ÀÌ´Â sshd°¡ ¼¹ö·ÎÀÇ SSH2 Á¢¼Ó¸¸À» Çã¿ëÇÑ´Ù´Â °ÍÀ» ¾Ë·ÁÁØ´Ù. º¯°æ»çÇ×À» Àû¿ëÇϱâ
À§ÇØ sshd¸¦ Àç½ÃÀÛÇؾßÇÑ´Ù.
ºñ½ÁÇÏ°Ô, ¼¹ö·ÎºÎÅÍÀÇ ¸ðµç SSH Á¢¼ÓÀ» ±âº»À¸·Î SSH2¸¦ »ç¿ëÇϵµ·Ï ¼³Á¤ÇÒ ¼ö ÀÖ´Ù.
ÀÌ´Â /etc/ssh/ssh_config¸¦ ¼öÁ¤ÇÏ¿© ÇÒ ¼ö ÀÖ´Ù.
º¸¾ÈÀ» ´õ Çâ»ó½Ãų ¼ö ÀÖ´Â °÷¿¡¼ DSA Å°ÀÇ »ç¿ëÀº ¹Ù¶÷Á÷ÇÏ´Ù. ÀÌ ¹®¼´Â DSA Å°ÀÇ
»ç¿ë¿¡ °üÇØ ¼³¸íÇÏÁö ¾ÊÀ» °ÍÀÌ´Ù. °ü·Ã Á¤º¸´Â http://www.openssh.com/¿¡¼ º¼ ¼ö ÀÖ´Ù.
OpenSSH, RSA/DSA Å°¿Í ÀÌµé »ç¿ë¹ý¿¡ °üÇÑ ÀÚ¼¼ÇÑ »çÇ×Àº
http://www.openssh.com/À» ¹æ¹®Çغ¸¶ó.
- inetd ::
inetd´Â ÀÓÀÇÀÇ ¼ö°³ÀÇ ¼ÒÄÏ¿¡¼ Á¢¼ÓÀ» ´ë±âÇϵµ·Ï ¼³°èµÇ¾ú´Ù. Telnetd(8),
qpopper±×¸®°í ftpd(8)¿Í °°Àº ´ëÁßÀûÀÎ ÀÀ¿ëÇÁ·Î±×·¥µéÀÌ »ç¿ëÇÑ´Ù. ÃÖ¼ÒÇÑ, ÇÊ¿äÇÏÁö
¾Ê°Å³ª ½ÇÇàÇÏ·ÁÇÏÁö ¾Ê´Â ¼ºñ½ºµéÀº ÁÖ¼®Ã³¸®ÇØ¾ß ÇÑ´Ù(¿øÄ¡¾Ê´Â Çà ¾Õ¿¡ #À» Ãß°¡ÇÏ¿©).
Inetd °¡ ½ÇÇàÇÏ´Â ´ë¸óÀÌ ´õÀÌ»ó ÇÊ¿äÄ¡ ¾Ê´Ù¸é, /etc/rc.conf¿¡ ´ÙÀ½À» Ãß°¡ÇÏ¿© ¿ÏÀüÈ÷
»ç¿ëÁ¤ÁöÇÒ ¼ö ÀÖ´Ù.
inetd_enable="NO"
inetd¸¦ »ç¿ëÇÑ´Ù¸é, Àιٿîµù Á¢¼ÓÀ» Á¦ÇÑÇϱâ À§ÇØ /etc/hosts.allow ÆÄÀÏÀ» »ìÆ캸¶ó.
ftpd ::
FreeBSD´Â ±âº»ÀûÀ¸·Î ftpd¸¦ Æ÷ÇÔÇÑ´Ù. FTP´Â »ç¿ëÀÚ À̸§°ú Æнº¿öµå°¡ ÀÏ¹Ý ÅؽºÆ®·Î
Àü¼ÛµÇ±â ¶§¹®¿¡ ¾ÈÀüÇÏÁö ¾ÊÀº ÇÁ·ÎÅäÄÝÀÌ´Ù. FTPÀÇ ´ë¾ÈÀ¸·Î sftp(1)°¡ ÀÖÀ¸¸ç ÀÌ ´ë¸óÀº
¸ðµç FTPÀÇ ÀÌÁ¡°ú ÇÔ²² SSHÀÇ ¾ÏÈ£È ±â´Éµµ Á¦°øÇÑ´Ù. ¶Ç´Â scp(1)¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù.
±×·¯³ª, ftpd¸¦ ¼ºñ½ºÇϱâ·Î °áÁ¤Çß´Ù¸é ¼¹ö¸¦ °ß°íÈ÷ ÇÒ ¼ö ÀÖ´Â ¸î°¡Áö °ÍµéÀÌ ÀÖ´Ù.
±âº»ÀûÀ¸·Î ftpd´Â ¡°-l¡±Ç÷¡±×¿Í °°ÀÌ ½ÇÇàÇϸç ÀÌ´Â ¼¹ö¿¡ »ç¿ëÀÚ°¡ ½ÇÇàÇÏ´Â ¸í·É¿¡
°üÇÑ ´õ ¸¹Àº Á¤º¸¸¦ Á¦°øÇÑ´Ù. ¡°-r¡±Ç÷¡±×¸¦ Ãß°¡ÇÏ¿©, ftpd¸¦ ÀбâÀü¿ë ¸ðµå·Î ¼³Á¤ÇÒ
¼ö ÀÖÀ¸¸ç ÀÌ´Â ÆÄÀϽýºÅÛÀ» º¯°æÇÏ´Â ¸ðµç ¸í·ÉµéÀ» »ç¿ëÇÒ ¼ö ¾ø°Ô ÇÒ°ÍÀÌ´Ù. ¶ÇÇÑ ³ª´Â
ÀÍ¸í ·Î±×Àθ¸ Çã¿ëÇϱâ À§ÇØ ¡°-A¡±Ç÷¡±×¸¦ Ãß°¡ÇÑ´Ù.
Ftpd ÇàÀº /etc/inetd.conf¿¡¼ ´ÙÀ½°ú °°ÀÌ º¸ÀÏ°ÍÀÌ´Ù.
ftp stream tcp nowait root /usr/libexec/ftpd ftpd -l -l -r -A
LOG_FTP ¸Þ½ÃÁö´Â ±âº»ÀûÀ¸·Î syslogd(8)ÀÌ ±â·ÏÇÏÁö ¾ÊÀ¸¸ç enableÇؾßÇÔÀ» ÁÖÀÇÇ϶ó.
´õ ÀÚ¼¼ÇÑ »çÇ×Àº ftpd(8) man page¸¦ ÂüÁ¶Ç϶ó. ¸í¹éÇÑ ÀÌÀ¯¶§¹®¿¡ »ç¿ëÀÚ ·Î±×ÀÎÀ»
Çã¿ëÇϵµ·Ï ÃßÀüÇÏÁö ¾Ê´Â´Ù. »ç¿ëÀÚ ·Î±×ÀÎÀ» ÇÊ¿äÇÏ´Ù¸é ncftpdÀÇ »ç¿ëÀ» ÃßõÇÑ´Ù. ÀÌ
ÇÁ·Î±×·¥À¸·Î º°µµÀÇ »ç¿ëÀÚ/Æнº¿öµå µ¥ÀÌŸº£À̽º¸¦ »ç¿ëÇÒ ¼ö ÀÖÀ¸¸ç ½Ã½ºÅÛÀÇ
»ç¿ëÀÚ¸í°ú µ¶¸³ÀûÀÌ¸ç ´Ù¸¥ Æнº¿öµå¸¦ °¡Áú ¼ö ÀÖ´Ù.
o Log in vain
¸¹Àº ¼ºñ½ºµéÀ» »ç¿ëÇÏÁö ¾Ê°Ô µÇ¾úÀ» Áö¶óµµ listeners/daemonsÀÌ ¾ø´Â Æ÷Æ®·ÎÀÇ
Á¢¼Ó½Ãµµ¸¦ ±â·ÏÇØ¾ß ÇÑ´Ù. À̸¦ À§ÇØ °£´ÜÈ÷ /etc/rc.conf¿¡ ´ÙÀ½À» Ãß°¡ÇÑ´Ù.
log_in_vain="YES"
¼¹ö¸¦ ÀçºÎÆÃÇÏÁö ¾Ê°í º¯°æÇϱâ À§Çؼ´Â ¾Æ·¡¿Í °°ÀÌ ¸í·ÉÀ» ½ÇÇàÇÑ´Ù.
sysctl net.inet.tcp.log_in_vain=1
sysctl net.inet.udp.log_in_vain=1
listeners°¡ ¾ø´Â Æ÷Æ®·ÎÀÇ Á¢¼Ó ½Ãµµ ½ÇÆд /var/log/messages¿¡ ±â·ÏµÉ °ÍÀÌ´Ù.
:
ºí·¢È¦
FreeBSD¿¡´Â ´ë¸óÀ̳ª listeners¿¡ ¹ÀÌÁö ¾ÊÀº Æ÷Æ®·ÎÀÇ ¸ðµç TCP/UDP Á¤º¸¸¦ ±×·¯
¸ðÀ¸´Â ¿É¼ÇÀÌ ÀÖ´Ù. ¡®log in vain¡¯°ú °°ÀÌ Á¢¼ÓÀ» ±â·ÏÇÏ´Â ´ë½Å, ºí·¢È¦À» »ý¼ºÇÏ¿©
ÆÐŶµéÀÌ ºí·¢È¦À» ÅëÇØ ¹¬»ìµÈ´Ù. ÀÌ ±â´É°ú °ü·ÃµÈ man page ¶ÇÇÑ ½Ã½ºÅÛÀ» ¸ñÇ¥·Î ÇÑ
DoS °ø°ÝÀ» Áö¿¬½Ãų ¼ö ÀÖ´Ù°í ¼¼úÇÑ´Ù. ºí·¢È¦ MIB´Â ´ÙÀ½ ¸í·ÉÀ¸·Î ½±°Ô enableÇÒ ¼ö
ÀÖ´Ù.
sysctl net.inet.tcp.blackhole=1
sysctl net.inet.udp.blackhole=1
ÇÑ°¡Áö ÁÖÀÇÇÒ Á¡Àº UDP¿¡¼ ºí·¢È¦À» »ç¿ëÇÏ°Ô µÇ¸é Ÿ ½Ã½ºÅÛ¿¡¼ ºí·¢È¦ÀÌ enableµÈ
½Ã½ºÅÛÀ¸·Î traceroute(8)¸¦ »ç¿ëÇÒ ¼ö ¾ø°ÔµÈ´Ù. TCP °ª ¿ª½Ã 2·Î Áõ°¡µÈ´Ù. ÀÚ¼¼ÇÑ
Á¤º¸´Â blackhole(4) man page¸¦ Âü°íÇ϶ó.
ÀçºÎÆà ÈÄ¿¡µµ °è¼Ó ¼³Á¤À» À¯ÁöÇϱâ À§Çؼ´Â ¾Æ·¡ ¼³Á¤À» /etc/sysctl.conf¿¡ Ãß°¡Ç϶ó.
net.inet.tcp.blackhole=1
net.inet.udp.blackhole=1
ÀÌ°ÍÀº ipfw/ipfÀÇ ´ë¾ÈÀÌ ¾Æ´ÔÀ» ÁÖÀÇÇ϶ó.
ÁÖÀÇ : James Lawrence¿¡ µû¸£¸é, ÀÌ°ÍÀº Konqueror¿¡ ¹®Á¦°¡ ÀÖÀ» ¼ö ÀÖ´Ù.
o Crontabs
¸ÕÀú, ÀϹÝÀûÀ¸·Î »ç¿ëÀÚ°¡ ¿¶÷ÇÏÁö ¾ÊÀ¸¸é ÇÏ´Â ÆÄÀϵéÀÌ ÀÖ´Ù. RootÀÇ crontabÀÌ ¹Ù·Î
±×·¯ÇÏ´Ù. /etc/crontabÀ» 0640À¸·Î ÆÄÀÏ ¸ðµå¸¦ ¾ÈÀüÇÏ°Ô º¯°æÇÒ ¼ö ÀÖÀ¸¸ç root¿Í wheel
±×·ìÀÇ »ç¿ëÀÚ¸¸ÀÌ ¿¶÷ÇÒ ¼ö ÀÖ´Ù. »ç¿ëÀÚ°¡ ¾î¶² ÀÛ¾÷ÀÌ cronÀ¸·Î µ¿À۵ǴÂÁö ¾Ë ÇÊ¿ä´Â
¾ø´Ù.
µ¿½Ã¿¡, crontab(1)À» »ç¿ëÀÚ°¡ »ç¿ëÇÏÁö ¾Ê±â¸¦ ¿øÇÒ ¼ö ÀÖ´Ù. °£´ÜÈ÷ /var/cron/deny
ÆÄÀÏÀ» »ý¼ºÇÏ°í ÆÄÀÏ¿¡ »ç¿ëÀÚ ¸®½ºÆ®¸¦ Ãß°¡ÇÏ¿© ¿øÇÏ´Â °ÍÀ» ¾òÀ» ¼ö ÀÖ´Ù. ¸®½ºÆ®¿¡
¿À¸¥ »ç¿ëÀÚµéÀº ¾Æ·¡¿Í °°Àº ¸Þ½ÃÁö¸¦ º¼ °ÍÀÌ´Ù.
crontab: you (marcs) are not allowed to use this program
ºñ½ÁÇÏ°Ô, /var/cron/allow¸¦ »ý¼ºÇÏ¿© crontabÀ» »ç¿ëÇÒ ¼ö ÀÖ´Â »ç¿ëÀÚ¸¦ Ãß°¡ÇÒ ¼ö
ÀÖ´Ù. ÀÚ¼¼ÇÑ »çÇ×Àº crontab(1) man page¸¦ Âü°íÇ϶ó.
ÄÜ¼Ö º¸¾È
¸¹Àº »ç¶÷µéÀÌ ¹°¸®Àû Á¢±ÙÀÌ °¡´ÉÇÑ ¾ÇÀÇÀûÀÎ »ç¿ëÀÚ°¡ ½Ì±Û À¯Àú ¸ðµå·Î ÀçºÎÆÃÇÏ¿©
·çÆ® Æнº¿öµå¸¦ º¯°æÇÏ´Â °ÍÀ» °ÆÁ¤ÇÑ´Ù. ÇÏÁö¸¸ ħÀÔÀÚ°¡ ¼¹ö·Î ¹°¸®Àû Á¢±ÙÀÌ
°¡´ÉÇÏ´Ù¸é ÇÒ ¼ö ÀÖ´Â ÀÏÀº ¾ø´Ù. ´Ü¼øÈ÷ ½Ì±Û À¯Àú ¸ðµå·Î ºÎÆÃÇÏ¿© root Æнº¿öµå¸¦
º¯°æÇÏ´Â °ÍÀ» ¸·À» ¼ö ÀÖÀ» »ÓÀÌ´Ù. /etc/ttys¸¦ ¼öÁ¤ÇÏ¿© ¡®console¡¯ÇàÀÇ
¡®secure¡¯´Ü¾î¸¦ ¡®insecure¡¯·Î º¯°æÇÑ´Ù. ÀÌ·¸°Ô µÇ¸é ½Ì±Û À¯Àú ¸ðµå·Î µé¾î°¥¶§ root
Æнº¿öµå¸¦ ÀÔ·ÂÇØ¾ß ÇÑ´Ù. ÇØ´ç ¶óÀÎÀº ´ÙÀ½°ú °¥´Ù.
console none unknown off insecure
¶ÇÇÑ ÄÜ¼Ö º¸¾ÈÀ» ¼³Á¤ÇÏ°í root Æнº¿öµå¸¦ Àش´ٸé, Æнº¿öµå¸¦ ÃʱâÈÇϱâ À§ÇØ fixit
Ç÷ÎÇǸ¦ »ç¿ëÇØ¾ß ÇÑ´Ù. ÀÌ´Â ½Ì±Û À¯Àú ¸ðµå·Î Á¢¼ÓÇÏ°Ô µÇ¸é Æнº¿öµå¸¦ º¯°æÇÒ ¼ö ¾ø±â
¶§¹®ÀÌ´Ù.
ÇÁ·Î¼¼½º ¾îÄ«¿îÆÃ
¸Ó½Å¿¡¼ ¹«½¼ÀÏÀÌ ÀϾ´ÂÁö Á¤È®È÷ ¾Æ´Â °ÍÀº Áö±ØÈ÷ ÁÁÀº ÀÏÀÌ¸ç ¸Ó½Å¿¡¼ ÇÁ·Î¼¼½º
¾îÄ«¿îÆÃÀ» enableÇϵµ·Ï ±ÇÀåÇÑ´Ù. ÀÌ ±â´ÉÀ» »ç¿ëÇÏ¿© »ç¿ëÀÚ°¡ ½ÇÇàÇÑ ¸í·ÉÀ» »ìÆ캼
¼ö ÀÖÀ¸¸ç, ¶ÇÇÑ ¾î¶² ¹®Á¦µéÀ» µð¹ö±ëÇÒ ¶§ ²Ï À¯¿ëÇϱ⵵ ÇÏ´Ù. ¾à°£ÀÇ ºÎÇÏ°¡ °É¸®Áö¸¸
ÀϹÝÀûÀ¸·Î ÀúÇÏµÈ ¼º´ÉÀ» ¾Ë¾ÆÂ÷¸± ¼ö ÀÖ´Â Á¤µµ´Â ¾Æ´Ï´Ù. EnableÇϱâ À§Çؼ ´Ü¼øÈ÷
´ÙÀ½ÀÇ ¸í·ÉÀ» ½ÇÇàÇÑ´Ù.
secure-me (1) : touch /var/account/acct
secure-me (2) : accton /var/account/acct
ÀçºÎÆà ÈÄ¿¡µµ °è¼Ó ¼³Á¤À» À¯ÁöÇϱâ À§Çؼ´Â ¾Æ·¡ ¼³Á¤À» /etc/rc.conf¿¡ Ãß°¡Ç϶ó.
accounting_enable="YES"
¾îÄ«¿îÆÃÀÌ enableµÇ¸é lastcomm(1)°ú sa(8)¸¦ »ç¿ëÇÏ¿© ÇÁ·Î¼¼½º ¾îÄ«¿îÆÃ
µ¥ÀÌŸº£À̽º¿¡¼ À¯¿ëÇÑ Åë°èÀڷḦ ¾òÀ» ¼ö ÀÖ´Ù.
o ipfw
ipfw´Â ÀÌ ¹®¼ÀÇ ¹üÀ§¸¦ ¹þ¾î³ª±â´Â ÇÏÁö¸¸ ¸Ó½ÅÀ» ¾ÈÀüÇÏ°Ô ÁöÅ°°íÀÚ ÇÒ °ÍÀ̸ç ipfw¸¦
»ç¿ëÇÏ¿© °ø°Ý ÆÐÅÏ¿¡ °üÇÑ Á¤º¸¸¦ ¾ò°íÀÚ ÇÒ °ÍÀÌ´Ù. ¶§¶§·Î ´ç½ÅÀÇ ¸Ó½Å¿¡ °ü½ÉÀ» °®´Â
´©±º°¡°¡ °ü½É ÀÌ»óÀÇ Àǵµ¸¦ °®´ÂÁö¸¦ ¾Ë·ÁÁÙ ¼öµµ ÀÖ´Ù. Ipfw(8) man page¸¦ Âü°íÇ϶ó.
¸ÞÀÏ ¾ó¶óÀ̾
ÀÚ½ÅÀÇ ½Ã½ºÅÛ¿¡¼ ÀϾ´Â ÀϵéÀ» °¨½ÃÇ϶ó. FreeBSD´Â ÀÏ/ÁÖ/´Þ ´ÜÀ§·Î µ¿ÀÛÇÏ´Â ¸¹Àº
½ºÅ©¸³Æ®¸¦ °¡Áö¸ç(periodic(8)ÀÇ man page¿Í /etc/periodic ÆÄÀÏÀ» »ìÆ캸¶ó) ÀÌ
½ºÅ©¸³Æ®µéÀÌ ÃßÃâÇÏ´Â Á¤º¸µéÀº SUID ÇÁ·Î±×·¥À̳ª Ä¿³Î ¸Þ½ÃÁö ±×¸®°í ´Ù¸¥ À¯¿ëÇÑ
Á¤º¸¿Í °°Àº ½Ã½ºÅÛ¿¡ °üÇÑ °ÍµéÀÌ´Ù. ÀÌ ¶§¹®¿¡ ÀÌ·¯ÇÑ Á¤º¸µéÀ» ¸ÞÀÏ·Î ¹Þ¾Æº¸´Â °ÍÀ̸ç
½ºÅ©¸³Æ®µéÀÇ Ãâ·ÂÀÌ root °èÁ¤À¸·Î ¹ß¼ÛµÇÁö¸¸ ¿©·¯°³ÀÇ À̸ÞÀÏ ÁÖ¼Ò·Î ¹ß¼ÛÇÒ ¼öµµ ÀÖ´Ù.
/etc/mail/aliases¸¦ ¼öÁ¤ÇÏ¿© ¾Æ·¡¿Í °°Àº ÇàÀ» Ãß°¡ÇÑ´Ù.
root: localuser,remoteuser at yourdomain.com
·ÎÄà °ü¸®ÀÚ»Ó ¾Æ´Ï¶ó º°µµÀÇ ¸ÞÀÏ ¼¹ö¿¡ À§Ä¡ÇÏ´Â °÷¿¡¼µµ °á°ú¹°À» ¹Þ¾Æ º¼ ¼ö ÀÖ´Ù.
Ä¿³Î º¯°æ
==============
ÇÊ¿äÄ¡ ¾Ê´Ù¸é bpf¸¦ disable »óÅ·ΠÇ϶ó.
FreeBSDÀ» ¼³Ä¡ÇÑ ÈÄ °¡Àå ¸ÕÀú ÇÒ °Í Áß Çϳª´Â Ä¿³Î ÄÄÆÄÀÏÀÌ´Ù. °ø°ÝÀÚ°¡ ³×Æ®¿öÅ©
Ä«µå¸¦ Á¤»óÀûÀÎ ¿äû¿¡ ÀÀ´äÇÒ ¼ö ¾ø´Â »óÅ·Π¸¸µé ¼ö Àֱ⠶§¹®¿¡ Ä¿³Î¿¡¼ disable
»óÅ·Π¼³Á¤ÇÏ´Â °ÍÁß Çϳª°¡ bpf ÀåÄ¡ÀÌ´Ù. ¼¹ö ÀÚü°¡ À§Çè¿¡ ³õ¿© Àֱ⠶§¹®¿¡
À¯¿ëÇÏ´Ù. °£´ÜÈ÷ Ä¿³Î ÆÄÀÏ¿¡¼ ´ÙÀ½ ÇàÀ» ÁÖ¼®Ã³¸®ÇÏ¸é µÈ´Ù.
#pseudo-device bpf #Berkeley packet filter
DHCP¸¦ »ç¿ëÇÏ´Â »ç¿ëÀÚ´Â bpf¸¦ diableÇÏ¸é ¾ÈµÈ´Ù. BPF¸¦ diable»óÅ·Π¼³Á¤Çϸé
snort¿Í °°Àº ÇÁ·Î±×·¥¿¡ ¿µÇâÀ» ÁÙ °ÍÀÌ´Ù.
¶ÇÇÑ ÀÌ ¿É¼Ç¿¡ ipfw, ipfilter¸¦ Ãß°¡ÇÒ ¼ö ÀÖÀ¸¸ç µ¿½Ã¿¡ ÄõÅͼ³Á¤À» Áö¿øÇÒ ¼ö ÀÖ´Ù.
Ctrl-Alt-Del »ç¿ë±ÝÁö
¹°¸®Àû Á¢±ÙÀÌ °¡´ÉÇÑ »ç¿ëÀÚ°¡ Ctrl-Alt-Del Å°¸¦ »ç¿ëÇÏ¿© ½Ã½ºÅÛÀ» ÀçºÎÆÃÇÏÁö ¸øÇÏ°Ô
ÇÒ ¼ö ÀÖ´Ù. ´ÙÀ½À» Ä¿³Î ÆÄÀÏ¿¡ Ãß°¡Çϱ⸸ Ç϶ó.
options SC_DISABLE_REBOOT # disable reboot key sequence
ÀÌ ¼³Á¤Àº ¸ðµç »ç¿ëÀÚ°¡ ½Ã½ºÅÛÀ» ÀçºÎÆÃÇÏ´Â °ÍÀ» ¹æÁöÇÑ´Ù´Â °ÍÀ» ¸í½ÉÇ϶ó. ¶ÇÇÑ
ÄܼÖÀ» insecure·Î ¼³Á¤Çß´Ù¸é ÀçºÎÆÃÇÏ¿© root Æнº¿öµå¸¦ º¯°æÇÏÁö ¸øÇÏ°Ô ÇÑ´Ù. Áï,
¹°¸®ÀûÀ¸·Î Á¢±ÙÇÒ ¼ö ÀÖ´Â ´©±º°¡°¡ ¾ÇÀÇÀûÀÎ ÀÏÀ» ÇÏ°íÀÚ ÇÑ´Ù¸é ´ç½ÅÀº »ó´çÇÑ °ï¶õ¿¡
óÇÏ°Ô µÈ´Ù.
o Quota Support
ÆÄÀÏ ½Ã½ºÅÛÀÌ ÄõÅ͸¦ Áö¿øÇϱâ À§Çؼ´Â Ä¿³Î¿¡ ¿É¼ÇÀ» enableÇØ¾ß ÇÑ´Ù. ¾Æ·¡ÀÇ
¿É¼ÇÀ¸·Î À̸¦ ¼³Á¤ÇÒ ¼ö ÀÖ´Ù.
options QUOTA #enable disk quotas
o ipfw/ipf support
¹æȺ® Áö¿ø ¶ÇÇÑ Ä¿³Î¿¡ Ãß°¡ÇÒ ¼ö ÀÖ´Ù. ¹«¾ùÀ» Ãß°¡ÇÒ Áö´Â Àڽſ¡°Ô ´Þ·Á ÀÖ´Ù.
FreeBSD´Â ±âº» ½Ã½ºÅÛ¿¡ ipfw¿Í ipf°¡ Æ÷ÇԵȴÙ. ÀÚ¼¼ÇÑ »çÇ×Àº LINT¸¦ Âü°íÇ϶ó.
»ç¿ëÀÚ °èÁ¤ °ü¸®
======================
»ç¿ëÀÚ ÄõÅÍ
ÀÓÀÇÀÇ ÆÄÀϽýºÅÛ¿¡¼ »ç¿ëÀÚ ÄõÅ͸¦ ¼³Á¤ÇÔÀ¸·Î½á ÇÑ »ç¿ëÀÚ°¡ µð½ºÅ© °ø°£À»
¼Ò¸ðÇعö¸®´Â À§ÇèÀ» ´ú ¼ö ÀÖ´Ù. »ç¿ëÀÚ°¡ ¸ðµç µð½ºÅ© °ø°£À» Àâ¾Æ¸ÔÀ» °¡´É¼ºÀÌ ÀÖ´Â
°÷¿¡ ¼³Á¤Ç϶ó. ¶ÇÇÑ µð½ºÅ© »ç¿ëÀ» È¿À°ÀûÀ¸·Î °ü¸®ÇÒ ¼ö ÀÖ´Â ÀåÁ¡ÀÌ ÀÖ´Ù.
ÄõÅÍ´Â Ä¿³Î¿¡¼ Áö¿øÇϵµ·Ï ÄÄÆÄÀÏÇÑ °æ¿ì¿¡ »ç¿ëÇÒ ¼ö ÀÖ´Ù. ÄõÅ͸¦ Áö¿øÇϵµ·Ï
ÄÄÆÄÀÏÇÑ °æ¿ì¿¡´Â ´ÙÀ½À» /etc/rc.conf¿¡ Ãß°¡ÇØ¾ß ÇÒ °ÍÀÌ´Ù.
enable_quotas="YES"
check_quotas="YES"
edquota(8), qoutacheck(8), qoutanon(8), qoutaoff(8), repqouta(8)¸¦ »ç¿ëÇÏ¿© ÄõÅÍ
ÆÄÀϽýºÅÛÀ» °ü¸®ÇÒ ¼ö ÀÖ´Ù.
Ȩ µð·ºÅ丮 ±ÇÇÑ
»ç¿ëÀÚ°¡ ¹«¾ùÀ» ¿¶÷ÇÒ ¼ö ÀÖ´ÂÁö ¾Ë°í ÀÖ¾î¾ß ÇÑ´Ù. »ç¿ëÀÚ°¡ RootÀÇ crontabÀ»
¿¶÷Çϱ⸦ ¿øÄ¡¾Ê´Â °Í°ú ¸¶Âù°¡Áö·Î root µð·ºÅ丮ÀÇ ³»¿ëÀ» ¿¶÷ÇÒ ¼ö ÀÖ´Â °É ¿øÄ¡¾ÊÀ»
°ÍÀÌ´Ù. ¡®chmod 0750 /root¡¯¸í·ÉÀº wheel ±×·ìÀÇ »ç¿ëÀÚ°¡ ¾Æ´Ï¶ó¸é µð·ºÅ丮ÀÇ ³»¿ëÀ»
º¼ ¼ö ¾øÀ» °ÍÀÌ´Ù.
¶ÇÇÑ ÆÄÀÏ ±ÇÇÑÀ» 0700À¸·Î ¼³Á¤ÇÏ¿© »ç¿ëÀÚ È¨ µð·ºÅ丮µéÀ» Á¦ÇÑÇÒ ¼ö ÀÖ´Ù. ÀÌ·¸°Ô
µÇ¸é »ç¿ëÀÚµéÀº ÀÚ½ÅÀÇ È¨ µð·ºÅ丮¸¦ ´Ù¸¥ »ç¿ëÀÚ°¡ ¿¶÷ÇÒ ¼ö ÀÖµµ·Ï Á÷Á¢ º¯°æÇØ
ÁÖ¾î¾ß ÇÑ´Ù.
ÇÁ·Î¼¼½º ¼û±â±â
ps(1) ¸í·ÉÀ» »ç¿ëÇÏ¿© »ç¿ëÀÚ°¡ º¼ ¼ö ÀÖ´Â ÇÁ·Î¼¼½º¸¦ Á¦ÇÑÇÒ ¼ö ÀÖ´Ù. ±âº»ÀûÀ¸·Î
FreeBSD ´Â ÀڱⰡ ¼ÒÀ¯ÇÏÁö ¾Ê´Â ÇÁ·Î¼¼½º¸¦ Æ÷ÇÔÇÏ¿© ½Ã½ºÅÛÀÇ ¸ðµç ÇÁ·Î¼¼½º¸¦ º¼ ¼ö
ÀÖ´Ù. Àڱ⠼ÒÀ¯ÀÇ ÇÁ·Î·¹½º¸¸À» ¿¶÷ÇÒ ¼ö ÀÖµµ·Ï ÇÏ°íÀÚÇÑ´Ù¸é kern.ps_showallprocs
sysctl º¯¼ö¸¦ º¯°æÇ϶ó. ½Ã½ºÅÛÀÌ ½ÇÇàÁßÀÎ »óÅ¿¡¼ ¾Æ·¡ÀÇ ¸í·ÉÀ¸·Î º¯°æÇÒ ¼ö ÀÖ´Ù.
sysctl kern.ps_showallprocs=0
ÀçºÎÆà ÈÄ¿¡µµ º¯°æ»çÇ×À» À¯ÁöÇÏ°íÀÚ ÇÑ´Ù¸é /etc/sysctl.conf¿¡ ¾Æ·¡¿Í °°ÀÌ Ãß°¡ÇÑ´Ù.
kern.ps_showallprocs=0
root´Â kern.ps_showallprocs º¯¼ö¿¡ ¿µÇâÀ» ¹ÞÁö ¾Ê°í ¸ðµç ÇÁ·Î¼¼½º¸¦ º¼ ¼ö ÀÖ´Ù.
ÀÌ ¹æ¹ýÀº ps(1)ÀÇ Ãâ·ÂÀ» Á¦ÇÑÇÏ´Â ¹Ý¸é °ø°ÝÀÚ°¡ ¾î¶² ÇÁ·Î¼¼½º°¡ ½ÇÇàµÇ°í ÀÖ´ÂÁö
¾Ë¾Æ³»±â À§ÇØ /proc¸¦ Á¢±ÙÀ» ¸·À» ¼ö´Â ¾ø´Ù. ÀÌ¿¡ °üÇÑ Á¤º¸´Â ¡®Disabling procfs¡¯¸¦
»ìÆ캸¶ó.
o Disabling procfs
procfs¸¦ »ç¿ëÇÏ¿© ½ÇÇàµÇ°í ÀÖ´Â ÇÁ·Î¼¼½º¿¡ °üÇÑ Á¤º¸¸¦ ¾òÀ»¼ö ÀÖ´Ù. ÀÌ°ÍÀº ¶ÇÇÑ
ps(1), w(1), truss(1)¿Í °°Àº ÇÁ·Î±×·¥ÀÌ ¿ÏÀüÈ÷ µ¿ÀÛÇϱâ À§ÇØ ÇÊ¿äÇÏ´Ù. Procfs°¡
Æ÷ÇÔÇÏ°í ÀÖ´Â ¸¹Àº Á¤º¸µé·Î ÀÎÇØ ¸¹Àº °ü¸®ÀÚµéÀÌ ÀÌ ÆÄÀϽýºÅÛÀ» disable·Î ¼³Á¤ÇÏ´Â
µ¥ À¯ÀÍÇÏ´Ù°í »ý°¢ÇÏ°í ÀÖ´Ù.
ÀÌ ¼³Á¤Àº º»Àο¡ ´Þ·ÁÀÖ´Ù. ¿øÄ¡ ¾ÊÀ¸¸é disable »óÅ·Π¼³Á¤ÇÒ ÇÊ¿ä´Â ¾ø´Ù.
Procfs¸¦ disable»óÅ·Π¼³Á¤Çϱâ À§Çؼ´Â /etc/fstab¿¡¼ procfs ÆÄÀϽýºÅÛ¿¡ NOAUTO
¿É¼ÇÀ» Ãß°¡Ç϶ó. ÇÊ¿äÇÏ´Ù¸é ¼öµ¿À¸·Î ¸¶¿îÆ®ÇÒ ¼öµµ ÀÖ´Ù.
o login.conf(5)
¡®login classes¡¯¿¡ »ç¿ëÀÚ¸¦ Ãß°¡ÇÏ¿© »ç¿ëÀÚ°¡ »ç¿ëÇÒ ¼ö ÀÖ´Â CPU/memory µîÀ»
Á¦ÇÑÇÒ ¼ö ÀÖ´Ù. ÀÌ ±â´ÉÀº ·ÎÄà DoS °ø°ÝÀÚ¸¦ Á¦ÇÑÇÏ´Â µ¥ ¸Å¿ì È¿°úÀûÀÌ´Ù. ´õ ÀÚ¼¼ÇÑ
»çÇ×Àº login.conf(5) man page¸¦ Âü°íÇ϶ó.
ÃֽŠ»óÅ·ΠÀ¯ÁöÇ϶ó.
===============
ÆÐÅ°Áö¸¦ ÃÖ½ÅÀ¸·Î À¯ÁöÇ϶ó.
¿ÜºÎ¿¡¼ ³ëÃâµÇ¾î ÀÖ°í Á¢±Ù°¡´ÉÇÑ ´ë¸óµéÀ» ½ÇÇàÇÒ ¶§´Â ÀÚ½ÅÀÇ ÆÐÅ°Áö°¡ Ç×Ç× ÃÖ½Å
»óÅ·ΠÀ¯ÁöÇÏ´Â °ÍÀº Áß¿äÇÏ´Ù. ¼³Ä¡µÇ ÆÐÅ°ÁöÀÇ »õ ¹öÀüÀÌ ³ª¿À¸é Æ÷Æ® Æ®¸®¸¦ ÀÌ¿ëÇÏ¿©
Ç×»ó ÃֽŠ¹öÀüÀ» À¯ÁöÇ϶ó. ´ëºÎºÐÀÇ °æ¿ì ¸îºÐµµ °É¸®Áö ¾ÊÁö¸¸ °ñÄ¡°Å¸®·ÎºÎÅÍ ÇعæµÇ±â
À§ÇÑ ÃÖ¼ÒÇÑÀÇ ³ë·ÂÀÌ´Ù. º¸¾È ±Ç°í¿¡ °üÇؼ´Â bugtraq°ú °°Àº ¸®½ºÆ®¸¦ »ìÆ캸´Â °Íµµ
µµ¿òÀÌ µÉ °ÍÀÌ´Ù.
ÆÐÅ°Áö¸¦ Ç×»ó ÃֽŠ»óÅ·ΠÀ¯ÁöÇϱâÀ§Çؼ FreeBSD ÇÚµåºÏÀ» Âü°íÇϱ⠹ٶõ´Ù.
http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/
¿î¿µÃ¼Á¦¸¦ ÃֽŠ»óÅ·ΠÀ¯ÁöÇ϶ó.
ºñ½ÁÇϱâ, FreeBSD ÀÚü¸¦ ÃֽŠ»óÅ·ΠÀ¯ÁöÇÏ´Â °Í ¶ÇÇÑ Áß¿äÇÏ´Ù. ¼Ò½º Æ®¸®¸¦ ÃÖ½Å
»óÅ·ΠÀ¯ÁöÇÏ°í »õ º¸¾È ÆÐÄ¡°¡ ³ª¿À¸é ¡®make world¡¯¸¦ ¼öÇàÇ϶ó. º¸¾È ±Ç°í¿¡
°üÇؼ´Â bugtraq°ú °°Àº ¸®½ºÆ®¸¦ »ìÆ캸´Â °Íµµ µµ¿òÀÌ µÉ °ÍÀÌ´Ù.
¿î¿µÃ¼Á¦¸¦ Ç×»ó ÃֽŠ»óÅ·ΠÀ¯ÁöÇϱâÀ§Çؼ FreeBSD ÇÚµåºÏÀ» Âü°íÇϱ⠹ٶõ´Ù.
http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/
¶ÇÇÑ FreeBSD º¸¾È ±Ç°í ¸ÞÀϸ®½ºÆ®¿¡ °¡ÀÔÇϵµ·Ï Ç϶ó.
http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/eresources.html
Á¶½É¼ºÀ» °®´Â´Ù.
===========
ÀÌ»ó ¡Èĸ¦ ¹ß°ßÇßÀ» ¶§ ½Ã½ºÅÛ¿¡¼ ³¸¼± Á¡µéÀ» Ž»öÇØ¾ß ÇÑ´Ù. ƯÈ÷ ´ÙÀ½°ú °°À» ¶§
ÁÖÀÇÇÑ´Ù.
ÃÖ±Ù ÀçºÎÆÃµÈ ½Ã½ºÅÛ
½Ã½ºÅÛÀÌ ÀçºÎÆõǾú´Ù¸é ½É°¢ÇÑ ¹«¾ð°¡°¡ º¯°æµÇ¾ú´ÂÁö¸¦ üũÇ϶ó. ƯÈ÷ ½Ã½ºÅÛ
º¸¾È·¹º§¿¡ ÁÖÀǸ¦ ±â¿ï¿©¶ó. ÀÌ´Â °ø°ÝÀÚ°¡ Ä¿³ÎÀ̳ª KLMµî°ú °°Àº °ÍÀ» ¼öÁ¤Çϱâ À§ÇØ
º¯°æÇÒ °ÍÀ̸ç, º¯°æ ºÒ°¡ ½Ã½ºÅÛÀ̳ª Ãß°¡ Àü¿ë Ç÷¡±× ½Ã½ºÅÛÀ» Åë°úÇÒ ¼ö ÀÖ´Â ±âȸ¸¦
°®°Ô µÇ±â ¶§¹®ÀÌ´Ù.
SUID ÆÄÀϵéÀÇ º¯°æ
ÀÏ´ÜÀ§ ·¹Æ÷Æ®´Â SUID ÆÄÀÏ¿¡¼ º¯È¿¡ °üÇÑ Á¤º¸¸¦ ´ã°í ÀÖ´Ù. ÀÌ ·¹Æ÷Æ®¿¡ »ó´çÇÑ
°ü½ÉÀ» ±â¿ï¿©¶ó.
Áß¿äÇÑ ½Ã½ºÅÛ ÆÄÀÏ¿¡¼ÀÇ º¯°æ
Ä¿³Î°ú °°Àº Áß¿äÇÑ ½Ã½ºÅÛ ÆÄÀϵéÀÇ º¯°æÀ» Ç×»ó ÁÖÁöÇ϶ó. FreeBSD¸¦ ¼³Ä¡ÇÒ ¶§, À̵é
ÆÄÀÏÀÇ MD5 °ªÀ» ±¸ÇÑÈÄ ¾ÈÀüÇÑ °÷¿¡ ÀúÀåÇ϶ó. ±×¸®°í ¼ö½Ã·Î ÀÌ °ªÀ» ºñ±³Ç϶ó. ¾Ë¼ö
¾ø´Â ÀÌÀ¯·Î ÀÏÄ¡ÇÏÁö ¾Ê´Â´Ù¸é Á¶»çÇ϶ó. À̸¦ À§ÇØ /usr/ports/security/tripwire¸¦ »ç¿ëÇÒ
¼ö ÀÖ´Ù. ¹°·Ð ´Ù¸¥ ÅøÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù.
Topics of Interest
==================
´ç½ÅÀÌ Áß¿äÇÏ°Ô »ý°¢ÇÏ´Â ´Ù¸¥ ÅäÇȵéÀÌ ÀÖÁö¸¸ ±×°ÍµéÀº ÀÌ ¹®¼ÀÇ ¹üÀ§¸¦ ¹þ¾î ³´Ù.
o Jail
jail ȯ°ßÀº chroot(8)¿Í ºñ½ÁÇÏÁö¸¸ ´õ ¸¹ÀÌ Çâ»óµÇ´Â °ÍÀ» °æÇèÇÒ ¼ö ÀÖ´Ù. JailÀÌ
¹«¾ùÀÌ¸ç ¾î¶»°Ô »ç¿ëÇÏ´Â Áö¿¡ ´ëÇÑ ¼³¸íÀº jail(8) man page¿¡¼ ãÀ» ¼ö ÀÖÀ¸¸ç ¾Æ·¡
¸µÅ©¿¡¼µµ º¼ ¼ö ÀÖ´Ù.
http://docs.freebsd.org/44doc/papers/jail/jail.html
FreeBSD º¸¾È¿¡ °üÇÑ ´Ù¸¥ ¹®¼µé
======================================
´ÙÀ½ »çÀÌÆ®µéÀº FreeBSD º¸¾È¿¡ °üÇÑ Á¤º¸¸¦ °¡Áö°í ÀÖ´Ù.
- http://www.freebsd.org/security/
- http://www.freebsd.org/~jbk/howto.html
- http://www.subterrain.net/presentations
FreeBSD º¸¾È¿¡ µµ¿òÀÌ µÇ´Â Åøµé
- http://www.openssh.com/ - ÇöÀç FreeBSD ±âº» ¹èÆ÷¿¡ Æ÷ÇԵǾî ÀÖ´Ù..
´Ù¸¥ À¯¿ëÇÑ ÇÁ·Î±×·¥µé
- http://www.ncftpd.com/ - ¾ÈÀüÇÑ FTP ´ë¸ó
°¨»çÀÇ ¸»
======
ÀÌ ¹®¼¸¦ °³¼±ÇÒ ¼ö ÀÖ´Â Á¦¾ÈÀ» ÇÏ°í ¹®Á¦Á¡À» ÁöÀûÇØÁØ ´ÙÀ½ÀÇ »ç¶÷µé¿¡°Ô °¨»çÇÏ°í
½Í´Ù.
Hiten Pandya (who is converting this document to DocBook for addition as an
article on the FreeBSD website)
Gary W. Swearingen
Tom Rhodes
Nick Cleaton
Sean Lewis
Jean-Michel Amblat
Dominic Marks
Seth
Chris Phillips
Sebastian Benner
Trevor Johnson
James Lawrence
|
|
Page Loading [ 0.12 Sec ]
SQL Time [ 0.05 Sec ]
|
|
|