ÆÐÅ¶Ææ½º(PacketFence)¸¦ ÀÌ¿ëÇÑ NAC¿¡´Â ¿ÀǼҽº Ä¿¹Â´ÏƼ°¡ ÇØ´äÀÌ´Ù. ±×·¯³ª ÀÌ´Â Ä¿¸Çµå¶óÀο¡¼ ÀÌ·ç¾îÁö°í ¶Ç ¼ö¸¹Àº Ä¿¸Çµå°¡ ÀÛµ¿Çϱ⠶§¹®¿¡ ¸Å¿ì Èûµç ÀÛ¾÷ÀÌ´Ù.
¾î¶»°Ô ½ÃÀÛÇϳª?
¿ì¼±, óÀ½À¸·Î ÇØ¾ß ÇÒ ÀÏÀº ¿ìºÐÅõ ¼¹ö 6.06LTS¸¦ ¼³Ä¡ÇÏ´Â °ÍÀÌ´Ù. ÀÌ´Â 2011³â±îÁö Áö¿øµÈ´Ù´Â Èñ¼Ò½Äµµ ÀÖÀ¸´Ï ¸±¸®½º µÇÁö ¾ÊÀº º¸¾È ¼öÁ¤¿¡ ´ëÇÑ °ÆÁ¤Àº ÇÊ¿ä ¾ø´Ù.
¼³Ä¡´Â ¹Ýµå½Ã ÅØ½ºÆ®·Î¸¸ ÇØ¾ßÇÑ´Ù. ¿ìºÐÅõ¸¦ »ç¿ëÇϱ⿡ sudoÄ¿¸Çµå°¡ ¸¹ÀÌ ÇÊ¿äÇÒ °ÍÀÌ´Ù. Root ÆÐ½º¿öµå°¡ ¾øÀ¸´Ï ´ë½Å ¿©·¯ºÐÀÌ ÀÓÀÇ·Î ¸¸µé¾î »ç¿ëÇÒ ¼ö ÀÖ´Ù. ÇÏÁö¸¸ ¿ìºÐÅõ¿Í sudo¸¦ »ç¿ë Çϸé¼, ƯÁ¤ ¾îÇø®ÄÉÀÌ¼Ç ¼³Ä¡¸¦ ÇÒ ¶§ ¹®Á¦°¡ ¸¹ÀÌ ¹ß»ýÇÏ¿© Ç×»ó root ÆÐ½º¿öµå¸¦ ¸¸µå´Â °ÍÀÌ ÁÁ´Ù.
Root ÆÐ½º¿öµå¸¦ ¸¸µé±â À§Çؼ´Â sudo passwd¸¦ µ¹¸®°í ¡®root password¡¯¶ó°í Ä¡¸é µÈ´Ù. ÀÌ·¸°Ô ÇÏ¿© root ÆÐ½º¿öµå¸¦ ¸¸µé°í ³ª¸é, ¼³Ä¡ Áغñ ù ´Ü°è´Â ¿Ï·á´Ù.
SSH¸¦ ÀÌ¿ëÇÏ¿© ¿ø°Ý adminÀ» ¼Â¾÷ÇÏ´Â °ÍÀÌ Ã¹ ¹øÂ° ÀÏÀÌ´Ù. ÀÌ °æ¿ì, ¼¹ö´Â ¿©·¯ºÐÀÌ ¼³Ä¡¸¦ ¿øÇÏ´Â ¼¹öµé°ú´Â ´Ù¸¥ ¼¹öµéÀÌ ÀÖÀ» °ÍÀÌ´Ù. ÀÌ °æ¿ì¿¡, sudo apt-get install ssh openssh-server Ä¿¸Çµå¸¦ Ä£´Ù. ÀÌ·¸°Ô ÇÏ´Â °¡Àå Å« ÀÌÀ¯´Â ±¸±Û°ú °°Àº °ÍÀÌ ÇÊ¿äÇÒ ¶§, ¼¹öµé »çÀÌ¿¡¼ ½±°Ô ½ºÀ§Äª ÇÒ ¼ö Àֱ⠶§¹®ÀÌ´Ù. Ssh°¡ ¼³Ä¡ µÇ¾úÀ¸¸é, ³×Æ®¿öÅ©¿¡ Á¢¼ÓµÇ¾î ÀÖ°í, SSH°¡ ¼³Ä¡µÈ ¿ìºÐÅõ ¼¹ö¿¡ ·Î±×ÀÎ ÇÑ´Ù.
¼ÒÇÁÆ®¿þ¾î ¼³Ä¡¸¦ À§ÇÑ »çÀüÁغñ
ÀνºÅç Çϱâ À§ÇØ apt-get¸¦ Ä£´Ù. ¹°·Ð, ±× Àü¿¡ Àû´çÇÑ ¼ÒÇÁÆ®¿þ¾î¸¦ ãÀ» ¼ö ÀÖ´Â ¼Ò½º¸¦ ÆíÁýÇØ¾ß ÇÑ´Ù.
¿À¸®Áö³Î ¼Ò½º¸®½ºÆ® ¹é¾÷ :
sudo cp /etc/apt/sources.list /etc/apt/sources.list.BACKUP
ÀÌÁ¦, source.list ÆÄÀÏ¿¡ ÀÖ´Â ÄÞ¸àÆ® ¾ø´Â ¸®Æ÷ÁöÅ丮 ¸®½ºÆ® Àüü¿Í ¼Ò½º ¸®½ºÆ®·Î °¡¾ß ÇÑ´Ù. /etc/apt·Î °¡¼, source.list ÆÄÀÏÀ» ¿°í, #ÀÌ ÀÖ´Â Àüü¸¦ Áö¿ì°Å³ª ¾Æ·¡ Ä¿¸Çµå¸¦ Ä£´Ù.
sudo sed -i -e "s/# deb/deb/g" /etc/apt/sources.list
±×¸®°í sudo apt-get update Ä¿¸Çµå·Î ¾÷µ¥ÀÌÆ® ÇÑ´Ù.
¾ÖÇø®ÄÉÀÌ¼Ç ¼³Ä¡ Àü ¸¶Áö¸· ÀÛ¾÷Àº ¼Ò½º¸¦ ÄÄÆÄÀÏ ÇØ¾ß ÇÑ´Ù. ¿ìºÐÅõ 6.06 ¼¹ö´Â ÄÄÆÄÀÏÀ» ÇÒ ¼ö ¾øÀ¸¹Ç·Î, ¼¹ö°¡ ÄÄÆÄÀÏ ÇÒ ¼ö ÀÖ°Ô ¸¸µé¾î¾ß ÇÑ´Ù.
sudo apt-get install build-essential
ÀÌÁ¦, ¼³Ä¡ Áغñ°¡ ´Ù µÇ¾ú´Ù.
Snort
¸ÕÀú ħÀÔ °¨Áö ÆÐŰÁö¸¦ ¼³Ä¡ÇØ¾ß ÇÑ´Ù. Snort´Â ¸®´ª½º Ç¥ÁØÀÌ¸ç ÆÐÅ¶Ææ½º¿¡¼ ÃßõÇϰí ÀÖ´Ù.
sudo apt-get install snort
sudo /etc/init.d/snort Ä¿¸Çµå¸¦ Ãļ Snort¸¦ Áß´Ü ÇÒ Çʿ䰡 ÀÖ´Ù. ½Ã½ºÅÛÀÌ ºÎÆÃ ÇÏ´Â µ¿¾È Snort´Â ÀÛµ¿ ÇÒ Çʿ䰡 ¾ø´Ù´Â °ÍÀ» È®½ÇÈ÷ ÇØ µÎ±â ¹Ù¶õ´Ù. ±×·¸Áö ¾ÊÀ¸¸é, ÆÐÅ¶Ææ½º°¡ ½ÃÀÛÇÏÁö ¾Ê´Â´Ù. ÀÌ·¸°Ô Çϱâ À§Çؼ, update-rc.d Ä¿¸Çµå¸¦ »ç¿ëÇÑ´Ù. Sudo update-rc.d-f snort remove. ÀÌ·¸°Ô Çϸé rc.d¿¡¼ Snort°¡ Á¦°Å µÇ¾ú´Ù.
MySQL
Sudo pat-get install mysql-server Ä¿¸Çµå¸¦ »ç¿ëÇØ¼ MySQLÀ» ¼³Ä¡ÇÑ´Ù. ÀÌÀü¿¡ ¸»ÇÑ root ÆÐ½º¿öµå¸¦ »ç¿ëÇØ¾ß Çϴµ¥, sudo passwd¸¦ Ä¡°í root ÆÐ½º¿öµå¸¦ µÎ ¹ø Ä£´Ù. ÀÌ·¸°Ô Çϸé, pseudo-rootÀ¯Àúó·³ ·Î±× ÇÒ ¼ö ÀÖ´Ù.
ÀÌÁ¦ ÇØ¾ß ÇÏ´Â ÀÏÀº MySQLÀÇ ÆÐ½º¿öµå¸¦ º¯°æÇÏ´Â °ÍÀÌ´Ù. µðÆúÆ® ÆÐ½º¿öµå´Â ºñ¾îÀÖ´Ù. À̰ÍÀº ¾ÈÀüÇÏÁö ¾Ê°í ÆÐÅ¶Ææ½º´Â MySQLÀÇ root ÆÐ½º¿öµå¸¦ ¿ä±¸ÇÑ´Ù. ±×·¡¼ mysql –u root –p¸¦ Ä¡°í [Enter]¸¦ Ä£´Ù. ±×·¯¸é ÇÁ·ÒÇÁÆ®¿¡ mysql> À̶ó°í µÈ´Ù. ±×·¯¸é ÀÌÁ¦ Ä¿¸Çµå¸¦ ź´Ù.
SET PASSWORD FOR root@localhost=PASSWORD('NEWPASSWORD');
NEWPASSWORD´Â MySQLÀÇ rootÀ¯Àú¿¡¼ »ç¿ëÇÒ »õ·Î¿î ÆÐ½º¿öµåÀÌ´Ù.
Apache and PHP
¼³Ä¡ ´Ü°è´Â ´ÙÀ½°ú °°´Ù.
sudo apt-get install apache2 libapache2-mod-proxy-html
ÀÌ·¯¸é, Apach¿Í Proxy ¸ðµâÀÌ ¼³Ä¡µÇ¾ú°í, ÀÌÁ¦ PHP¸¦ ¼³Ä¡ÇÏÀÚ.
sudo apt-get install libapache2-mod-php5 php-pear php5-mysql php5-gd
ÀÌ·¸°Ô Çϸé ÇÊ¿äÇÑ PHPÀÇ ¸ðµç °ÍÀ» ¼³Ä¡ ÇÒ °ÍÀÌ´Ù.
ÀÌÁ¦ ºÎÆÃ ½Ã Apache¸¦ º¸È£Çϱâ À§ÇÏ¿©, Apache ¼¹ö¸¦ Áß´ÜÇØ¾ß ÇÑ´Ù.
¸ÕÀú, sudo /etc/init.d/apache2 stopÀ» µ¹¸®¸é, Apache°¡ Áß´Ü µÇ°í, sudo update-rc.d-f apache2 remove¸¦ µ¹·Á¼ rc.d ¸®½ºÆ®¿¡¼ Apache¸¦ Á¦°Å ÇÑ´Ù.
Perl and Perl ¸ðµâ
sudo apt-get install perl-suid libterm-readkey-perl libconfig-inifiles-perl libnet-netmask-perl
±×¸®°í,
sudo apt-get install libparse-recdescent-perl libnet-rawip-perl libtimedate-perl libwww-perl
ÆÐÅ¶Ææ½º
¸¶Áö¸·À¸·Î ÆÐÅ¶Ææ½º ¾ÖÇø®ÄÉÀ̼ÇÀ» ¼³Ä¡ÇØ¾ß ÇÑ´Ù. ÀνºÅçÀ» À§ÇØ apt-getÀ» »ç¿ë ÇÒ ¼ö´Â ¾øÀ¸³ª ¼Ò½º¸¦ ´Ù¿î ¹Þ¾Æ¼ ¼³Ä¡ÇÏ¸é µÈ´Ù. ÃÖ±Ù¿¡ ¸±¸®½º µÈ ¹öÀüÀº ¾ÈÁ¤ÀûÀÌ¾î¼ wget ¾ÖÇø®ÄÉÀ̼ÇÀ» »ç¿ëÇÏ¸é µÈ´Ù. ¸¸¾à, wgetÀÌ ¾ÈµÇ¸é sudo apt-get install wgetÇÏ¸é µÈ´Ù.
´Ù¿î·Îµå ÁÖ¼Ò´Â:
http://downloads.sourceforge.net/PacketFence/PacketFence-1.6.2.tar.gz,
À̸ç,
sudo cd /usr/local/sudo wget http://downloads.sourceforge.net/PacketFence/PacketFence-1.6.2.tar.gz
tarÆÄÀÏÀ» Ç®±â À§Çؼ´Â,
sudo tar xvzf PacketFence-1.6.2.tar.gz
ÀÌ·¸°Ô Çϸé /usr/local/pf µð·ºÅ丮°¡ »ý¼º µÉ °ÍÀÌ´Ù. /pf µð·ºÅ丮·Î °¡¼ ÀνºÅç·¯¸¦ ½ÃÀÛÇÏ¸é µÈ´Ù.
Sudo ./installer.pl
ÀÌÁ¦ ¿©·¯ºÐÀº ¼³Ä¡ °úÁ¤¿¡¼ ¸¹Àº Áú¹®ÀÌ ÀÖÀ» °ÍÀÌ´Ù. ¸¹Àº ºÎºÐÀº µðÆúÆ®·Î ÁøÇà µÉ °ÍÀÌ´Ù. MySQLÀÇ root ÆÐ½º¿öµå¸¦ ±â¾ïÇØµÎ±â ¹Ù¶õ´Ù. ¶ÇÇÑ ÆäÅ¶Ææ½º ÀνºÅç·¯´Â ¿©·¯ºÐÀÌ ÇÊ¿äÇÑ µ¥ÀÌÅͺ£À̽º¸¦ »ý¼º ÇÒ ¼ö ÀÖ°Ô ÇÑ´Ù. ÆÐÅ¶Ææ½º´Â ¿©·¯ºÐÀÌ Àß ¾Æ´Â phpMyAdminÀ» »ç¿ëÇÑ µ¥ÀÌÅͺ£À̽º »ý¼ºÀº Áö¿ø ÇÏÁö ¾ÊÀ» °ÍÀÌ´Ù.
ÇÁ·Î¼¼½ºÀÇ ¸¶Áö¸· ´Ü°è¸¦ ÀÌÇàÇϱâ Àü¿¡, SSL Certificate¸¦ »ý¼ºÇØ¾ß ÇÑ´Ù.
cd /tmpopenssl req -new > PacketFence.csropenssl rsa -in privkey.pem -out server.keyopenssl x509 -in PacketFence.csr -out server.crt -req server.key -days 365mv server.crt /usr/local/pf/conf/ssl/mv server.key /usr/local/pf/conf/ssl/rm -f PacketFence.csr privkey.pem
À̰ÍÀº ¿©·¯ºÐ Àåºñ¿¡ ±ò²ûÇÑ ¼Æ¼¸¦ ¼³Ä¡ ÇÒ °ÍÀÌ´Ù.
¼³Ä¡°¡ ¿Ï·á µÇ¸é, configurator.plÀ» µ¹·Á¼ ¿©·¯ºÐÀÌ ¿øÇϴ ŸÀÔÀÇ ½Ã½ºÅÛÀ» ±âº»ÀûÀ¸·Î ¼³Á¤ÇÒ ¼ö ÀÖÀ¸¸ç, Á¦°ø µÇ´Â °ÍÀº ´ÙÀ½°ú °°´Ù.
1. Test mode
2. Registration
3. Detection
4. Registration & Detection
5. Registration, Detection & Scanning
6. Session-based Authentication
º»°ÝÀûÀÎ ½Ãµ¿ Àü¿¡ Å×½ºÆ® ¸ðµå¿¡¼ÀÇ Á¡°ËÀ» ÃßõÇÑ´Ù.
¼öÁ¤»çÇ×
¿ìºÐÅõ ¼¹ö¿¡¼ /usr/bin/apache2À» ã´Â °Í ´ë½Å¿¡ /usr/bin/http[¸¦ ã±â ¶§¹®¿¡ ÆÐÅ¶Ææ½ºÀÇ ½ÃÀÛ ½ºÅ©¸³Æ®´Â ApacheÀÇ startup ½ºÅ©¸³Æ®¸¦ ãÀ» ¼ö°¡ ¾ø¾ú´Ù.
ÀÌ ºÎºÐÀÇ ¼öÁ¤À» À§Çؼ, pf.confÆÄÀÏ¿¡¼ [service]¸¦ Ãß°¡ÇØ¾ß ÇÑ´Ù. »ç¿ëÇÏ´Â ¿¡µðÅÍ¿¡¼ /usr/local/pf/conf/pf.confÆÄÀÏÀ» ¿°í ÆÄÀÏ ¸¶Áö¸·¿¡ ¾Æ·¡ ³»¿ëÀ» Ãß°¡ÇÑ´Ù.
[services]httpd=/usr/sbin/apache2
±×·± ´ÙÀ½, /usr/local/pf/conf/templates/httpd.conf ÆÄÀÏÀ» ¿°í,
ServerRoot /usr/lib/apache2 À» Ãß°¡ÇÑ´Ù.
±×¸®°í,
LoadModule php4_module modules/libphp4.so¸¦
LoadModule php4_module /usr/lib/apache2/modules/libphp4.so
¿¡ ¼öÁ¤ÇÑ´Ù.
¼öÁ¤ÇØ¾ß ÇÏ´Â ¶óÀÎÀÌ »ó´çÈ÷ ¸¹ÀÌ ÀÖ´Ù. ¿ìºÐÅõ¿¡¼ ApacheÀÇ ÀνºÅçÀ» ÇÒ ¶§, ÇÊ¿äÇÑ ¸ðµç ¸ðµâÀº /usr/lib/apache2/module structure¸¦ ¹Ý¿µÇØ¾ß ÇÑ´Ù.
µû¶ó¼ /usr/local/pf/conf/templates/httpd.conf Àüü ÆÄÀÏÀº ÀÌ °æ·Î¸¦ ¹Ý¿µÇØ¾ß ÇÑ´Ù. ¶Ç, ´ç½ÅÀº php5 ¸ðµâÀ» À§Çؼ ¶óÀÎuncomment°¡ ÇÊ¿äÇϰí php4¸¦ À§ÇØ comment°¡ ÇÊ¿äÇÏ´Ù.
ÆÐÅ¶Ææ½º ½ÃÀÛ
/usr/local/pf/bin/start Ä¿¸ÇµåÀÇ ±¸µ¿¿¡ ÀÇÇÑ ÀûÀýÇÑ ½ÃÀÛÀÌ µÇ´Â °ÍÀ» È®ÀÎÇØ¶ó. ´ÙÀ½°ú °°Àº °ÍÀ» º¼ ¼ö ÀÖ´Ù.
Checking configuration sanity...service|commandconfig files|startiptables|starthttpd|startpfmon|startpfdetect|startsnort|start
±×·± ´ÙÀ½, ÆÐÅ¶Ææ½º ½Ã½ºÅÛÀ» /usr/local/pf/bin/stop Ä¿¸àµå¸¦ »ç¿ëÇÏ¿© ÁߴܽÃÄѶó.
Startup ½ºÅ©¸³Æ®¸¦ ÀνºÅçÇÏ¿© ¼öÁ¤ ÇÒ ¼ö ÀÖ°í, rc.d ½Ã½ºÅÛÀº Á¶½ÉÇØ¶ó.
sudo cp /usr/local/pf/PacketFence.init /etc/init.d/PacketFencesudo chmod 755 /etc/init.d/PacketFencesudo update-rc.d PacketFence defaults
½Ã½ºÅÛ Àç½Ãµ¿ Ä¿¸Çµå
sudo /etc/init.d/PacketFence start
ÀÌÁ¦ ½Ã½ºÅÛÀÌ ±¸µ¿ µÉ °ÍÀÌ´Ù.
Log in
ºê¶ó¿ìÀú¸¦ ¿°í ÆÐÅ¶Ææ½º ¼¹ö¿¡ 1443 Æ÷Æ®¸¦ Ãß°¡ÇÏ¸é ¾îµå·¹½º´Â https://192.168.1.29:1443ÀÌ µÉ °ÍÀÌ´Ù. ·Î±×ÀÎ ½ºÅ©¸°¿¡ º¸ÀÏ °ÍÀ̸ç, admin À̸§°ú ÆÐ½º¿öµå¸¦ »ý¼ºÇÏ¸é µÈ´Ù.