HOME > °­ÁÂ >
°­ÁÂ| ¸®´ª½º ¹× ¿ÀǼҽº¿¡ °ü·ÃµÈ °­Á¸¦ º¸½Ç ¼ö ÀÖ½À´Ï´Ù.
 
¢Æ DolyÀÇ CentOS7 °­ÁÂ29 12. ³×Æ®¿öÅ© º¸¾È¼³Á¤ 12.1 firewalld (2/2)
Á¶È¸ : 24,344  


¢Æ DolyÀÇ CentOS7 °­ÁÂ29 12. ³×Æ®¿öÅ© º¸¾È¼³Á¤ 12.1 firewalld (2/2)


#################################################
    ÀÛ¼ºÀÚ : Á¤¿ì¿µ
    ÀÛ¼ºÀÏ : 2015.4.28
    ´ë»ó OS : CentOS7 x86_64

 º» °­Á¸¦ ±â¹ÝÀ¸·Î ¼­ÀûÀ» ÁýÇÊÇÕ´Ï´Ù. ¿¬Àç°­Á°¡ ¸¶¹«¸®µÇ°í ¸î´Þ ÈÄ¸é ¼­ÀûÀÌ ³ª¿À°ÚÁÒ? CentOS7Àº ¼­Àûµµ ¾øÁö¸¸ °­Áµµ ¸¹ÀÌ ºÎÁ·Çϳ׿ä. ¸®´ª½º ¼­¹ö¸¦ 10³â ³Ñ°Ô ±¸ÃàÇÏ°í °ü¸®Çϰí ÄÁ¼³ÆÃÇϸ鼭 ²À ÇÊ¿äÇÑ ºÎºÐ°ú ¾Ë¾Æ¾ß ÇÒ ºÎºÐµéÀ» ²Ä²ÄÈ÷ üũÇϸ鼭 °­Á¸¦ ½áº¸·ÁÇÕ´Ï´Ù. °­ÁÂÁß ¿ÀÅ»ÀÚ°¡ Àְųª ¼³¸íÀÌ ºÎÁ·Çϰí À߸øµÈ °æ¿ì doly°ñ¹ðÀÌsuperuser.co.krÀ¸·Î ¸ÞÀÏÇÑÅë ºÎŹµå¸³´Ï´Ù. °­Á°¡ ¼öÁ¤µÇ¸é ´õ ¸¹Àº ºÐµé²² µµ¿òÀÌ µÉ°ÍÀ̶ó »ý°¢ÇÏ°í °­Á¸¦ ±â¹ÝÀ¸·Î ÁýÇ浃 ¼­Àû¶ÇÇÑ ¿Ï¼ºµµ°¡ ³ô¾ÆÁöÁö ¾ÊÀ»±î »ý°¢ÇÕ´Ï´Ù.
#################################################

12.1. firewalld
CentOS7ºÎÅÍ ¸¹Àº ºÎºÐÀÌ ÅëÇյǰí Ãß»óÈ­ µÇ¾ú´Ù. CentOS6±îÁö ¹æÈ­º® ¼³Á¤ÆÄÀÏÀ» º¯°æÇϰí iptables ¼­ºñ½º¸¦ Àç½ÃÀÛÇÏ¿© ¹æÈ­º® ±ÔÄ¢À» ¼³Á¤ÇÏ¿´´Ù¸é, CentOS7Àº ¹æÈ­º® ±ÔÄ¢À» °ü¸®ÇÏ´Â µ¥¸ó(firewalld)°¡ ÀÛµ¿µÇ°í ÀÌ ¹æÈ­º® µ¥¸óÀÌ Á¦°øÇÏ´Â DBUS API¸¦ ÅëÇØ ¹æÈ­º®À» Á¦¾îÇÑ´Ù. GUIȯ°æ¿¡¼­´Â firewall-config¸¦ ÀÌ¿ëÇÏ¿© ¹æÈ­º®¼³Á¤À» ÇÒ ¼ö ÀÖÀ¸¸ç, CUIȯ°æ¿¡¼­´Â firewall-cmd¸¦ ÀÌ¿ëÇÏ¿© ¹æÈ­º® ¼³Á¤À» ÇÒ ¼ö ÀÖ´Ù. ¹æÈ­º®À» Á¦¾îÇÏ·Á´Â º°µµ ¾îÇø®ÄÉÀ̼ÇÀ» °³¹ßÇÒ ¶§µµ filrewalld API¸¦ »ç¿ëÇÏ¸é ¼³Á¤ÆÄÀÏ º¯°æ¿¡ µû¸¥ °¢ ¹æÈ­º® °ü¸® ¾îÇø®ÄÉÀ̼ǰúÀÇ Ãæµ¹À» ÇÇÇÒ ¼ö ÀÖ´Ù. 
firewalld¿¡¼­ »ç¿ëµÇ´Â ¿ë¾î, GUI ÇÁ·Î±×·¥ÀÎ firewall-config, CUI ÇÁ·Î±×·¥ÀÎ firewall-cmd¿¡ ´ëÇØ ¾Ë¾Æº¸°Ú´Ù.

12.1.3. ¹æÈ­º® CUI ¼³Á¤ (firewall-cmd)
firewalldÀÇ CUIÀÎÅÍÆäÀ̽ºÀÎ firewall-cmd¿¡ ´ëÇØ ¾Ë¾Æº¸±â ÀÌÀü¿¡ À¥¼­¹ö¸¦ ¿î¿µÇϱâ À§ÇØ HTTP, HTTPS Æ÷Æ®¸¦ Çã¿ëÇÏ´Â ¹æ¹ý¿¡ ´ëÇØ ¾Ë¾Æº¸ÀÚ.

Å͹̳Πâ¿¡¼­ ´ÙÀ½°ú °°ÀÌ ÀÔ·ÂÇÑ´Ù.

~]# firewall-cmd --permanent --add-service=http --add-service=https
success
~]# firewall-cmd --reload
success
~]# firewall-cmd --list-all
public (default)
  interfaces:
  sources:
  services: dhcpv6-client http https ssh
  ports: 5900-5910/tcp
  masquerade: no
  forward-ports: 
  icmp-blocks: 
  rich rules:

firewall-cmd¸í·ÉÀ» »ç¿ëÇÏ¿© À§¿Í °°ÀÌ ·êÀ» Ãß°¡ÇÒ ¼ö ÀÖ´Ù. --permanent ¿É¼ÇÀº ¿µ±¸ÀûÀÎ ¼³Á¤À» ÀǹÌÇÏ¸ç ¿É¼ÇÀ» ÁÖÁö ¾ÊÀ¸¸é ·±Å¸ÀÓ È¯°æ¿¡¼­ Àû¿ëµÇ±â ¶§¹®¿¡ ¼­¹ö¸¦ ¸®ºÎÆÃÇÏ¸é ·êÀÌ ¾ø¾îÁø´Ù. --add-service ¿É¼ÇÀ» »ç¿ëÇÏ¿© ¿ÀÇÂÇϰíÀÚ ÇÏ´Â ¼­ºñ½º¸¦ ÁöÁ¤ÇÑ´Ù. ¸¸¾à ÀÌ¹Ì Ãß°¡µÈ ¼­ºñ½º¸¦ Á¦°ÅÇϱâ À§Çؼ­´Â --remove-service ¿É¼ÇÀ» »ç¿ëÇÑ´Ù. ´ÙÀ½À¸·Î --reload ¿É¼ÇÀ» »ç¿ëÇÏ¿© ¿µ±¸ÀûÀ¸·Î ¼³Á¤µÈ ·êÀ» ·±Å¸ÀÓ È¯°æ¿¡ Àû¿ë½ÃŲ´Ù. Àû¿ëÀÌ ¿Ï·áµÈ ÈÄ --list-all ¿É¼ÇÀ¸·Î ¼³Á¤µÈ ·êÀ» È®ÀÎÇÑ´Ù.

¹æÈ­º® ¿ÀÇ ¿©ºÎ¸¦ À§ÇØ ´Ù¸¥ ¸®´ª½º ÄÄÇ»ÅÍ¿¡¼­ ´ÙÀ½°ú °°ÀÌ È®ÀÎÇØ º¸ÀÚ.

~]#  nmap 192.168.0.201 -p 443,80,22,25

Starting Nmap 5.21 ( http://nmap.org ) at 2015-03-24 19:57 KST
Nmap scan report for 192.168.0.201
Host is up (0.00041s latency).
PORT    STATE    SERVICE
22/tcp  open     ssh
25/tcp  filtered smtp
80/tcp  closed   http
443/tcp closed   https

Nmap done: 1 IP address (1 host up) scanned in 0.03 seconds

nmap¸í·É¾î¸¦ ¹æÈ­º® ¼³Á¤ ³»¿ªÀ» È®ÀÎÇÒ ¼ö ÀÖ´Ù. 22/tcp(SSH)´Â ¿ÀÇÂµÈ °ÍÀÌ È®Àεǰí, 25/tcp(SMTP)´Â filteredµÇ¾ú´Ù. À¥¼­ºñ½º Æ÷Æ® 80/tcp(HTTP), 443/tcp(HTTPS)´Â ¹æÈ­º®¿¡¼­ Â÷´ÜµÈ °ÍÀº ¾Æ´ÏÁö¸¸ ´ÝÇô ÀÖ´Ù°í ³ªÅ¸³­´Ù. 

[Âü °í]
firewall-cmd ÀÚµ¿¿Ï¼º ±â´É
CentOS7ÀÇ ÅëÇÕµÈ ¸í·É¾îµéÀº ÀÚµ¿¿Ï¼º ±â´ÉÀ» Á¦°øÇÑ´Ù. ÀÚµ¿¿Ï¼ºÀ̶õ ¿É¼ÇÀÇ ¸î¸î ´Ü¾î¸¸ ÀÔ·ÂÇϰí <TAB>۸¦ ´©¸£°Ô µÇ¸é °ü·Ã ¿É¼ÇÀÇ ´Ü¾î°¡ ÀÚµ¿¿Ï¼ºµÈ´Ù. ¶Ç ¿©·¯°³ÀÇ °¡´ÉÇÑ ¿É¼ÇÀÌ ÀÖÀ»¶§´Â <TAB>۸¦ ¿©·¯¹ø ´©¸£¸é ¿É¼Ç ¸®½ºÆ®°¡ ³ªÅ¸³­´Ù. ¾Æ·¡¿Í °°ÀÌ ¿É¼ÇÀ» ¸ð¸¦ ¶§´Â <TAB>۸¦ ¿©·¯¹ø ´©¸£¸é »ç¿ëÇÒ ¼ö ÀÖ´Â ¿É¼Ç ¸®½ºÆ®°¡ ³ªÅ¸³­´Ù.

~]#  firewall-cmd --permanent --
--add-forward-port=                   --list-rich-rules
--add-icmp-block=                     --list-services
--add-interface=                      --list-sources
--add-lockdown-whitelist-command=     --query-forward-port=
... 


12.1.3.1. ¿µ¿ª(zone) º¯°æ
¾Õ¿¡¼­ ¼³¸íÇÑ ¿µ¿ª(zone)Àº ´ÙÀ½°ú °°Àº ¹æ¹ýÀ¸·Î º¯°æÇÒ ¼ö ÀÖ´Ù.

~]#  firewall-cmd --set-default-zone=block
success

±âº» ¿µ¿ªÀ» blockÀ¸·Î º¯°æÇÏ¿´´Ù. ¼³Á¤ °¡´ÉÇÑ ¿µ¿ªÀº ¿µ¿ª°ªÀ» ÀÔ·ÂÇÏÁö ¾Ê°í <TAB>۸¦ ¿©·¯¹ø ´©¸£¸é ´ÙÀ½°ú °°ÀÌ È®ÀÎÇÒ ¼ö ÀÖ´Ù.

~]#  firewall-cmd --set-default-zone=<TAB><TAB>
block     dmz       drop      external  home      internal  public    trusted   work

¼³Á¤µÈ ³»¿ªÀº ´ÙÀ½°ú °°ÀÌ È®ÀÎÇÒ ¼ö ÀÖ´Ù.

~]#  firewall-cmd --list-all
block (default, active)
  interfaces: eth0
  sources:
  services:
  ports:
  masquerade: no
  forward-ports:
  icmp-blocks:
  rich rules:

À§ °á°ú¸¦ º¸¸é ±âº»¿µ¿ªÀÌ blockÀ¸·Î º¯°æµÈ °ÍÀ» È®ÀÎÇÒ ¼ö ÀÖ´Ù. ¹°·Ð --get-default-zone ¿É¼ÇÀ¸·Î ±âº»¿µ¿ªÀ» È®ÀÎÇÒ ¼ö ÀÖ´Ù.

12.1.3.2. ¼­ºñ½º(service) ¼öÁ¤
GUI¿Í ´Ù¸£°Ô firewall-cmd´Â ¼­ºñ½º Ãß°¡/¼öÁ¤ ¹æ¹ýÀ» Á¦°øÇÏÁö ¾Ê´Â´Ù. ´ÙÀ½°ú °°Àº ¹æ¹ýÀ¸·Î ¹Ì¸® Á¤ÀÇµÈ ¼­ºñ½º¸¦ ÆíÁýÇÏ¿© »ç¿ëÇÒ ¼ö ÀÖ´Ù. ¸®´ª½º ¼­¹ö Á¢¼ÓÀ» À§ÇØ SSH¸¦ °¡Àå ¸¹ÀÌ »ç¿ëÇÑ´Ù. ¸¹ÀÌ »ç¿ëµÇ´Â ¸¸Å­ ÀÎÅͳݿ¡ °ø°³µÈ ¼­¹öÀÇ °æ¿ì »çÀü(dictionary) °ø°ÝÀ» ÅëÇØ Á¢¼ÓÁ¤º¸¸¦ ȹµæÇÏ·Á´Â ½Ãµµ°¡ ¸¹ÀÌ ÀϾ´Ù. ÀÌ·¯ÇÑ Á¢±Ù ½Ãµµ¸¦ ȸÇÇÇϱâ À§ÇØ SSH ±âº»Æ÷Æ®(tcp/22)¸¦ 1024ÀÌÈÄ Àß ¾Ë·ÁÁöÁö ¾ÊÀº Æ÷Æ®·Î º¯°æÇÑ´Ù. ÀÌ·¯ÇÑ °æ¿ì SSH ¼­ºñ½º¿¡ ´ëÇÑ ¼­ºñ½º Æ÷Æ® ¶ÇÇÑ º¯°æÀÌ µÇ¾î¾ß Çϱ⿡ ´ÙÀ½°ú °°ÀÌ ¹æÈ­º® ¼³Á¤À» º¯°æÇØ º¸µµ·Ï ÇÏÀÚ.

~]#  cp /usr/lib/firewalld/services/ssh.xml /etc/firewalld/services/

¼­ºñ½º°¡ Á¤ÀÇµÈ ÆÄÀÏ(ssh.xml)À» /usr/lib/firewalld/services µð·ºÅ丮¿¡¼­ /etc/firewalld/services µð·ºÅ丮·Î º¹»çÇÑ´Ù.
/etc/firewalld/services/ssh.xml ÆÄÀÏÀ» ¿­¾î ´ÙÀ½°ú °°ÀÌ ¼öÁ¤ÇÑ´Ù.

<?xml version="1.0" encoding="utf-8"?>
<service>
  <short>SSH</short>
  <description>Secure Shell (SSH) is a protocol for logging into and executing commands on remote machines. It provides secure encrypted communications. If you plan on accessing your machine remotely via SSH over a firewalled interface, enable this option. You need the openssh-server package installed for this option to be useful.</description>
  <port protocol="tcp" port="15322"/>
</service>

ÇÊÀÚ´Â SSHÆ÷Æ®·Î 15322¸¦ ÀÔ·ÂÇÏ¿´´Ù.

~]#  firewall-cmd --reload
success
--reload¿É¼ÇÀ¸·Î º¯°æ³»¿ªÀ» ¹Ý¿µÇÑ´Ù. 

~]#  iptables -nL |grep 15322
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0      tcp dpt:15322 ctstate NEW

firewall-cmdÀ¸·Î´Â ¼­ºñ½ºÀÇ º¯°æ³»¿ªÀ» È®ÀÎÇÒ ¼ö ¾ø¾ú´Ù. iptables¸í·ÉÀ» »ç¿ëÇÏ¿© º¯°æµÈ ¼­ºñ½º Æ÷Æ®¸¦ È®ÀÎÇÏ¿´´Ù.


12.1.3.3. Æ÷Æ® ¹× ÇÁ·ÎÅäÄÝ Á÷Á¢ Ãß°¡
¾Õ¿¡¼­ ´Ù·ð´ø ¼­ºñ½º¸¦ ÀÌ¿ëÇÏ¿© ¹æÈ­º®À» °ü¸®Çϱ⵵ ÇÏÁö¸¸, ¾Õ ¿¹¿Í °°ÀÌ ¹Ì¸® Á¤ÀÇµÈ ¼­ºñ½ºÀÇ Æ÷Æ®¸¦ º¯°æÇÏ´Â °æ¿ì´Â Æ÷Æ® ¹× ÇÁ·ÎÅäÄÝÀ» Á÷Á¢ Ãß°¡ÇÏ´Â °ÍÀÌ ¹æÈ­º® °ü¸®¿¡ ´õ È¿À²ÀûÀÌ´Ù. SSH Æ÷Æ®¸¦ º¯°æÇÑ °æ¿ì ¼­ºñ½º ¸®½ºÆ®¿¡¼­´Â ¹Ù·Î È®ÀÎÇÏ±â ¾î·Æ±â ¶§¹®¿¡ ¼­¹ö¸¦ ÀÌÀüÇÏ´Â °æ¿ì ½Ç¼öÇÒ ¼ö ÀÖ´Ù. 
 VNCÁ¢¼ÓÀ» À§ÇØ Æ÷Æ® ¹× ÇÁ·ÎÅäÄÝÀ» Á÷Á¢ Ãß°¡ÇØ º¸µµ·Ï ÇÏÀÚ.

~]# firewall-cmd --permanent --add-port=5900-5910/tcp
success
~]# firewall-cmd --reload
success
~]# firewall-cmd --list-all
public (default, active)
  interfaces: eth0
  sources: 
  services: dhcpv6-client http https ssh
  ports: 5900-5910/tcp
  masquerade: no
  forward-ports: 
  icmp-blocks: 
  rich rules: 

firewall-cmd¸í·ÉÀ» »ç¿ëÇÏ¿© À§¿Í °°ÀÌ ·êÀ» Ãß°¡ÇÒ ¼ö ÀÖ´Ù. --permanent ¿É¼ÇÀº ¿µ±¸ÀûÀÎ ¼³Á¤À» ÀǹÌÇÏ¸ç ¿É¼ÇÀ» ÁÖÁö ¾ÊÀ¸¸é ·±Å¸ÀÓ È¯°æ¿¡¼­ Àû¿ëµÇ±â ¶§¹®¿¡ ¼­¹ö¸¦ ¸®ºÎÆÃÇÏ¸é ·êÀÌ ¾ø¾îÁø´Ù. --add-port ¿É¼ÇÀ» »ç¿ëÇÏ¿© ¿ÀÇÂÇϰíÀÚ ÇÏ´Â Æ÷Æ® ¹× Æ÷Æ®¹üÀ§/ÇÁ·ÎÅäÄÝÀ» ÁöÁ¤ÇÑ´Ù. ¸¸¾à Ãß°¡µÈ Æ÷Æ®¸¦ Á¦°ÅÇϱâ À§Çؼ­´Â --remove-port ¿É¼ÇÀ» »ç¿ëÇÑ´Ù. ´ÙÀ½À¸·Î --reload ¿É¼ÇÀ» »ç¿ëÇÏ¿© ¿µ±¸ÀûÀ¸·Î ¼³Á¤µÈ ·êÀ» ·±Å¸ÀÓ È¯°æ¿¡ Àû¿ë½ÃŲ´Ù. Àû¿ëÀÌ ¿Ï·áµÈ ÈÄ --list-all ¿É¼ÇÀ¸·Î ¼³Á¤µÈ ·êÀ» È®ÀÎÇÑ´Ù. ¹°·Ð Ãß°¡µÈ Æ÷Æ®´Â --list-ports ¿É¼ÇÀ¸·Î È®ÀÎ °¡´ÉÇÏ´Ù.

12.1.3.4. ¸¶½ºÄ¿·¹À̵ù(Masquerading)
¸®´ª½º ½Ã½ºÅÛÀ» ÀÎÅÍ³Ý °øÀ¯ ¸ñÀûÀÇ ¶ó¿ìÅÍ ±â´ÉÀ» »ç¿ëÇϱâ À§ÇØ ¸¶½ºÄ¿·¹À̵ù ±â´ÉÀ» Ȱ¼ºÈ­ ½ÃŲ´Ù. 
¸¶½ºÄ¿·¹À̵ùÀ» »ç¿ëÇϱâ À§ÇØ °øÀθÁ, »ç¼³¸Á ³×Æ®¿öÅ© ±¸¼ºÀ» ¹Ì¸® ÇØ µÎ¾î¾ß ÇÑ´Ù.

~]# firewall-cmd --permanent --add-masquerade
success
~]# firewall-cmd --reload
success
~]# firewall-cmd --list-all
public (default, active)
  interfaces: eth0
  sources:
  services: dhcpv6-client http https ssh
  ports: 5900-5910/tcp
  masquerade: yes
  forward-ports: 
  icmp-blocks: 
  rich rules:

firewall-cmd¸í·ÉÀ» »ç¿ëÇÏ¿© À§¿Í °°ÀÌ ¸¶½ºÄ¿·¹À̵ùÀ» Ȱ¼ºÈ­ ½Ãų ¼ö ÀÖ´Ù. --permanent ¿É¼ÇÀº ¿µ±¸ÀûÀÎ ¼³Á¤À» ÀǹÌÇÏ¸ç ¿É¼ÇÀ» ÁÖÁö ¾ÊÀ¸¸é ·±Å¸ÀÓ È¯°æ¿¡¼­ Àû¿ëµÇ±â ¶§¹®¿¡ ¼­¹ö¸¦ ¸®ºÎÆÃÇÏ¸é ·êÀÌ ¾ø¾îÁø´Ù. --add-masquerade ¿É¼ÇÀ» »ç¿ë ¸¶½ºÄ¿·¹À̵ùÀ» Ȱ¼ºÈ­½ÃŲ´Ù. ¸¸¾à ¸¶½ºÄ¿·¹À̵ùÀ» ºñȰ¼ºÈ­½Ã°í ½Í´Ù¸é --remove-masquerade ¿É¼ÇÀ» »ç¿ëÇÑ´Ù. ´ÙÀ½À¸·Î --reload ¿É¼ÇÀ» »ç¿ëÇÏ¿© ¿µ±¸ÀûÀ¸·Î ¼³Á¤µÈ ·êÀ» ·±Å¸ÀÓ È¯°æ¿¡ Àû¿ë½ÃŲ´Ù. Àû¿ëÀÌ ¿Ï·áµÈ ÈÄ --list-all ¿É¼ÇÀ¸·Î masquerade Ȱ¼ºÈ­ À¯ºÎ¸¦ È®ÀÎÇÑ´Ù. 

12.1.3.5. Æ÷Æ® Æ÷¿öµù(port forwarding)
¾Õ¿¡¼­ ¸¶½ºÄ¿·¹À̵ù ¼³Á¤À¸·Î ÀÎÅÍ³Ý °øÀ¯ ¶ó¿ìÅ͸¦ ¼³Á¤ÇÑ °æ¿ì ¿ÜºÎ¿¡¼­ °øÀÎIP·Î Á¢¼ÓµÇ´Â ¿¬°á¿¡ ´ëÇØ¼­ Æ÷Æ®¿¡ µû¶ó ³»ºÎ ¼­¹ö·Î ¿¬°á½Ãų ¼ö ÀÖ´Â Æ÷Æ® Æ÷¿öµù ±â´ÉÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù. 
¶Ç, ½Ã½ºÅÛÀ¸·Î µé¾î¿À´Â Æ÷Æ®¸¦ Æ÷¿öµùÇÏ¿© ·ÎÄÃÀÇ ´Ù¸¥ Æ÷Æ®·Î Æ÷¿öµùÇÒ ¼ö ÀÖ´Ù. ½Ã½ºÅÛÀÇ °¢ ¼­ºñ½ºµéÀº º¸¾ÈÀ» À§ÇØ ÀÏ¹Ý »ç¿ëÀÚ ±ÇÇÑÀ¸·Î ¼­ºñ½º¸¦ ½ÇÇàÇϱ⸦ ±ÇÀåÇÑ´Ù. ¿¹¸¦ µé¾î TomcatÀº JSP ÄÁÅ×À̳ÊÀ̸鼭 À¥¼­¹ö ±â´ÉÀ» °¡Áö°í ÀÖ´Ù. TomcatÀº ÀÏ¹Ý »ç¿ëÀÚ °èÁ¤À¸·Î ½ÇÇàÇÒ °ÍÀ» ±ÇÀåÇÑ´Ù. ÇÏÁö¸¸, HTTP±âº»Æ÷Æ® 80À» »ç¿ëÇÒ °æ¿ì root±ÇÇÑÀÌ ¾Æ´Ï¸é 80Æ÷Æ®¸¦ BindÇÒ ¼ö ¾ø´Ù. ÀÌ·¯ÇÑ °æ¿ì Æ÷Æ®Æ÷¿öµùÀ» »ç¿ëÇÏ¿© 80Æ÷Æ®·Î Á¢¼ÓµÇ´Â ÆÐŶÀ» ·ÎÄÃÀÇ 8080(TomcatÀÇ ±âº» HTTP Æ÷Æ®)Æ÷Æ®·Î Æ÷¿öµù ½ÃÅ´À¸·Î root±ÇÇÑ ¾øÀÌ 80Æ÷Æ®¸¦ »ç¿ëÇÏ¿© À¥¼­ºñ½º¸¦ ÇÒ ¼ö ÀÖ´Ù.
80Æ÷Æ®·Î Á¢¼ÓµÇ´Â ÆÐŶÀ» 8080Æ÷Æ®·Î Æ÷¿öµù ¼³Á¤ÇØ º¸ÀÚ.

~]# firewall-cmd --permanent --add-forward-port=port=80:proto=tcp:toport=8080
success
~]# firewall-cmd --reload
success
~]# firewall-cmd --list-all
public (default, active)
  interfaces: eth0
  sources:
  services: dhcpv6-client http https ssh
  ports: 5900-5910/tcp
  masquerade: yes
  forward-ports: port=80:proto=tcp:toport=8080:toaddr=
  icmp-blocks: 
  rich rules:

firewall-cmd¸í·ÉÀ» »ç¿ëÇÏ¿© À§¿Í °°ÀÌ Æ÷Æ® Æ÷¿öµù ÇÏ¿´´Ù. --permanent ¿É¼ÇÀº ¿µ±¸ÀûÀÎ ¼³Á¤À» ÀǹÌÇÏ¸ç ¿É¼ÇÀ» ÁÖÁö ¾ÊÀ¸¸é ·±Å¸ÀÓ È¯°æ¿¡¼­ Àû¿ëµÇ±â ¶§¹®¿¡ ¼­¹ö¸¦ ¸®ºÎÆÃÇÏ¸é ·êÀÌ ¾ø¾îÁø´Ù. --add-forward-port ¿É¼ÇÀ» »ç¿ë Æ÷Æ® Æ÷¿öµù ±ÔÄ¢À» Ãß°¡ÇÏ¿´´Ù. ´ÙÀ½°ú °°Àº ¹æ¹ýÀ¸·Î ÀԷµȴÙ.
--add-forward-port=port=portid[-portid]:proto=protocol[:toport=portid[-portid]][:toaddr=address[/mask]]
¸¸¾à Æ÷Æ®Æ÷¿öµùÀ» Á¦°ÅÇϱâ À§Çؼ­´Â --remove-forward-port ¿É¼ÇÀ» »ç¿ëÇÑ´Ù.´ÙÀ½°ú °°Àº ¹æ¹ýÀ¸·Î ÀԷµȴÙ.
--remove-forward-port=port=portid[-portid]:proto=protocol[:toport=portid[-portid]][:toaddr=address[/mask]]
 ´ÙÀ½À¸·Î --reload ¿É¼ÇÀ» »ç¿ëÇÏ¿© ¿µ±¸ÀûÀ¸·Î ¼³Á¤µÈ ·êÀ» ·±Å¸ÀÓ È¯°æ¿¡ Àû¿ë½ÃŲ´Ù. Àû¿ëÀÌ ¿Ï·áµÈ ÈÄ --list-all ¿É¼ÇÀ¸·Î Æ÷Æ®Æ÷¿öµù ¼³Á¤³»¿ªÀ» È®ÀÎÇÒ ¼ö ÀÖ´Ù. ¹°·Ð --list-forward-ports ¿É¼ÇÀ¸·Î È®ÀÎÇÒ ¼ö ÀÖ´Ù.


12.1.3.6. ping ÀÀ´ä ÇÏÁö ¾Ê±â
½Ã½ºÅÛÀÇ ³×Æ®¿öÅ© »óŸ¦ È®ÀÎÇϱâ À§ÇØ ping¸í·É¾î¸¦ ÀÌ¿ëÇÏ¿© ÀÀ´ä Å×½ºÆ®¸¦ ÇÑ´Ù. pingÀº ³×Æ®¿öÅ© È®ÀÎÀ» À§ÇØ À¯¿ëÇÏ°Ô »ç¿ëµÇÁö¸¸, ¾ÇÀÇÀûÀ¸·Î ÆÐŶũ±â¸¦Á¶ÀýÇÏ¿© ³×Æ®¿öÅ©ÀÇ °ú´ÙÇÑ Æ®·¡ÇÈÀ» À¯¹ßÇϱ⵵ ÇÑ´Ù. ÀÌ·¯ÇÑ °ø°ÝÀ» Â÷´ÜÇϱâ À§ÇØ ping¿¡ ´ëÇØ ÀÀ´äÇÏÁö ¾Êµµ·Ï ¼³Á¤ÇÏ´Â °æ¿ì°¡ ÀÖ´Ù. 
´ÙÀ½Àº ICMP ÇÁ·ÎÅäÄÝ Áß ping¿¡ ´ëÇØ ÀÀ´äÇÏÁö ¾Ê°Ô ¼³Á¤Çϰí ÀÖ´Ù.

~]# firewall-cmd --permanent --add-icmp-block=echo-request
success
~]# firewall-cmd --reload
success
~]# firewall-cmd --list-all
public (default, active)
  interfaces: eth0
  sources:
  services: dhcpv6-client http https ssh
  ports: 5900-5910/tcp
  masquerade: yes
  forward-ports: port=80:proto=tcp:toport=8080:toaddr=
  icmp-blocks: echo-request
  rich rules:

firewall-cmd¸í·ÉÀ» »ç¿ëÇÏ¿© À§¿Í °°ÀÌ pingÀ» Â÷´ÜÇÒ ¼ö ÀÖ´Ù. --permanent ¿É¼ÇÀº ¿µ±¸ÀûÀÎ ¼³Á¤À» ÀǹÌÇÏ¸ç ¿É¼ÇÀ» ÁÖÁö ¾ÊÀ¸¸é ·±Å¸ÀÓ È¯°æ¿¡¼­ Àû¿ëµÇ±â ¶§¹®¿¡ ¼­¹ö¸¦ ¸®ºÎÆÃÇÏ¸é ·êÀÌ ¾ø¾îÁø´Ù. --add-icmp-block ¿É¼ÇÀ» »ç¿ë ICMP Â÷´ÜÇÒ À¯ÇüÀ» Ãß°¡ÇÏ¿´´Ù. ¸¸¾à Â÷´ÜÇÒ À¯ÇüÀ» Á¦°ÅÇϱâ À§Çؼ­´Â --remove-icmp-block¿É¼ÇÀ» »ç¿ëÇÑ´Ù. ´ÙÀ½À¸·Î --reload ¿É¼ÇÀ» »ç¿ëÇÏ¿© ¿µ±¸ÀûÀ¸·Î ¼³Á¤µÈ ·êÀ» ·±Å¸ÀÓ È¯°æ¿¡ Àû¿ë½ÃŲ´Ù. Àû¿ëÀÌ ¿Ï·áµÈ ÈÄ --list-all ¿É¼ÇÀ¸·Î Â÷´ÜµÈ ICMP À¯ÇüÀ» È®ÀÎÇÒ ¼ö ÀÖ´Ù. ¹°·Ð --list-icmp-blocks ¿É¼ÇÀ¸·Îµµ È®ÀÎÇÒ ¼ö ÀÖ´Ù.


12.1.3.7. Á÷Á¢ ¹æÈ­º® ±ÔÄ¢ ³Ö±â
¸®´ª½º ¹æÈ­º® iptables´Â ¸·°­ÇÑ È®Àå±â´ÉÀ» Á¦°øÇÑ´Ù. firewalld¿¡¼­ Á¦°øµÇ´Â ±â´ÉÀº È®Àå ±â´É Áß ÀϺθ¸ »ç¿ëÇÒ ¼ö ÀÖÀ¸¸ç, ¿øÇÏ´Â È®Àå ±â´É »ç¿ëÀ» À§ÇØ ´ÙÀ½°ú °°Àº ¹æ¹ýÀ¸·Î Á÷Á¢ ÀÔ·ÂÇÏ¿© »ç¿ëÇÒ ¼ö ÀÖ´Â ÀÎÅÍÆäÀ̽º°¡ Á¦°øµÈ´Ù.
À¥¼­¹ö¸¦ ´ë»óÀ¸·Î DOS°ø°ÝÀÌ ¸¹ÀÌ ¹ß»ýµÈ´Ù. ƯÁ¤ Ŭ¶óÀÌ¾ðÆ® IP¿¡¼­ Á¢¼ÓÀÌ ¸¹ÀÌ ¹ß»ýµÈ´Ù¸é ƯÁ¤ Ŭ¶óÀÌ¾ðÆ® IP Â÷´ÜÀ» À§ÇØ »ç¿ëÇÏ´Â ¸ðµâÀÌ connlimitÀÌ´Ù. 
´ÙÀ½Àº connlimit¸¦ »ç¿ëÇÏ¿© DOS°ø°ÝÀ» ¸·µµ·Ï ¼³Á¤ÇØ º¸°Ú´Ù.

~]# firewall-cmd --permanent --direct --add-passthrough ipv4 -I INPUT -p tcp --syn --dport 80 -m connlimit --connlimit-above 16 -j REJECT
success
~]# firewall-cmd --reload
success

firewall-cmd¸í·ÉÀ» »ç¿ëÇÏ¿© DOS°ø°ÝÀ» ¸·À» ¼ö ÀÖ´Ù. --permanent ¿É¼ÇÀº ¿µ±¸ÀûÀÎ ¼³Á¤À» ÀǹÌÇÏ¸ç ¿É¼ÇÀ» ÁÖÁö ¾ÊÀ¸¸é ·±Å¸ÀÓ È¯°æ¿¡¼­ Àû¿ëµÇ±â ¶§¹®¿¡ ¼­¹ö¸¦ ¸®ºÎÆÃÇÏ¸é ·êÀÌ ¾ø¾îÁø´Ù. --direct ¿É¼ÇÀº Á÷Á¢ ÀÔ·ÂÇÑ´Ù´Â ¼³Á¤ÀÌ´Ù. --add-passthrough´Â Åë°ú ±ÔÄ¢À» Á÷Á¢ ÀÔ·ÂÇÏ´Â ¿É¼ÇÀÌ´Ù. ¸¸¾à Åë°ú ±ÔÄ¢À» Á¦°ÅÇϱâ À§Çؼ­´Â --remove-passthroughÀ» »ç¿ëÇÑ´Ù. ´ÙÀ½À¸·Î --reload ¿É¼ÇÀ» »ç¿ëÇÏ¿© ¿µ±¸ÀûÀ¸·Î ¼³Á¤µÈ ·êÀ» ·±Å¸ÀÓ È¯°æ¿¡ Àû¿ë½ÃŲ´Ù. 

~]# iptables -nL |grep conn
REJECT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:80 flags:0x17/0x02 #conn src/32 > 16 reject-with icmp-port-unreachable

firewall-cmdÀ¸·Î´Â Á÷Á¢ ¼³Á¤ÇÑ ±ÔÄ¢ È®ÀÎÀÌ ¾î·Á¿ö iptables¸í·ÉÀ» »ç¿ëÇÏ¿© Á÷Á¢ Ãß°¡ÇÑ ±ÔÄ¢À» È®ÀÎÇÏ¿´´Ù.

 ÀÌ»óÀ¸·Î 29¹øÂ° °­Á¸¦ ¸¶¹«¸® ÇÕ´Ï´Ù. CentOS7ÀÇ »õ·Î¿î ±â´ÉÁß¿¡ Çϳª°¡ firewalldÀÌ´Ù. firewalldÀÇ CUI ÀÎÅÍÆäÀ̽º¿¡ ´ëÇØ ¾Ë¾Æº¸¾Ò½À´Ï´Ù.  ½ÃÀÛÀ» ÇßÀ¸¸é ³¡À» ºÁ¾ß ÇÕ´Ï´Ù. ±×·¸Áö ¾ÊÀ¸¸é ±×°Ç ³²¾ÆÀÖÁö ¾Ê´Â °ÍÀÌÁÒ.  CentOS 7ÀÇ ´Ù¾çÇÑ ±â´É¿¡ ´ëÇØ¼­ ÁßÁ¡ÀûÀ¸·Î ´Ù·ç°Ú½À´Ï´Ù. 2015³â 4¿ù 28ÀÏ(È­) ¿­½ÉÈ÷ ¶Ù´Â µµ¸®(Doly)¿´½À´Ï´Ù.^^ 
 
#################################################
* º» °­Á´ ¾ðÁ¦µç °»½ÅµÉ ¼ö ÀÖÀ¸¸ç, ¿ø±ÛÀº www.linux.co.kr °­ÁÂ>¸®´ª½º>DolyÀÇ ¿¬Àç°­Á ¿¡¼­ ¼öÁ¤µË´Ï´Ù. 
* º» °­ÁÂÀÇ ÀϺΠ¶Ç´Â Àüü¸¦ ÀοëÇÏ½Ç °æ¿ì, ¹Ýµå½Ã Ãâó¸¦ ¹àÇô Áֽñ⠹ٶø´Ï´Ù.

* ¼öÁ¤ÀÌ·Â :
 2015.4.28(È­): ÃÖÃÊÀÛ¼º


[¿ø±Û¸µÅ©] : https://www.linux.co.kr/home2/board/subbs/board.php?bo_table=lecture&wr_id=1859


ÀÌ ±ÛÀ» Æ®À§ÅÍ·Î º¸³»±â ÀÌ ±ÛÀ» ÆäÀ̽ººÏÀ¸·Î º¸³»±â ÀÌ ±ÛÀ» ¹ÌÅõµ¥ÀÌ·Î º¸³»±â

 
µµ¸®
µµ¸®(Doly)
(ÁÖ)¼öÆÛÀ¯Àú ±â¼úÀÌ»ç (CTO)
¸®´ª½º¸¶½ºÅÍ 1±Þ,2±Þ Ãßõ±³Àç(2014³â) ÁýÇÊ
¸®´ª½º¸¶½ºÅÍ 1±Þ,2±Þ Àü¹®À§¿ø(ÃâÁ¦)(Çѱ¹Á¤º¸Åë½ÅÁøÈïÇùȸ, 2005³â~)
SULinux 1.0, 1.5, 2.0, 2014 °³¹ß ÃѰý(sulinux.net, 1998³â~)
SSU,LSCP,LSMP,CCMT¿Ü ´Ù¼ö ¿ÀǼҽº ÇÁ·ÎÁ§Æ® °³¹ß ¹× ¿î¿ë (lscp.sf.net¿Ü,2009³â~)
¸®´ª½º ´ë·® ½Ã½ºÅÛ ±¸Ãà ¹× °ü¸®(5,000´ë¸®´ª½º ¼­¹ö ±¸Ãà ¹× °ü¸® °æÇè, 2000³â~)

E-Mail : doly°ñ»±ÀÌsuperuser.co.kr
¼Ò°³ : ÇÏ·ç ÇÏ·ç ÃÖ¼±À» ´ÙÇսôÙ!!