{"id":38369,"date":"2020-09-02T15:30:07","date_gmt":"2020-09-02T06:30:07","guid":{"rendered":"https:\/\/jirak.net\/wp\/aws-waf%eb%a5%bc-%ed%86%b5%ed%95%9c-%ec%9b%b9-%ea%b3%b5%ea%b2%a9-%eb%b0%a9%ec%96%b4-%ec%a0%95%ec%b1%85-%ec%84%a4%ec%a0%95-%eb%b0%8f-%ec%98%a4%ed%83%90-%ec%98%88%ec%99%b8-%ec%b2%98%eb%a6%ac%ed%95%98\/"},"modified":"2020-09-02T15:34:10","modified_gmt":"2020-09-02T06:34:10","slug":"aws-waf%eb%a5%bc-%ed%86%b5%ed%95%9c-%ec%9b%b9-%ea%b3%b5%ea%b2%a9-%eb%b0%a9%ec%96%b4-%ec%a0%95%ec%b1%85-%ec%84%a4%ec%a0%95-%eb%b0%8f-%ec%98%a4%ed%83%90-%ec%98%88%ec%99%b8-%ec%b2%98%eb%a6%ac%ed%95%98","status":"publish","type":"post","link":"https:\/\/jirak.net\/wp\/aws-waf%eb%a5%bc-%ed%86%b5%ed%95%9c-%ec%9b%b9-%ea%b3%b5%ea%b2%a9-%eb%b0%a9%ec%96%b4-%ec%a0%95%ec%b1%85-%ec%84%a4%ec%a0%95-%eb%b0%8f-%ec%98%a4%ed%83%90-%ec%98%88%ec%99%b8-%ec%b2%98%eb%a6%ac%ed%95%98\/","title":{"rendered":"AWS WAF\ub97c \ud1b5\ud55c \uc6f9 \uacf5\uaca9 \ubc29\uc5b4 \uc815\ucc45 \uc124\uc815 \ubc0f \uc624\ud0d0 \uc608\uc678 \ucc98\ub9ac\ud558\uae30"},"content":{"rendered":"<p>AWS WAF\ub97c \ud1b5\ud55c \uc6f9 \uacf5\uaca9 \ubc29\uc5b4 \uc815\ucc45 \uc124\uc815 \ubc0f \uc624\ud0d0 \uc608\uc678 \ucc98\ub9ac\ud558\uae30<br \/>\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jirak.net\/wp\/wp-content\/uploads\/2020\/09\/IP-Parsing.png\" width=\"853\" height=\"864\"><\/p>\n<p>\uc778\ud130\ub137 \uacf5\uac04\uc5d0\uc11c \ub9ce\uc740 \uc0ac\uc6a9\uc790\ub4e4\uc744 \ub300\uc0c1\uc73c\ub85c \ud558\ub294 \uc6f9\uc11c\ube44\uc2a4\uac00 \ub300\uc911\ud654\ub418\uace0 \uc911\uc694\ub3c4\uac00 \ub192\uc544\uc9c0\uba74\uc11c \uc6f9\uc11c\ube44\uc2a4\ub97c \uc548\uc804\ud558\uac8c \uc6b4\uc601\ud560 \uc218 \uc788\ub3c4\ub85d \ubcf4\ud638\ud560 \uc218 \uc788\ub294 \uc6f9 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc758 \ubcf4\ud638 \uc194\ub8e8\uc158 \uc5ed\uc2dc \uafb8\uc900\ud558\uac8c \ubc1c\uc804\ub418\uc5b4 \uc654\uc2b5\ub2c8\ub2e4. \uc6f9 \uc11c\ube44\uc2a4\ub294 \uc11c\ube44\uc2a4\uc758 \ud2b9\uc131 \uc0c1 \ubd88\ud2b9\uc815 \uc0ac\uc6a9\uc790\ub4e4\uc5d0\uac8c \uacf5\uac1c\uc801\uc73c\ub85c \uc811\uc18d\ud560 \uc218 \uc788\ub294 \ud658\uacbd\uc744 \uc81c\uacf5\ud558\uae30 \ub54c\ubb38\uc5d0 \uc6f9\uc11c\ubc84\ub97c \ud1b5\ud574 \uae30\uc5c5\uc774\ub098 \uc870\uc9c1\uc774 \ubcf4\uc720\ud558\uace0 \uc788\ub294 \ub2e4\uc591\ud55c \uc911\uc694 \ub370\uc774\ud130\uac00 \uac1c\uc778 \uc815\ubcf4\ub4e4\uc744 \ud0c8\ucde8\ud558\uac70\ub098 \ud639\uc740 \uc815\uce58\uc801\uc778 \ubaa9\uc801\uc73c\ub85c \ud574\ub2f9 \uc6f9 \uc11c\ube44\uc2a4\ub97c \uc11c\ube44\uc2a4 \ubd88\ub2a5 \uc0c1\ud0dc\ub85c \ub9cc\ub4e4\uac70\ub098 \ud398\uc774\uc9c0\ub97c \ubcc0\uc870\ud558\ub824\ub294 \uc545\uc758\uc801\uc778 \uc0ac\uc6a9\uc790 \ud639\uc740 \ud574\ucee4\ub85c\ubd80\ud130\uc758 \uc704\ud5d8\uc5d0 \ub178\ucd9c\ub420 \uc218 \ubc16\uc5d0 \uc5c6\uc2b5\ub2c8\ub2e4. \uae30\uc5c5\uc774\ub098 \uc870\uc9c1\uc758 \uc785\uc7a5\uc5d0\uc11c\ub294 \uc774\ub7ec\ud55c \uc704\ud5d8\uc744 \ucd5c\uc18c\ud654\ud558\uae30 \uc704\ud558\uc5ec \ub2e4\uc591\ud55c \uc6f9 \uc11c\ube44\uc2a4 \ubcf4\ud638 \uc218\ub2e8\uc744 \uac15\uad6c\ud560 \uc218 \uc788\ub294\ub370 \ub300\ud45c\uc801\uc73c\ub85c \ub2e4\uc74c\uacfc \uac19\uc740 \ubcf4\ud638 \uc218\ub2e8\uc744 \uc801\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<ol>\n<li>DDoS \uc194\ub8e8\uc158 \uc801\uc6a9\uc744 \ud1b5\ud55c \uc11c\ube44\uc2a4 \uac70\ubd80 \uacf5\uaca9\uc758 \ubc29\uc5b4<\/li>\n<li>\uc6f9\ubc29\ud654\ubcbd \uc801\uc6a9\uc744 \ud1b5\ud55c \uc54c\ub824\uc9c4 \uacf5\uaca9\uc5d0 \ub300\ud55c \ucc28\ub2e8 \ubc0f \uc54c\ub824\uc9c0\uc9c0 \uc54a\uc740 \uacf5\uaca9\uc5d0 \ub300\ud55c \ucc28\ub2e8<\/li>\n<li>\uc678\ubd80 \uacf5\uaca9\uc5d0 \ucde8\uc57d\uc810\uc744 \uac16\ub294 \ucf54\ub4dc\ub97c \uc81c\uac70\ud558\ub294 \uc2dc\ud050\uc5b4 \ucf54\ub529<\/li>\n<li>\uc6f9 \uc11c\ubc84 \uad6c\ub3d9\uc5d0 \ud544\uc694\ud55c \ub2e4\uc591\ud55c \uad6c\uc131 \uc694\uc18c\uc5d0 \ub300\ud55c \ubcf4\uc548 \uc5c5\ub370\uc774\ud2b8\uc758 \ucd5c\uc2e0 \uc0c1\ud0dc \uc720\uc9c0<\/li>\n<\/ol>\n<p>AWS \uc5d0\uc11c\ub294 \uc5ec\ub7ec\ubd84\ub4e4\uc758 \uc6f9 \uc11c\ube44\uc2a4\uac00 \uc548\uc804\ud55c\uac8c \uc6b4\uc601\ub420 \uc218 \uc788\ub3c4\ub85d \ub2e4\uc591\ud55c \ubcf4\uc548 \uc11c\ube44\uc2a4\ub97c \uc81c\uacf5\ud558\uace0 \uc788\ub294\ub370\uc694. \uadf8 \uc911 \uc5ec\ub7ec\ubd84\ub4e4\uc774 \ub300\ud45c\uc801\uc73c\ub85c \uc0ac\uc6a9\ud558\uc2e4 \uc218 \uc788\ub294 \uc6f9 \uc11c\ube44\uc2a4 \ubcf4\ud638\ub97c \uc704\ud55c AWS \uc11c\ube44\uc2a4\ub294 <a href=\"https:\/\/aws.amazon.com\/ko\/waf\/\">AWS WAF (Web Application Firewall)<\/a> \uc785\ub2c8\ub2e4. AWS WAF\ub294 2015\ub144 10\uc6d4 <a href=\"https:\/\/aws.amazon.com\/ko\/blogs\/aws\/new-aws-waf\/\">\ucc98\uc74c \uc11c\ube44\uc2a4\ub97c \uc2dc\uc791<\/a>\ud55c \ud6c4, \uafb8\uc900\ud558\uac8c \uadf8 \uae30\ub2a5\uc744 \uac1c\uc120\ud574 \uc654\uace0 2019\ub144 11\uc6d4\uc5d0 \uae30\uc874 AWS WAF\uc5d0\uc11c \uc81c\uacf5\ud558\ub358 \uae30\ub2a5\ub4e4 \uc911 \uace0\uac1d\uc758 \uac1c\uc120 \uc694\uccad\uc0ac\ud56d\uc774 \uc788\uc5c8\ub358 \ubd80\ubd84\ub4e4\uc744 \ubc18\uc601\ud558\uace0 \ub9ce\uc740 \uac83\ub4e4\uc744 \uc0c8\ub86d\uac8c \uad6c\uc131\ud55c <a href=\"https:\/\/aws.amazon.com\/ko\/blogs\/korea\/announcing-aws-managed-rules-for-aws-waf\/\">AWS New WAF\ub97c \ucd9c\uc2dc<\/a>\ud558\uac8c \ub418\uc5c8\uc2b5\ub2c8\ub2e4. AWS New WAF \uac00 \ucd9c\uc2dc\ub428\uc5d0 \ub530\ub77c \uae30\uc874\uc758 AWS WAF\ub294 WAF \ud074\ub798\uc2dd(Classic)\uc774\ub77c\ub294 \uc774\ub984\uc73c\ub85c \uba85\uba85\ub418\uc5c8\uace0 \uc0c8\ub85c\uc6cc\uc9c4 New WAF \uac00 AWS WAF\uc758 \uc774\ub984\uc744 \ubb3c\ub824\ubc1b\uac8c \ub418\uc5c8\ub294\ub370\uc694.<\/p>\n<p>\uc774 \uae00\uc5d0\uc11c\ub294 \uc774\ub807\uac8c \uc0c8\ub85c\uc6cc\uc9c4 AWS WAF\ub97c \uc774\uc6a9\ud574\uc11c AWS \ud658\uacbd\uc5d0\uc11c \uc81c\uacf5\ub418\ub294 \uc6f9\uc11c\ube44\uc2a4\ub97c \ubcf4\ud638\ud558\uace0 AWS WAF\uc6b4\uc601 \uacfc\uc815\uc5d0\uc11c \ub9ce\uc774 \uc811\ud560 \uc218 \uc788\ub294 WAF \uc5d0\uc11c\uc758 \uc624\ud0d0(False Positive) \ubc1c\uc0dd \uc2dc \uc608\uc678 \ucc98\ub9ac\ub97c \ud560 \uc218 \uc788\ub294 \ubc29\ubc95\uc5d0 \ub300\ud574 \uc0b4\ud3b4\ubcf4\ub3c4\ub85d \ud558\uaca0\uc2b5\ub2c8\ub2e4.<\/p>\n<h3><b>AWS WAF \uc815\ucc45 \uad6c\uc131 \uc0b4\ud3b4\ubcf4\uae30<br \/> <\/b><\/h3>\n<p>AWS WAF\uc5d0 \uc811\uadfc \ud5c8\uc6a9\/\ucc28\ub2e8 \uc815\ucc45\uc744 \uad6c\uc131\ud560 \ub54c \ub2e4\uc74c\uacfc \uac19\uc740 \uad6c\uc131 \uc694\uc18c\ub4e4\uc744 \uc870\ud569\ud558\uc5ec \uc815\ucc45\uc744 \uad6c\uc131\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p><b>\uad6c\uc131 \uc694\uc18c 1 \u2013 IP \uc138\ud2b8 (IP set)<\/b><br \/> AWS WAF\ub97c \ud1b5\ud574\uc11c \ud5c8\uc6a9\ud558\uac70\ub098 \ucc28\ub2e8\ud558\uace0\uc790 \ud558\ub294 IP \uc8fc\uc18c \uc9d1\ud569\uc73c\ub85c CIDR \uc744 \uae30\uc900\uc73c\ub85c \uc124\uc815\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. AWS WAF\uc5d0\uc11c\ub294 \uc0ac\uc6a9\uc790\uac00 \uc6f9\uc11c\ube44\uc2a4\uc5d0 \uc811\uc18d\ud558\uac8c \ub418\uba74 \uc0ac\uc6a9\uc790\uc758 \uc811\uc18d \uc815\ubcf4 \uc911 IP Address Header \ub098 \uad00\ub9ac\uc790\uac00 \uc9c0\uc815\ud55c HTTP Header \uc758 \uac12\uc744 \uac80\uc0ac\ud558\uc5ec IP \uc8fc\uc18c \uc815\ubcf4\ub97c \ucd94\ucd9c\ud558\uac8c \ub429\ub2c8\ub2e4. \uad00\ub9ac\uc790\ub294 \uc774\ub807\uac8c \ucd94\ucd9c\ub41c IP \uc8fc\uc18c \uc815\ubcf4\ub97c IP \uc138\ud2b8\uc640 \ube44\uad50\ud558\ub294 IP \ub9e4\uce6d \uaddc\uce59\uc744 \ub9cc\ub4e4\uc5b4 \uc694\uccad\uc774 \ud5c8\uc6a9\ub418\uac70\ub098 \ucc28\ub2e8\ub418\ub3c4\ub85d \uad6c\uc131\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p><a href=\"https:\/\/d2908q01vomqb2.cloudfront.net\/7b52009b64fd0a2a49e6d8a939753077792b0554\/2020\/09\/01\/IP-Parsing.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-9764\" src=\"https:\/\/d2908q01vomqb2.cloudfront.net\/7b52009b64fd0a2a49e6d8a939753077792b0554\/2020\/09\/01\/IP-Parsing.png\" alt=\"\" width=\"853\" height=\"864\" \/><\/a><\/p>\n<p><b>\uad6c\uc131 \uc694\uc18c 2 \u2013 \uc815\uaddc \ud45c\ud604\uc2dd \uc138\ud2b8 (Regex Set)<\/b><br \/> AWS WAF\ub97c \ud1b5\ud574\uc11c \ud5c8\uc6a9\ud558\uac70\ub098 \ucc28\ub2e8\ud558\uace0\uc790 \ud558\ub294 \ubb38\uc790\uc5f4\uc758 \uc9d1\ud569\uc73c\ub85c \uc815\uaddc\ud45c\ud604\uc2dd\uc744 \uae30\uc900\uc73c\ub85c \uc124\uc815\ud558\uc2e4 \uc218 \uc788\uc2b5\ub2c8\ub2e4. AWS WAF\uc5d0\uc11c\ub294 \uad00\ub9ac\uc790\uac00 \uc9c0\uc815\ud55c HTTP Request \uc601\uc5ed\uc5d0\uc11c \uc9c0\uc815\ub41c \ubcc0\ud658 \uc6d0\uce59\uc5d0 \ub530\ub77c \ubb38\uc790\uc5f4\uc744 \ucd94\ucd9c\ud558\uac8c \ub429\ub2c8\ub2e4. \uad00\ub9ac\uc790\ub294 \uc774\ub807\uac8c \ucd94\ucd9c\ub41c \ubb38\uc790\uc5f4 \uc815\ubcf4\ub97c \uc815\uaddc \ud45c\ud604\uc2dd \uc138\ud2b8\uc640 \ube44\uad50\ud558\ub294 \ubb38\uc790\uc5f4 \ub9e4\uce6d \uaddc\uce59\uc744 \ub9cc\ub4e4\uc5b4 \uc694\uccad\uc774 \ud5c8\uc6a9\ub418\uac70\ub098 \ucc28\ub2e8\ub418\ub3c4\ub85d \uad6c\uc131\ud558\uc2e4 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p><b>\uad6c\uc131 \uc694\uc18c 3 \u2013 \uaddc\uce59 (Rule) <\/b><br \/> \uc6f9 ACL\uc744 \uc774\ub8e8\ub294 \uad6c\uc131 \uc694\uc18c \uc911 \ud558\ub098\ub85c AWS WAF \uad00\ub9ac\uc790\uac00 \uc6f9\uc11c\ube44\uc2a4\ub97c \ubcf4\ud638\ud558\uae30 \uc704\ud574 \uc801\uc6a9\ud558\uace0\uc790 \ud558\ub294 AWS WAF\uc758 \ubcf4\uc548 \uc815\ucc45\uc785\ub2c8\ub2e4. \uaddc\uce59\uc740 \uc124\uc815\uc5d0 \ub530\ub77c \uc0ac\uc6a9\uc790 \uc9c0\uc815 \uc815\ucc45\uc744 \uc0ac\uc6a9\ud558\ub294 \uacbd\uc6b0 IP \ub9e4\uce6d, \uad6d\uac00\ubcc4 \ub9e4\uce6d, \ubb38\uc790\uc5f4 \ub9e4\uce6d, SQL \uc8fc\uc785 \uacf5\uaca9 \ub9e4\uce6d, XSS (Cross Site Scripting) \uacf5\uaca9 \ub9e4\uce6d \ub4f1\uc744 \uc0ac\uc6a9\ud560 \uc218 \uc788\uc73c\uba70 AWS \uad00\ub9ac\ud615 \uaddc\uce59\uc774\ub098 \ubcf4\uc548 \ud30c\ud2b8\ub108\uac00 \ud310\ub9e4\ud558\ub294 \uad00\ub9ac\ud615 \uaddc\uce59\uc744 \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p>\uaddc\uce59 \uc870\uac74 \uc911 SQL \uc8fc\uc785 \uacf5\uaca9\uc744 \ud0d0\uc9c0\ud558\uace0 \ucc28\ub2e8\ud558\ub294 \ubc29\ubc95\uc744 \uc608\ub85c \ub4e4\uba74, \ud06c\uac8c 4\uac00\uc9c0\uc758 \ubc29\ubc95\uc73c\ub85c \ub098\ub20c \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p>\uccab\ubc88\uc9f8, AWS WAF\uc5d0\uc11c \uc81c\uacf5\ud558\ub294 SQL \uc8fc\uc785 \ud328\ud134\uc744 \uac80\uc0ac\ud558\ub294 \uc0ac\uc6a9\uc790 \uc815\uc758 \uaddc\uce59(Rule)\uc744 \uc0dd\uc131\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<br \/> \ub450\ubc88\uc9f8, AWS \uc5d0\uc11c \uc81c\uacf5\ud558\ub294 AWS \uad00\ub9ac\ud615 \uaddc\uce59 \uc138\ud2b8\ub97c \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<br \/> \uc138\ubc88\uc9f8, \uc11c\ub4dc\ud30c\ud2f0 \uc5d0\uc11c \uc81c\uacf5\ud558\ub294 \ud30c\ud2b8\ub108 \uad00\ub9ac \uaddc\uce59(Partner Managed Rule)\uc744 \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<br \/> \ub124\ubc88\uc9f8, \ud2b9\uc815 SQL \uc8fc\uc785 \uacf5\uaca9 \ud328\ud134\uc744 \uc54c\uace0 \uc788\ub294 \uacbd\uc6b0 \uc0ac\uc6a9\uc790 \uc815\uc758 \uaddc\uce59\uc744 \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p>\uc774\uc911 \uccab\ubc88\uc9f8 \ubc29\ubc95\uc778 AWS WAF\uc5d0\uc11c \uc81c\uacf5\ud558\ub294 SQL \uc8fc\uc785 \ud328\ud134\uc744 \uc774\uc6a9\ud558\uc5ec SQL \uc8fc\uc785 \uacf5\uaca9\uc744 \ud0d0\uc9c0\ud558\uace0 \ucc28\ub2e8\ud558\ub294 \ubc29\ubc95\uc5d0 \ub300\ud574 \uc0b4\ud3b4\ubcf4\ub3c4\ub85d \ud558\uaca0\uc2b5\ub2c8\ub2e4.<\/p>\n<p>\uba3c\uc800 SQL \uc8fc\uc785 \uacf5\uaca9\uc744 \ud0d0\uc9c0 \ubc0f \ucc28\ub2e8\ud558\ub294 \uaddc\uce59\uc744 \uc0dd\uc131\ud558\uae30 \uc704\ud558\uc5ec \uc544\ub798\uc640 \uac19\uc774 \uaddc\uce59\uba85\uc744 \uc785\ub825\ud55c \ud6c4 \uaddc\uce59\uc758 \ud0c0\uc785\uc774 \u201cRegular Rule\u201d \uc778 \uac83\uc744 \ud655\uc778\ud55c \ud6c4 \uc870\uac74\ubb38\uc758 \u201cMatch Type\u201d \uc744 \u201cContains SQL Injection attacks\u201d \ub85c \uc120\ud0dd\ud569\ub2c8\ub2e4. \uc870\uac74\ubb38\uc758 \uac80\uc0ac(Inspect) \ud56d\ubaa9\uc740 \uc0ac\uc6a9 \ud658\uacbd\uc5d0 \ub530\ub77c \ub2e4\uc591\ud558\uac8c \uc120\ud0dd\ub420 \uc218 \uc788\ub294\ub370 \uc774 \uc608\uc5d0\uc11c\ub294 \u201cAll query parameters\u201d \ub97c \uc120\ud0dd\ud558\uc5ec \uc0ac\uc6a9\uc790\uac00 \uc804\uc1a1\ud558\ub294 \ucffc\ub9ac \uc2a4\ud2b8\ub9c1\uc758 \ubaa8\ub4e0 \ud30c\ub77c\ubbf8\ud130\uc5d0 \ub300\ud574 SQL \uc8fc\uc785 \uacf5\uaca9\uc774 \ud3ec\ud568\ub418\uc5b4 \uc788\ub294\uc9c0 \uac80\uc0ac\ud558\ub3c4\ub85d \ud588\uc2b5\ub2c8\ub2e4. \uadf8\ub9ac\uace0 AWS WAF\uac00 \ube0c\ub77c\uc6b0\uc800 \ud639\uc740 \uae30\ud0c0 \uc6f9 \ud074\ub77c\uc774\uc5b8\ud2b8\uac00 \ubcf4\ub0b8 \uc0ac\uc6a9\uc790 \uc694\uccad\uc744 \uc778\uc2dd\ud558\uace0 \ubd84\uc11d\ud560 \uc218 \uc788\ub3c4\ub85d \u201cText transformation\u201d \uc635\uc158\uc744 \uc120\ud0dd\ud574 \uc8fc\uc5c8\uc2b5\ub2c8\ub2e4.<\/p>\n<p><a href=\"https:\/\/d2908q01vomqb2.cloudfront.net\/7b52009b64fd0a2a49e6d8a939753077792b0554\/2020\/09\/01\/SQLi.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-9767\" src=\"https:\/\/d2908q01vomqb2.cloudfront.net\/7b52009b64fd0a2a49e6d8a939753077792b0554\/2020\/09\/01\/SQLi.png\" alt=\"\" width=\"830\" height=\"836\" \/><\/a><\/p>\n<p>\uaddc\uce59\uba85\uacfc \uc870\uac74\ubb38\uc774 \ubaa8\ub450 \uc124\uc815 \ub418\uc5c8\ub2e4\uba74 SQL \uc8fc\uc785 \uacf5\uaca9\uc774 \ucc28\ub2e8\ub420 \uc218 \uc788\ub3c4\ub85d \u201cAction\u201d \uc744 \ucc28\ub2e8(Block) \uc73c\ub85c \uc120\ud0dd\ud569\ub2c8\ub2e4.<\/p>\n<p><a href=\"https:\/\/d2908q01vomqb2.cloudfront.net\/7b52009b64fd0a2a49e6d8a939753077792b0554\/2020\/09\/01\/actoin-block.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-9768\" src=\"https:\/\/d2908q01vomqb2.cloudfront.net\/7b52009b64fd0a2a49e6d8a939753077792b0554\/2020\/09\/01\/actoin-block.png\" alt=\"\" width=\"830\" height=\"275\" \/><\/a><\/p>\n<p>\uc774\uc640 \uac19\uc740 \uaddc\uce59\uc744 \uc0dd\uc131\ud55c \ud6c4 \uc801\uc6a9\ud558\uac8c \ub418\uba74 AWS WAF\ub294 \uc0ac\uc6a9\uc790\uc758 \uc694\uccad\uc774 \uc6f9 ACL \uc774 \uc5f0\uacb0\ub41c <a href=\"https:\/\/aws.amazon.com\/ko\/cloudfront\">Amazon CloudFront<\/a> \ubc30\ud3ec\ub098 <a href=\"https:\/\/docs.aws.amazon.com\/ko_kr\/elasticloadbalancing\/latest\/application\/introduction.html\">ALB (Application Load Balancer)<\/a> \ud639\uc740 <a href=\"https:\/\/aws.amazon.com\/ko\/apigateway\">Amazon API Gateway <\/a>\ub85c \uc218\uc2e0\ub418\uac8c \ub418\uba74 \uc694\uccad \ud2b8\ub798\ud53d\uc744 \uac80\uc0ac\ud55c \ud6c4 \uc0ac\uc6a9\uc790\uc758 \uc694\uccad\uc5d0 SQL \uc8fc\uc785 \uacf5\uaca9\uc774 \ud3ec\ud568\ub418\uc5b4 \uc788\ub294 \uacbd\uc6b0 \ud574\ub2f9 \uacf5\uaca9\uc744 \ud0d0\uc9c0\ud558\uac8c \ub418\uace0 \ud574\ub2f9 \uc694\uccad\uc744 \ucc28\ub2e8\ud558\uac8c \ub429\ub2c8\ub2e4. \uc774\uc640 \uac19\uc740 AWS WAF \ub3d9\uc791\uc740 \uc0ac\uc6a9\uc790\uac00 \ubcf4\ub0b4\ub294 \ubaa8\ub4e0 \ud2b8\ub798\ud53d\uc5d0 \ub300\ud574 \uc9c4\ud589\ub429\ub2c8\ub2e4.<\/p>\n<p><b>\uad6c\uc131 \uc694\uc18c 4 \u2013 \uaddc\uce59 \uadf8\ub8f9 (Rule Group)<\/b><br \/> \uaddc\uce59 \uadf8\ub8f9\uc740 \uaddc\uce59\uc758 \uc870\ud569\uc73c\ub85c \uc6f9 ACL \uc5d0 \ud3ec\ud568\ub418\ub294 \uaddc\uce59\ub4e4\uc774 \uc11c\ub85c \ub2e4\ub978 \uc6f9 ACL \uc5d0\uc11c \ubc18\ubcf5\uc801\uc73c\ub85c \uc0ac\uc6a9 \ub418\ub294 \uacbd\uc6b0\ub97c \uc704\ud574 \uc6f9 ACL \uc5d0\uc11c \ucc38\uc870\ud558\uc5ec \uc0ac\uc6a9\ud560 \uc218 \uc788\ub3c4\ub85d \uaddc\uce59\ub4e4\uc744 \uadf8\ub8f9\ud654\ud558\uc5ec \uc0dd\uc131\ud558\ub294 \uad6c\uc131\uc694\uc18c\ub85c \uc6f9 ACL \uc0dd\uc131 \uc2dc \ucc38\uc870\ud558\uc5ec \uc815\ucc45\uc744 \uc0dd\uc131\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p><b>\uad6c\uc131 \uc694\uc18c 5 \u2013 \uc6f9 ACL (Web ACL)<\/b><br \/> \uc6f9 ACL \uc740 \uaddc\uce59 \uadf8\ub8f9\uc774\ub098 \uac1c\ubcc4 \uaddc\uce59\uc744 \ud3ec\ud568\ud558\ub294 AWS WAF\uc758 \ubcf4\uc548 \uc815\ucc45\uc758 \ubaa8\uc74c\uc73c\ub85c \uc6f9 ACL\uc774 Amazon CloudFront \ub098 API Gateway, ALB \uc640 \uac19\uc740 \ubcf4\ud638 \ub300\uc0c1 AWS \uc790\uc6d0\uacfc \uc5f0\uacc4\ub418\ub294 \uad6c\uc131 \uc694\uc18c\uc785\ub2c8\ub2e4.<\/p>\n<h3><b>AWS WAF\uc758 \uc815\ucc45 \uac80\uc0ac \uad6c\uc870 <\/b><\/h3>\n<p>AWS WAF\ub294 \uc5ec\ub7ec\uac00\uc9c0 \uaddc\uce59\ub4e4\uc774 \uac1c\ubcc4 \uaddc\uce59\uacfc \uaddc\uce59 \uadf8\ub8f9\uc73c\ub85c \uc870\ud569\ub418\uc5b4 \uc788\ub294 \uc6f9 ACL \uc744 \ud1b5\ud574 \uc815\ucc45 \uac80\uc0ac\ub97c \uc218\ud589\ud569\ub2c8\ub2e4. \uc774 \ub54c \uad00\ub9ac\uc790\ub294 \uc6f9 ACL \uc5d0 \ud3ec\ud568\ub418\uc5b4 \uc788\ub294 \uaddc\uce59\uc5d0 \uc21c\uc11c\ub97c \uc9c0\uc815\ud560 \uc218 \uc788\uac8c \ub418\ub294\ub370 AWS WAF\ub294 \uad00\ub9ac\uc790\uac00 \uc9c0\uc815\ud55c \uc774 \uc21c\uc11c\uc5d0 \ub530\ub77c \uc815\ucc45 \uac80\uc0ac\ub97c \uc218\ud589\ud569\ub2c8\ub2e4. \ub610\ud55c, \uaddc\uce59\uc758 Action \uc774 \ud5c8\uc6a9 \ud639\uc740 \ucc28\ub2e8\uc778 \uacbd\uc6b0 \ud2b9\uc815 \uaddc\uce59\uc5d0 \uc0ac\uc6a9\uc790\uc758 HTTP \uc694\uccad\uc774 \ub9e4\uce6d\ub418\ub294 \uacbd\uc6b0 AWS WAF\ub294 \ub2e4\ub978 \uaddc\uce59\uc5d0 \ub300\ud574 \ub354\uc774\uc0c1 \uc815\ucc45 \uac80\uc0ac\ub97c \uc218\ud589\ud558\uc9c0 \uc54a\uace0 \uc815\uc758\ub41c Action \uc5d0 \ub530\ub77c \u201c\ud5c8\uc6a9\u201d \ub610\ub294 \u201c\ucc28\ub2e8\u201d \uc744 \uc218\ud589\ud558\uac8c \ub429\ub2c8\ub2e4.<\/p>\n<p>\ub2e8, \uaddc\uce59\uc758 Action \uc774 \u201c\uac1c\uc218(Count)\u201d \uc778 \uacbd\uc6b0\uc5d0\ub294 \ud574\ub2f9 \uaddc\uce59\uc5d0 \uc0ac\uc6a9\uc790 \uc694\uccad\uc774 \ub9e4\uce6d\ub418\ub354\ub77c\ub3c4 \ub2e4\uc74c \uc21c\uc11c\uc758 \uaddc\uce59\uc5d0 \ub300\ud55c \uac80\uc0ac\ub97c \uacc4\uc18d \uc9c4\ud589\ud558\uac8c \ub429\ub2c8\ub2e4. \ub530\ub77c\uc11c, \uc0c8\ub85c\uc6b4 \uaddc\uce59\uc744 \uc0dd\uc131\ud55c \ud6c4 \uc801\uc6a9\ud558\uac70\ub098 \uae30\uc874\uc758 \uaddc\uce59 \uc124\uc815\uc744 \ubcc0\uacbd\ud558\ub294 \uacbd\uc6b0\uc5d0\ub294 \uc758\ub3c4\ud558\uc9c0 \uc54a\uc740 \uc0ac\uc6a9\uc790\uc758 \ucc28\ub2e8\uc744 \ubc29\uc9c0\ud558\uae30 \uc704\ud558\uc5ec \uc77c\uc815 \uae30\uac04\ub3d9\uc548 \u201c\uac1c\uc218\u201d \ubaa8\ub4dc\ub97c \uc801\uc6a9\ud558\uc5ec \ud574\ub2f9 \uaddc\uce59\uc758 \uc815\uc0c1 \ub3d9\uc791 \uc720\ubb34\ub97c \ud655\uc778\ud558\ub294 \uac83\uc774 \uc911\uc694\ud569\ub2c8\ub2e4.<\/p>\n<p>\uc544\ub798\uc758 \uadf8\ub9bc\uc740 \ud558\ub098\uc758 \uc6f9 ACL \uc5d0 \ub450 \uac1c\uc758 \uaddc\uce59 ( \uaddc\uce59 A \uc640 \uaddc\uce59 B ) \uc640 \ud568\uaed8 3\uac1c\uc758 \uaddc\uce59\uc774 \ud3ec\ud568\ub418\uc5b4 \uc788\ub294 \uaddc\uce59 \uadf8\ub8f9\uc774 \uc801\uc6a9\ub418\uc5b4 \uc788\ub294 \uc0c1\ud0dc\uc5d0\uc11c AWS WAF\uac00 \uaddc\uce59 \uac80\uc0ac\ub97c \uc218\ud589\ud558\ub294 \uc21c\uc11c\ub97c \ub098\ud0c0\ub0b4\uace0 \uc788\uc2b5\ub2c8\ub2e4. \uc6f9 ACL \uc5d0 \ud3ec\ud568\ub418\uc5b4 \uc788\ub294 \uac01\uac01\uc758 \uaddc\uce59\uacfc \uaddc\uce59 \uadf8\ub8f9\uc740 \ud558\ub098\uc758 \uc6b0\uc120\uc21c\uc704 \uac12\uc744 \uac16\uac8c \ub418\uba70 \u201c0\u201d \uc774 \uac00\uc7a5 \uc815\ucc45 \uac80\uc0ac \uc6b0\uc120 \uc21c\uc704\uac00 \ub192\uace0 \uc22b\uc790\uac00 \ub192\uc744 \uc218\ub85d \uc815\ucc45 \uac80\uc0ac \uc6b0\uc120 \uc21c\uc704\uac00 \ub0ae\uc2b5\ub2c8\ub2e4. \ub610\ud55c \uaddc\uce59 \uadf8\ub8f9 \ub0b4\uc758 \uac1c\ubcc4 \uaddc\uce59\ub3c4 \ub9c8\ucc2c\uac00\uc9c0\ub85c \uaddc\uce59 \ubcc4\ub85c \uc6b0\uc120\uc21c\uc704 \uac12\uc744 \uac16\uac8c \ub418\ub294\ub370 \uc774 \uc6b0\uc120\uc21c\uc704\uac00 \uac16\ub294 \uc815\ucc45 \uac80\uc0ac \uc6b0\uc120 \uc21c\uc704\ub3c4 \ub3d9\uc77c\ud569\ub2c8\ub2e4.<\/p>\n<p><a href=\"https:\/\/d2908q01vomqb2.cloudfront.net\/7b52009b64fd0a2a49e6d8a939753077792b0554\/2020\/09\/01\/image-10.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-9765\" src=\"https:\/\/d2908q01vomqb2.cloudfront.net\/7b52009b64fd0a2a49e6d8a939753077792b0554\/2020\/09\/01\/image-10.png\" alt=\"\" width=\"516\" height=\"580\" \/><\/a>\uc774\uc640 \uac19\uc740 \uc6b0\uc120 \uc21c\uc704\uac00 \uc801\uc6a9\ub418\uc5b4 \uc788\uace0 \uc0ac\uc6a9\uc790\uc758 \uc694\uccad\uc774 \ubaa8\ub4e0 \uaddc\uce59\uc5d0 \ub9e4\uce6d\ub418\uc9c0 \uc54a\ub294\ub2e4\ub294 \uc870\uac74\uc774\ub77c\uba74 \uc544\ub798\uc640 \uac19\uc740 \uc21c\uc11c\ub85c \uc0ac\uc6a9\uc790\uc758 \uc694\uccad\uc774 AWS WAF\uc5d0\uc11c \uac80\uc0ac\ub418\uac8c \ub429\ub2c8\ub2e4.<\/p>\n<p><i><b>\uc0ac\uc6a9\uc790 \uc694\uccad \u2192 Rule A \u2192 Rule B \u2192 Rule #1 in Rule Group \u2192 Rule #2 in Rule Group \u2192 Rule #3 in Rule Group<\/b><\/i><\/p>\n<p>\uc608\ub97c \ub4e4\uc5b4, \uc0ac\uc6a9\uc790\uc758 \uc694\uccad\uc774 \uaddc\uce59 A \uc5d0 \ub9e4\uce6d\uc774 \ub41c\ub2e4\uba74 AWS WAF\ub294 \uaddc\uce59 A \uc758 Action \uc774 \u201c\uac1c\uc218\u201d\uac00 \uc544\ub2cc \uc774\uc0c1 \uaddc\uce59 B \ub97c \ud3ec\ud568\ud55c \uae30\ud0c0 \uaddc\uce59\uc5d0 \ub300\ud574 \uac80\uc0ac\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \ub9cc\uc77c \uc0ac\uc6a9\uc790\uc758 \uc694\uccad\uc774 \uaddc\uce59 A \uc5d0 \ub9e4\uce6d\uc774 \ub418\uace0 \uaddc\uce59 A \uc758 Action \uc774 \u201c\uac1c\uc218\u201d \ub77c\uba74 AWS WAF\ub294 \uc0ac\uc6a9\uc790\uc758 \uc694\uccad\uc5d0 \ub300\ud574 \uaddc\uce59 B \uc5d0 \ub300\ud574\uc11c\ub3c4 \uac80\uc0ac\ub97c \uc9c4\ud589\ud558\uac8c \ub429\ub2c8\ub2e4.<\/p>\n<h3><b>AWS WAF\ub97c \ud1b5\ud55c \ub85c\uadf8 \ubd84\uc11d<br \/> <\/b><\/h3>\n<p>\uc5ec\ub7ec\ubd84\ub4e4\uc740 AWS WAF\uc5d0\uc11c \ucc98\ub9ac\ud558\ub294 \uc0ac\uc6a9\uc790\uc758 \uc694\uccad\uc744 \ub85c\uae45 \uae30\ub2a5\uc744 \ud1b5\ud558\uc5ec \ubd84\uc11d\ud558\uc2e4 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ub530\ub77c\uc11c, AWS WAF \uc6b4\uc601 \uacfc\uc815\uc5d0\uc11c \ubc1c\uc0dd\ud560 \uc218 \uc788\ub294 \uc624\ud0d0\uc5d0 \ub300\ud55c \ucc98\ub9ac \uacfc\uc815\uc5d0\uc11c\ub3c4 \ub85c\uae45 \uae30\ub2a5\uc744 \ud1b5\ud574 \ud544\uc694\ud55c \uc815\ubcf4\ub97c \uc5bb\uc744 \uc218 \uc788\uc2b5\ub2c8\ub2e4.AWS WAF\ub294 \ub450 \uac00\uc9c0 \ub85c\uae45 \uae30\ub2a5\uc744 \uc81c\uacf5\ud569\ub2c8\ub2e4.<\/p>\n<p>\uccab\ubc88\uc9f8 \ubc29\ubc95\uc740 AWS \uad00\ub9ac \ucf58\uc194\uc5d0\uc11c \uc9c1\uc811 \ud655\uc778\ud558\uc2e4 \uc218 \uc788\ub294 \uc0d8\ud50c \ub85c\uae45\uc774\uba70 \ub2e4\ub978 \ud558\ub098\ub294 <a href=\"https:\/\/aws.amazon.com\/ko\/kinesis\/data-firehose\/\">Amazon Kinesis Data Firehose<\/a>\uc640 \uc5f0\uacc4\ud558\uc5ec <a href=\"https:\/\/aws.amazon.com\/ko\/s3\">Amazon S3<\/a> \uc5d0 \uc800\uc7a5\ub418\ub3c4\ub85d \uad6c\uc131\ud558\uc2e4 \uc218 \uc788\ub294 \ud480\ub85c\uae45(Full Logging) \ubc29\uc2dd\uc785\ub2c8\ub2e4. \uc774\uc640 \uac19\uc740 AWS WAF \ud480\ub85c\uae45\uc740 \uc6f9 ACL\uc744 \uc0dd\uc131\ud558\uba74 \uae30\ubcf8\uc801\uc73c\ub85c \ube44\ud65c\uc131\ud654 \ub418\uc5b4\uc788\uc9c0\ub9cc,\uc124\uc815\uc744 \ud1b5\ud558\uc5ec \ud480\ub85c\uae45\uc744 \ud65c\uc131\ud654\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ud480\ub85c\uae45\uc744 \ud65c\uc131\ud654 \ud558\uae30 \uc704\ud574\uc11c\ub294 \uc811\ub450\uc0ac <code>aws-waf-logs-<\/code>\ub85c \uc2dc\uc791\ud558\ub294 \uc774\ub984\uc744 \uc0ac\uc6a9\ud558\uc5ec Amazon Kinesis Data Firehose\ub97c \uc0dd\uc131\ud558\uace0 \ub85c\uadf8\ub97c \uc800\uc7a5\ud560 \ub300\uc0c1 \uc704\uce58\ub97c \uc120\ud0dd\ud55c \ub4a4, AWS WAF\uc6f9 ACL\uc5d0\uc11c \ub85c\uae45\uc744 \uad6c\uc131\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ub85c\uae45\uc774 \ud65c\uc131\ud654\uac00 \ub418\uba74 AWS \ub9ac\uc18c\uc2a4\ub85c\ubd80\ud130 \uc694\uccad\uc744 \ubc1b\uc740 \uc2dc\uac04, \uc694\uccad\uc5d0 \ub300\ud55c \uc138\ubd80 \uc815\ubcf4, \uac01 \uc694\uccad\uc774 \ubd80\ud569\ub418\ub294 \uaddc\uce59 \ub4f1\uc5d0 \ub300\ud55c \uc0c1\uc138\ud55c \uae30\ub85d\uc774 \ub300\uc0c1 \uc704\uce58\uc5d0 \uc800\uc7a5\ub429\ub2c8\ub2e4.<\/p>\n<p>\uadf8\ub7fc \uc2e4\uc81c \ub85c\uadf8 \uc608\uc2dc\ub97c \ubcf4\ub3c4\ub85d \ud558\uaca0\uc2b5\ub2c8\ub2e4.<\/p>\n<pre><code class=\"lang-json\">{\n    &quot;timestamp&quot;: 1590388359830,\n    &quot;formatVersion&quot;: 1,\n    &quot;webaclId&quot;: &quot;arn:aws:wafv2:ap-northeast-2:xxxxxxxx:regional\/webacl\/MyWAF\/8e61f8a9-xxxx-4f78-b4f0-6862d36982b2&quot;,\n    &quot;terminatingRuleId&quot;: &quot;AWS-AWSManagedRulesCommonRuleSet&quot;,\n    &quot;terminatingRuleType&quot;: &quot;MANAGED_RULE_GROUP&quot;,\n    &quot;action&quot;: &quot;BLOCK&quot;,\n    &quot;terminatingRuleMatchDetails&quot;: [\n        {\n            &quot;conditionType&quot;: &quot;XSS&quot;,\n            &quot;location&quot;: &quot;ALL_QUERY_ARGS&quot;,\n            &quot;matchedData&quot;: [\n                &quot;&lt;&quot;,\n                &quot;script&quot;\n            ]\n        }\n    ],\n    &quot;httpSourceName&quot;: &quot;ALB&quot;,\n    &quot;httpSourceId&quot;: &quot;xxxxxxx-app\/MyDVW-Appli-1G779GWG26KJQ\/75f9xxxx052e6512&quot;,\n    &quot;ruleGroupList&quot;: [\n        {\n            &quot;ruleGroupId&quot;: &quot;AWS#AWSManagedRulesCommonRuleSet&quot;,\n            &quot;terminatingRule&quot;: {\n                &quot;ruleId&quot;: &quot;CrossSiteScripting_QUERYARGUMENTS&quot;,\n                &quot;action&quot;: &quot;BLOCK&quot;\n            },\n            &quot;nonTerminatingMatchingRules&quot;: [],\n            &quot;excludedRules&quot;: null\n        }\n    ],\n    &quot;rateBasedRuleList&quot;: [],\n    &quot;nonTerminatingMatchingRules&quot;: [],\n    &quot;httpRequest&quot;: {\n        &quot;clientIp&quot;: &quot;54.xx.119.1&quot;,\n        &quot;country&quot;: &quot;KR&quot;,\n        &quot;headers&quot;: [\n            {\n                &quot;name&quot;: &quot;Host&quot;,\n                &quot;value&quot;: &quot;mydvw-appli-1g779gwg26kjq-xxxxx.ap-northeast-2.elb.amazonaws.com&quot;\n            },\n            {\n                &quot;name&quot;: &quot;User-Agent&quot;,\n                &quot;value&quot;: &quot;Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/81.0.4044.138 Safari\/537.36&quot;\n            },\n            # ...\uc911\uac04 \uc0dd\ub7b5 \n        ],\n        &quot;uri&quot;: &quot;\/vulnerabilities\/xss_r\/&quot;,\n        &quot;args&quot;: &quot;name=%3Cscript%3Ealert%28document.cookie%29%3C%2Fscript%3E&quot;,\n        &quot;httpVersion&quot;: &quot;HTTP\/1.1&quot;,\n        &quot;httpMethod&quot;: &quot;GET&quot;,\n        &quot;requestId&quot;: null\n    }\n}<\/code><\/pre>\n<p>\uc774 \ub85c\uadf8\ub294 AWS WAF\uc5d0\uc11c \uc81c\uacf5\ub418\ub294 \uad00\ub9ac\ud615 \uaddc\uce59 \uc911 \ud558\ub098\uc778 <b>\ud575\uc2ec \uaddc\uce59 \uc9d1\ud569(CRS, Core rule set)<\/b>\uc5d0 \uc758\ud574 \ucc28\ub2e8\ub41c \ub85c\uadf8\uc785\ub2c8\ub2e4. \ud2b9\ud788 SQL injection \uc774\ub098 Cross site scripting \uacf5\uaca9 \ucc28\ub2e8\uac74\uc5d0 \ub300\ud574\uc11c\ub294 <i>terminatingRuleMatchDetails <\/i>\ud544\ub4dc\uac00 \uc81c\uacf5\ub418\uc5b4 \uc694\uccad\uc758 \uc5b4\ub5a4 \ubd80\ubd84 \ub54c\ubb38\uc5d0 \ucc28\ub2e8\uc774 \ub418\uc5c8\ub294\uc9c0 \uba85\ud655\ud558\uac8c \ud655\uc778\uc774 \uac00\ub2a5\ud569\ub2c8\ub2e4. \ub610\ud55c, ruleGroupList \ud544\ub4dc\uc5d0\ub294 \uc694\uccad\uc744 \ucc28\ub2e8\ud55c \uc138\ubd80 \uaddc\uce59\uacfc \uaddc\uce59\uadf8\ub8f9\uc5d0\uc11c \uc81c\uc678\ub41c \uaddc\uce59\ub4e4\uc744 \uc54c \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uadf8 \uc678\uc5d0\ub3c4 <i>sourceId <\/i>\ub098 <i>httpRequest<\/i> \ub4f1\uc758 \ud544\ub4dc\ub97c \ud1b5\ud574 \uc694\uccad\uc5d0 \ub300\ud55c \uac00\uc2dc\uc131\uc744 \uc5bb\uc744 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<h3><b>AWS WAF\ub97c \ud1b5\ud574 \uc624\ud0d0 \ud655\uc778\ud558\uae30<br \/> <\/b><\/h3>\n<p>\uc790, \uadf8\ub7fc \uc774\uc81c \uc5ec\ub7ec\ubd84\uc774 AWS WAF\ub85c\uadf8 \ubd84\uc11d\uc774\ub098 \uc0ac\uc6a9\uc790\uc758 \ud53c\ub4dc\ubc31 \ub4f1\uc744 \ud1b5\ud574 \uc624\ud0d0(False Positive) \ud56d\ubaa9\uc774 \uc788\ub2e4\ub294 \uac78 \uc54c\uc558\ub2e4\uace0 \uac00\uc815\ud574\ubcf4\uaca0\uc2b5\ub2c8\ub2e4. AWS \uad00\ub9ac\ud615 \uaddc\uce59(AMR)\uc740 \uac00\uc7a5 \uc77c\ubc18\uc801\uc778 \ubcf4\uc548 \uc704\ud611\uc744 \ucc28\ub2e8\ud558\ub294\ub370 \uc801\ud569\ud558\uc9c0\ub9cc, \uc560\ud50c\ub9ac\ucf00\uc774\uc158 \ud2b9\uc131\uc5d0 \ub530\ub77c SQL \uc8fc\uc785 \uacf5\uaca9\uc774\ub098 XSS \ub4f1\uc5d0\uc11c \uc624\ud0d0\uc774 \ubc1c\uc0dd\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ub610\ud55c, \uc0ac\uc6a9\uc790 \uc815\uc758 \uaddc\uce59\uc744 \ub9cc\ub4e4\uc5c8\ub2e4\uace0 \ud574\ub3c4, \uc6b4\uc601\uc744 \ud558\ub2e4\ubcf4\uba74 \uc624\ud0d0\uc774 \ubc1c\uacac\ub420 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uc5b4 \uc218\uc815\uc774 \ud544\uc694\ud55c \uc77c\ubd80 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc740 \uc545\uc758\uc801\uc778 \uc694\uccad\uc73c\ub85c \ubcf4\uc77c \uc218 \uc788\ub294 \uc694\uccad\uc744 \uc0ac\uc6a9\ud560 \uc218\ub3c4 \uc788\uc2b5\ub2c8\ub2e4. \ub530\ub77c\uc11c, \uc6d0\ud65c\ud55c \uc11c\ube44\uc2a4 \uc6b4\uc601\uc744 \uc704\ud574\uc11c\ub294 \uc774\ub7ec\ud55c \uc624\ud0d0\uc744 \ubc29\uc9c0\ud574\uc57c\ud569\ub2c8\ub2e4.<\/p>\n<p>WAF \ub97c \uc0ac\uc6a9\ud558\ub294 \ud658\uacbd\uc5d0\uc11c \uc624\ud0d0\uc774 \ubc1c\uc0dd\ud558\ub294 \uac83\uc744 \uc608\ubc29\ud558\uae30 \uc704\ud574\uc11c\ub294 \uac1c\ubc1c \ud639\uc740 \uc2a4\ud14c\uc774\uc9d5 \ud658\uacbd\uc5d0\uc11c WAF \uc758 \uaddc\uce59\uc744 Block \uc73c\ub85c \uc804\ud658\ud558\uae30 \uc804 \uaddc\uce59\uc744 \uba3c\uc800 \ud14c\uc2a4\ud2b8\ud558\ub294 \uac83\uc774 \uac00\uc7a5 \uc88b\uc2b5\ub2c8\ub2e4. \uadf8\ub9ac\uace0 \uc774\uc640 \uac19\uc740 \uacfc\uc815\uc5d0\uc11c \uaddc\uce59\uc774 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc5d0 \uc801\ud569\ud558\ub2e4\uace0 \ud310\ub2e8\ub418\uba74 \uad00\ub9ac \uaddc\uce59\uc744 \uce74\uc6b4\ud2b8 \ubaa8\ub4dc\ub85c \ubc30\ud3ec\ud558\uace0 <a href=\"https:\/\/aws.amazon.com\/ko\/cloudwatch\">Amazon CloudWatch<\/a> \uc9c0\ud45c, AWS WAF \uc0d8\ud50c \uc694\uccad \ub610\ub294 AWS WAF \ub85c\uadf8\ub97c \uc0ac\uc6a9\ud558\uc5ec \uc9c0\ud45c\ub97c \uac80\ud1a0\ud569\ub2c8\ub2e4. \uc774\ub97c \ud1b5\ud574 \uad00\ub9ac\ud615 \uaddc\uce59\uc5d0 \uc18d\ud55c \uac1c\ubcc4 \uaddc\uce59\uc744 \uc120\ud0dd\uc801\uc73c\ub85c \ube44\ud65c\uc131\ud654 \ud560\uc9c0 \uc5ec\ubd80\ub97c \uacb0\uc815\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p>\uc815\uc0c1\uc801\uc778 \uc0ac\uc6a9\uc790\uc758 \uc694\uccad\uc774 \uc624\ud0d0\uc5d0 \uc758\ud574 \uaddc\uce59 \ucc28\ub2e8\uc774 \ub418\ub294 \uac83\uc744 \ud655\uc778\ud558\uae30 \uc704\ud574\uc11c\ub294 \ub2e4\uc74c\uacfc \uac19\uc740 \ubc29\ubc95\uc744 \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<ul>\n<li><b>curl<\/b>\uc744 \uc0ac\uc6a9\ud569\ub2c8\ub2e4. (\uc608 : <code>$ curl -ikv http:\/\/example.com\/[false positive]<\/code> ) \uc774\ub54c <b>[false positive]<\/b>\ub97c \ud574\ub2f9\ud558\ub294 \uc624\ud0d0\uc744 \uc77c\uc73c\ud0a4\ub294 \uc0ac\uc6a9\uc790 \uc694\uccad\uc73c\ub85c \ubc14\uafd4\uc57c \ud569\ub2c8\ub2e4. \uc751\ub2f5\uc740 \u201c403 Forbidden\u201d \uc624\ub958\uc785\ub2c8\ub2e4.<\/li>\n<li>\uc6f9 \ube0c\ub77c\uc6b0\uc800\ub97c \uc0ac\uc6a9\ud569\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uc5b4 \u201cexample.com\u201d \ub3c4\uba54\uc778\uc5d0\uc11c \u201cstyle==xxx\u201d \uc624\ud0d0\uc744 \ud655\uc778\ud558\ub294 \uacbd\uc6b0 \uc6f9 \ube0c\ub77c\uc6b0\uc800\uc5d0 \u201cexample.com\/style==xxx\u201d\ub97c \uc785\ub825\ud569\ub2c8\ub2e4. \uc751\ub2f5\uc740 \u201c403 Forbidden\u201d \uc624\ub958\uc785\ub2c8\ub2e4.<\/li>\n<li>AWS WAF\uc5d0\uc11c<b> [Sampled request]<\/b>\uc744 \ud655\uc778\ud569\ub2c8\ub2e4. \ub610\ub294 <a href=\"https:\/\/docs.aws.amazon.com\/cli\/latest\/reference\/wafv2\/get-sampled-requests.html\">get-sampled-requests<\/a> \uba85\ub839\uc744 \uc0ac\uc6a9\ud558\uc5ec \uc0d8\ud50c\ub9c1\ub41c \uc694\uccad \ubaa9\ub85d\uc744 \uc218\uc2e0\ud569\ub2c8\ub2e4. \uc0d8\ud50c\ub9c1\ub41c \uc694\uccad \ubaa9\ub85d\uc5d0\uc11c \uc624\ud0d0\uc5d0 \uc758\ud55c \uc694\uccad \ubaa9\ub85d\uc744 \ud655\uc778\ud569\ub2c8\ub2e4. [<b>\uc791\uc5c5<\/b>]\uc774 [<b>\ucc28\ub2e8<\/b>]\uc778\uc9c0 \ud655\uc778\ud569\ub2c8\ub2e4.<\/li>\n<li>AWS WAF\ub85c\uadf8\ub97c \ud655\uc778\ud558\uc5ec \u201c<i>terminatingRuleId<\/i>\u201c\ub97c \ud655\uc778\ud569\ub2c8\ub2e4. \uc790\uc138\ud55c \ub0b4\uc6a9\uc740 \ub85c\uadf8\uc758 \u201c<i>terminatingRuleMatchDetails<\/i>\u201d \uc139\uc158\uc744 \ucc38\uc870\ud558\uc2ed\uc2dc\uc624.<\/li>\n<\/ul>\n<h3><b>WAF \uc624\ud0d0 \uc608\uc678 \ucc98\ub9ac \ud558\uae30<br \/> <\/b><\/h3>\n<p>\uc624\ud0d0\uc744 \ud574\uacb0\ud558\ub294 \uac00\uc7a5 \uc88b\uc740 \ubc29\ubc95\uc740 \uacf5\uaca9\ucc98\ub7fc \ubcf4\uc774\ub294 \uc694\uccad\uc744 \uc0dd\uc131\ud558\ub294 \uc560\ud50c\ub9ac\ucf00\uc774\uc158 \ucf54\ub4dc\ub97c \uc218\uc815\ud558\ub294 \uac83\uc774\uc9c0\ub9cc, \uc774\ub294 \ub9ce\uc740 \uc2dc\uac04\uacfc \ub178\ub825\uc774 \uc18c\uc694\ub420 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ub610\ud55c, \uc774\ub7f0 \uc624\ud0d0 \uc0ac\ub840\ub294 \uc2e4\uc81c \uacf5\uaca9 \uc0d8\ud50c\uc5d0\uc11c \ud30c\uc0dd\ub418\uc5b4 AWS WAF\uad00\ub9ac \uaddc\uce59\uc5d0 \ucd94\uac00\uac00 \ub41c \uac83\uc774\ubbc0\ub85c \uc694\uccad \uc2dc\uadf8\ub2c8\ucc98\ub97c \ubcc0\uacbd\ud558\uac70\ub098 \uc81c\uac70\ud558\uba74 \uace0\uac1d\uc774 \ud604\uc7ac \ucc28\ub2e8 \ub41c \uacf5\uaca9\uc5d0 \ub178\ucd9c\ub420 \uc218 \uc788\uc5b4 \uc624\ud0d0\uc5d0 \ub300\ud55c \ub2e8\uc77c \ubcf4\uace0\uc5d0 \ub300\ud55c \uc751\ub2f5\uc73c\ub85c \ud574\ub2f9 \uc694\uccad \uc2dc\uadf8\ub2c8\ucc98\ub97c \uc81c\uac70\ud558\uc9c0\ub294 \uc54a\uc2b5\ub2c8\ub2e4. AWS WAF\uc5d0\uc11c\ub294 \uc774\ub7ec\ud55c \uc624\ud0d0\uc774 \uad11\ubc94\uc704\ud55c \ubb38\uc81c\uc778 \uacbd\uc6b0 \uc694\uccad \uc2dc\uadf8\ub2c8\ucc98 \uc81c\uac70\uc758 \uc601\ud5a5\uc5d0 \ub300\ud574 \uc624\ud0d0\uc744 \uc7ac\ud3c9\uac00\ud558\uace0, \uc5c5\ub370\uc774\ud2b8\ub97c \ud560 \uac83 \uc778\uc9c0\ub97c \uacb0\uc815\ud569\ub2c8\ub2e4. \ub530\ub77c\uc11c \uace0\uac1d\uc774 \uc9c1\uc811 WAF \uaddc\uce59\uc744 \uc774\uc6a9\ud574 \uc218\uc815\uc744 \ud558\uae30 \uc704\ud574\uc11c\ub294 \ub2e4\uc74c\uacfc \uac19\uc740 \uc608\uc678 \ucc98\ub9ac\ub97c \ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p><b>\uc608 1<\/b><b>: \uad00\ub9ac\ud615 \uaddc\uce59 \uadf8\ub8f9\uc5d0\uc11c \ud2b9\uc815 \uaddc\uce59 \uce74\uc6b4\ud2b8 \ubaa8\ub4dc\ub85c \ubcc0\uacbd <\/b><br \/> \uaddc\uce59 \uadf8\ub8f9 \ub0b4\uc5d0 \uc0ac\uc6a9\ud558\uace0 \uc2f6\uc9c0 \uc54a\uc740 \ud2b9\uc815 \uaddc\uce59\uc774 \uc788\uc73c\uba74 \uc694\uccad\uc744 \ucc28\ub2e8 \ud558\uc9c0 \ubabb\ud558\ub3c4\ub85d \u201c<b>Override rules action<\/b>\u201d\uc744 \ud1b5\ud574 \ud2b9\uc815 \uaddc\uce59\uc744 \ud56d\uc0c1 \uc81c\uc678 \ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. AWS WAF\ub294 \uc81c\uc678\ub418\ub294 \uaddc\uce59\uc5d0 \ub300\ud574 \uc77c\uce58\ud558\ub294 \uc6f9 \uc694\uccad\uc744 \uacc4\uc218\ud558\ub418, \ub2e4\ub978 \uc791\uc5c5\uc740 \uc218\ud589\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uaddc\uce59 \uadf8\ub8f9\uc5d0\uc11c \uc9c0\ud45c\uac00 \ud65c\uc131\ud654\ub41c \uacbd\uc6b0 \uc774 \uc0c1\ud0dc\uc758 \uac01 \uaddc\uce59\uc5d0 \ub300\ud55c \uac1c\uc218 \uc9c0\ud45c\ub97c \uc218\uc2e0\ud569\ub2c8\ub2e4. \uc774 \ubc29\ubc95\uc73c\ub85c \uad00\ub9ac\ud615 \uaddc\uce59 \uc138\ud2b8\uc758 \ub098\uba38\uc9c0 \uaddc\uce59\ub4e4\uc744 \uacc4\uc18d \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<br \/> \uc608\ub97c \ub4e4\uc5b4 AWS \uc5d0\uc11c \uc81c\uacf5\ud558\ub294 <b>Core rule set<\/b> \uacfc \uac19\uc740 \uad00\ub9ac\ud615 \uaddc\uce59\uc138\ud2b8\ub97c \uc801\uc6a9\ud588\uc744 \ub54c \uad50\ucc28 \uc0ac\uc774\ud2b8 \uc2a4\ud06c\ub9bd\ud305 \ud2b9\uc815 \uaddc\uce59\uc5d0 \uc758\ud574 \ucc28\ub2e8\ub41c \ud569\ubc95\uc801\uc778 URI \ud328\ud134\uc778 <b>\u2018style=\u2019<\/b>\uac00 \uc788\ub2e4\uace0 \uac00\uc815\ud569\ub2c8\ub2e4. \uc774 \uacbd\uc6b0 \uc624\ud0d0\uc744 \uc77c\uc2dc\uc801\uc73c\ub85c \uc644\ud654\ud558\ub3c4\ub85d \uce74\uc6b4\ud2b8 \ubaa8\ub4dc\ub85c \uc124\uc815\ud558\uc5ec \ucc28\ub2e8 \ud558\uc704 \uaddc\uce59\uc758 \ub3d9\uc791\uc744 \ubb34\uc2dc\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<ol>\n<li>AWS WAF\ucf58\uc194\uc5d0\uc11c \ud3b8\uc9d1\ud558\ub824\ub294 \uc6f9 ACL\uc744 \uc120\ud0dd\ud569\ub2c8\ub2e4.<\/li>\n<li><b>[Rules] <\/b>\ud0ed\uc744 \uc120\ud0dd\ud569\ub2c8\ub2e4.<\/li>\n<li>\uaddc\uce59 \ubaa9\ub85d\uc744 \ubcf4\uace0\uc790\ud558\ub294 \uaddc\uce59 \uadf8\ub8f9\uc744 \uc120\ud0dd\ud55c \ub2e4\uc74c <b>[Edit]<\/b>\uc744 \ud074\ub9ad\ud569\ub2c8\ub2e4. \uadf8\ub7ec\uba74 \ud574\ub2f9 \uaddc\uce59 \uadf8\ub8f9\uc758 \uaddc\uce59 \ubaa9\ub85d\uc774 \ud45c\uc2dc\ub429\ub2c8\ub2e4.<\/li>\n<li>\uaddc\uce59 \uadf8\ub8f9\uc5d0\uc11c \uc81c\uc678\ud560 \uaddc\uce59\uc5d0 \ub300\ud574 <b>[Override rules action]<\/b>\uc744 \uc120\ud0dd\ud569\ub2c8\ub2e4.<\/li>\n<\/ol>\n<p><a href=\"https:\/\/d2908q01vomqb2.cloudfront.net\/7b52009b64fd0a2a49e6d8a939753077792b0554\/2020\/09\/01\/image-11.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-9773\" src=\"https:\/\/d2908q01vomqb2.cloudfront.net\/7b52009b64fd0a2a49e6d8a939753077792b0554\/2020\/09\/01\/image-11.png\" alt=\"\" width=\"850\" height=\"277\" \/><\/a><\/p>\n<p>\uadf8\ub7ec\ub098 \uc774\ub294 \ud574\ub2f9 \ud558\uc704 \uaddc\uce59\uc5d0 \uc758\ud574 \ucc28\ub2e8 \ub418\ub358 \uc2e4\uc81c \uacf5\uaca9\uc744 \ud5c8\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ub530\ub77c\uc11c \uc774 \ubc29\ubc95\uc740 \ud328\ud134\uc774 \uc5ec\ub7ec\uac1c\uc774\uac70\ub098 \ubd88\ubd84\uba85\ud55c \uacbd\uc6b0 \uc784\uc2dc\uc801\uc73c\ub85c \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p><b>\uc608 2 : AWS WAF \uaddc\uce59\uc5d0 NOT \ubb38\uc744 \uc0ac\uc6a9\ud558\uc5ec \uc608\uc678 \ucc98\ub9ac <\/b><br \/> URI \uacbd\ub85c\uc5d0\uc11c \ud06c\ub85c\uc2a4 \uc0ac\uc774\ud2b8 \uc2a4\ud06c\ub9bd\ud305 \uaddc\uce59\uc5d0 \uc758\ud574 \ucc28\ub2e8 \ub41c \ud569\ubc95\uc801\uc778 URL \ud328\ud134 \u2018<b>style=<\/b>\u2018\uac00 \uc788\ub2e4\uace0 \uac00\uc815\ud569\ub2c8\ub2e4.\u2019<b>style=<\/b>\u2018 URL \ud328\ud134\uc5d0 \uc608\uc678\ub97c \ud3ec\ud568\ud558\uae30 \uc704\ud574 \ucd94\uac00 \uaddc\uce59\uc744 \uc815\uc758\ud558\uc5ec \ub2e4\uc74c\uacfc \uac19\uc774 \ucc28\ub2e8\uc744 \uc7ac\uc815\uc758 \ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p><i><b>BLOCK [XSS condition] AND NOT [String Match Condition on Path]<\/b><\/i><\/p>\n<p>WAF \ucf58\uc194\uc5d0\uc11c \uc2dc\uac01\ud654 \uc5d0\ub514\ud130\ub97c \uc774\uc6a9\ud558\uba74 \u2018NOT\u2019 \uc870\uac74\uc774 \ubd80\uc815 \uc911\ucca9\ub41c \u2018AND\u2019 \uc870\uac74\uc744 \uc0dd\uc131 \ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. \ub530\ub77c\uc11c JSON \uc5d0\ub514\ud130\ub85c \uc791\uc131\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ub2e4\uc74c WAF \uaddc\uce59 \ubb38\uc740 \uadf8\ub7ec\ud55c \uc608\ub97c \ubcf4\uc5ec\uc90d\ub2c8\ub2e4. \uc774 \ubc29\ubc95\uc740 SQLi \ubc0f XSS \uaddc\uce59\uacfc \ubaa8\ub4e0 \uc0ac\uc6a9\uc790 \uc9c0\uc815 \uaddc\uce59\uc5d0 \uc801\uc6a9\ub420 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<pre><code class=\"lang-json\">{\n    &quot;Name&quot;: &quot;XSSprotection&quot;,\n    &quot;Priority&quot;: 0,\n    &quot;Action&quot;: {\n        &quot;Block&quot;: {}\n    },\n    &quot;VisibilityConfig&quot;: {\n        &quot;SampledRequestsEnabled&quot;: true,\n        &quot;CloudWatchMetricsEnabled&quot;: true,\n        &quot;MetricName&quot;: &quot;XSSprotection&quot;\n    },\n    &quot;Statement&quot;: {\n        &quot;AndStatement&quot;: {\n            &quot;Statements&quot;: [\n                {\n                    &quot;XssMatchStatement&quot;: {\n                        &quot;FieldToMatch&quot;: {\n                            &quot;UriPath&quot;: {}\n                        },\n                        &quot;TextTransformations&quot;: [\n                            {\n                                &quot;Type&quot;: &quot;URL_DECODE&quot;,\n                                &quot;Priority&quot;: 0\n                            }\n                        ]\n                    }\n                },\n                {\n                    &quot;NotStatement&quot;: {\n                        &quot;Statement&quot;: {\n                            &quot;ByteMatchStatement&quot;: {\n                                &quot;FieldToMatch&quot;: {\n                                    &quot;UriPath&quot;: {}\n                                },\n                                &quot;PositionalConstraint&quot;: &quot;CONTAINS&quot;,\n                                &quot;SearchString&quot;: &quot;style=&quot;,\n                                &quot;TextTransformations&quot;: [\n                                    {\n                                        &quot;Type&quot;: &quot;URL_DECODE&quot;,\n                                        &quot;Priority&quot;: 0\n                                    },\n                                    {\n                                        &quot;Type&quot;: &quot;LOWERCASE&quot;,\n                                        &quot;Priority&quot;: 1\n                                    }\n                                ]\n                            }\n                        }\n                    }\n                }\n            ]\n        }\n    }\n} <\/code><\/pre>\n<p><b>\uc608 3<\/b><b> : AWS WAF \uaddc\uce59\uac04 \uc6b0\uc120 \uc21c\uc704 \uc870\uc815 <\/b><br \/> \ub610 \ub2e4\ub978 \ubc29\ubc95\uc73c\ub85c \uc624\ud0d0\uc744 \ubc1c\uc0dd\uc2dc\ud0a4\ub294 \uaddc\uce59 \ubcf4\ub2e4 \uc6b0\uc120\uc21c\uc704\ub97c \ub192\uac8c\ud558\uc5ec(\uc22b\uc790\ub97c \ub0ae\uac8c\ud558\uc5ec) \uc608\uc678\ucc98\ub9ac \uaddc\uce59\uc744 \uc6f9 ACL \uc5d0 \uc801\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc6f9 ACL\uc5d0 \uc5ec\ub7ec\uac1c\uc758 \uaddc\uce59\uc774 \uc801\uc6a9\ub418\uc5b4\uc788\ub294 \uacbd\uc6b0 \uc2e4\uc81c\ub85c AWS WAF\ub294 \uac01\uac01\uc758 \uaddc\uce59\uc744 \uc6b0\uc120 \uc21c\uc704\uc5d0 \ub530\ub77c \ud3c9\uac00\ud558\uac8c \ub418\uace0 \ub9cc\uc57d hit \ub418\ub294 \uaddc\uce59\uc774 \uc788\uc73c\uba74 \ub354\uc774\uc0c1 \uc774\ud6c4 \uaddc\uce59\ub4e4\uc744 \ud3c9\uac00\ud558\uc9c0 \uc54a\uace0 \uac80\uc0ac\uac00 \ub05d\ub098\uac8c \ub429\ub2c8\ub2e4. \ub530\ub77c\uc11c \uc624\ud0d0 \ucf00\uc774\uc2a4\uc640 \uc77c\uce58\ud558\ub294 \uacbd\uc6b0 \ud2b8\ub798\ud53d\uc744 \ud5c8\uc6a9\ud558\uace0 \ub098\uba38\uc9c0 \uaddc\uce59\uc758 \ud3c9\uac00\ub97c \uc911\uc9c0 \ud558\ub3c4\ub85d \uad6c\uc131\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p>\ud558\uc9c0\ub9cc, \uc774\ub7ec\ud55c \uc811\uadfc \ubc29\uc2dd\uc744 \uc0ac\uc6a9\ud558\uba74 \ud5c8\uc6a9(Allow) \uaddc\uce59 \ub54c\ubb38\uc5d0 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc774 \uacf5\uaca9\uc5d0 \ub178\ucd9c \ub420 \uc704\ud5d8\uc774 \uc788\uc2b5\ub2c8\ub2e4. \uc774 \uc704\ud5d8\uc744 \uc904\uc774\uae30 \uc704\ud574 \uc6f9 ACL \uaddc\uce59\uc758 \uc6b0\uc120 \uc21c\uc11c\uc5d0\uc11c \ud5c8\uc6a9 \uaddc\uce59 \uc804\uc5d0 \ud544\uc694\ud55c \ub2e4\ub978 \uaddc\uce59\ub4e4\uc744 \ub354 \ub192\uc740 \uc6b0\uc120\uc21c\uc704\ub85c \uc124\uc815\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ub2e4\uc74c \uaddc\uce59 \uad6c\uc131\uc740 \uadf8\ub7ec\ud55c \uc608\ub97c \ubcf4\uc5ec\uc90d\ub2c8\ub2e4. \uc624\ud0d0 \uc608\uc678\ucc98\ub9ac\ub97c \uc704\ud55c <b>false_positive_pattern<\/b> \uaddc\uce59\uc774 <b>Core rule set <\/b>\uaddc\uce59\uadf8\ub8f9\ubcf4\ub2e4 \uc6b0\uc120 \uc21c\uc704\uac00 \ub192\uc73c\uba74\uc11c\ub3c4 <b>flood \uacf5\uaca9 \ubc29\uc9c0 \uaddc\uce59<\/b>\uacfc<b> \ube14\ub799\ub9ac\uc2a4\ud2b8 <\/b>\ubcf4\ub2e4\ub294 \ub0ae\uc740 \uc6b0\uc120\uc21c\uc704\ub85c \uc124\uc815\ub418\uc5b4 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p><a href=\"https:\/\/d2908q01vomqb2.cloudfront.net\/7b52009b64fd0a2a49e6d8a939753077792b0554\/2020\/09\/01\/image-12.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-9774\" src=\"https:\/\/d2908q01vomqb2.cloudfront.net\/7b52009b64fd0a2a49e6d8a939753077792b0554\/2020\/09\/01\/image-12.png\" alt=\"\" width=\"960\" height=\"327\" \/><\/a><\/p>\n<h3>\ub9c8\ubb34\ub9ac<\/h3>\n<p>AWS WAF\ub97c \uc774\uc6a9\ud558\uba74 \ub2e4\uc591\ud55c \uad00\ub9ac\ud615 \uaddc\uce59\uacfc \ucee4\uc2a4\ud140 \uaddc\uce59, \uadf8\ub9ac\uace0 \ubcf4\uc548 \ud30c\ud2b8\ub108\uac00 \uc81c\uacf5\ud558\ub294 \uaddc\uce59 \uadf8\ub8f9\uc744 \uc774\uc6a9\ud574 \uc27d\uace0 \ube60\ub974\uac8c \uc6f9 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc744 \uc704\ud55c \ubc29\ud654\ubcbd\uc744 \uad6c\uc131\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc774\ub7ec\ud55c WAF\uc5d0 \uc788\uc5b4 \uc778\ub825, \uc2dc\uac04, \uadf8\ub9ac\uace0 \ube44\uc6a9\uc758 \ud6a8\uc728\uc801\uc778 \uc6b4\uc601\uc744 \uc704\ud574\uc11c\ub294 \uc624\ud0d0\uc744 \uc904\uc774\ub294 \uac83\uc774 \uc544\uc8fc \uc911\uc694\ud569\ub2c8\ub2e4. \ud558\uc9c0\ub9cc \uc624\ud0d0 \ubc29\uc9c0\ub97c \uc704\ud55c \uc608\uc678\ucc98\ub9ac\ub294 \uc790\uce6b \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc774 \uc7a0\uc7ac\uc801\uc778 \uacf5\uaca9\uc774 \ub178\ucd9c \ub420 \uc218 \uc788\uc73c\ubbc0\ub85c \uc8fc\uc758\uac00 \ud544\uc694\ud569\ub2c8\ub2e4. \ub530\ub77c\uc11c, \ud6a8\uc728\uc801\uc778 AWS WAF\uc758 \uc6b4\uc601\uc744 \uc704\ud574\uc11c\ub294 \uc9c0\uc18d\uc801\uc73c\ub85c \ubcc0\uacbd\ub418\uace0 \ucd94\uac00\ub418\ub294 \uc6f9 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc758 \uad6c\uc870\ub098 \uc694\uccad\ub4e4\uc5d0 \ub300\ud574 \uc790\ub3d9\ud654\ub41c \ubc29\uc2dd\uc744 \ud1b5\ud558\uc5ec AWS WAF\uc758 \uaddc\uce59\uc5d0 \ub300\ud574 \uac80\uc99d\ud558\uace0 \ubc1c\uacac\ub41c \uc624\ud0d0\uc5d0 \ub300\ud574 \ud6a8\uc728\uc801\uc73c\ub85c \ub300\uc751\ud560 \uc218 \uc788\ub294 \uccb4\uacc4\ub97c \uad6c\ucd95\ud558\ub294 \uac83\uc774 \ubb34\uc5c7\ubcf4\ub2e4 \uc911\uc694\ud569\ub2c8\ub2e4.<\/p>\n<p>AWS WAF\uc5d0 \ub300\ud55c \ub354 \uc790\uc138\ud55c \ub0b4\uc6a9\uc740 <a href=\"https:\/\/aws.amazon.com\/ko\/waf\/\">\uc6f9\uc0ac\uc774\ud2b8<\/a> \ubc0f <a href=\"https:\/\/docs.aws.amazon.com\/ko_kr\/waf\/latest\/developerguide\/waf-chapter.html\">AWS \uac1c\ubc1c\uc790 \uac00\uc774\ub4dc<\/a>\ub97c \ucc38\uace0\ud574 \uc8fc\uc2dc\uae30 \ubc14\ub78d\ub2c8\ub2e4.<\/p>\n<p>\u2013 \uc2e0\uc740\uc218, Security Specialist \uc194\ub8e8\uc158\uc988 \uc544\ud0a4\ud14d\ud2b8<br \/> \u2013 \uc870\uc774\uc815, \uc194\ub8e8\uc158\uc988 \uc544\ud0a4\ud14d\ud2b8<\/p>\n<p>&nbsp;<\/p>\n<p>Source: <a href=\"https:\/\/aws.amazon.com\/ko\/blogs\/korea\/aws-waf-operation-guide-rule-setting-and-false-positive\/\" target=\"_blank\" rel=\"noopener noreferrer\">AWS WAF\ub97c \ud1b5\ud55c \uc6f9 \uacf5\uaca9 \ubc29\uc5b4 \uc815\ucc45 \uc124\uc815 \ubc0f \uc624\ud0d0 \uc608\uc678 \ucc98\ub9ac\ud558\uae30<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div class=\"mh-excerpt\"><p>AWS WAF\ub97c \ud1b5\ud55c \uc6f9 \uacf5\uaca9 \ubc29\uc5b4 \uc815\ucc45 \uc124\uc815 \ubc0f \uc624\ud0d0 \uc608\uc678 \ucc98\ub9ac\ud558\uae30 \uc778\ud130\ub137 \uacf5\uac04\uc5d0\uc11c \ub9ce\uc740 \uc0ac\uc6a9\uc790\ub4e4\uc744 \ub300\uc0c1\uc73c\ub85c \ud558\ub294 \uc6f9\uc11c\ube44\uc2a4\uac00 \ub300\uc911\ud654\ub418\uace0 \uc911\uc694\ub3c4\uac00 \ub192\uc544\uc9c0\uba74\uc11c \uc6f9\uc11c\ube44\uc2a4\ub97c \uc548\uc804\ud558\uac8c \uc6b4\uc601\ud560 \uc218 \uc788\ub3c4\ub85d \ubcf4\ud638\ud560 \uc218 \uc788\ub294 \uc6f9 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc758 \ubcf4\ud638 \uc194\ub8e8\uc158 \uc5ed\uc2dc \uafb8\uc900\ud558\uac8c \ubc1c\uc804\ub418\uc5b4 \uc654\uc2b5\ub2c8\ub2e4. \uc6f9 \uc11c\ube44\uc2a4\ub294 \uc11c\ube44\uc2a4\uc758 \ud2b9\uc131 \uc0c1 \ubd88\ud2b9\uc815 \uc0ac\uc6a9\uc790\ub4e4\uc5d0\uac8c \uacf5\uac1c\uc801\uc73c\ub85c \uc811\uc18d\ud560 \uc218 \uc788\ub294 \ud658\uacbd\uc744 \uc81c\uacf5\ud558\uae30 \ub54c\ubb38\uc5d0 \uc6f9\uc11c\ubc84\ub97c \ud1b5\ud574 \uae30\uc5c5\uc774\ub098 \uc870\uc9c1\uc774 \ubcf4\uc720\ud558\uace0 \uc788\ub294 \ub2e4\uc591\ud55c \uc911\uc694 \ub370\uc774\ud130\uac00 \uac1c\uc778 \uc815\ubcf4\ub4e4\uc744 \ud0c8\ucde8\ud558\uac70\ub098 \ud639\uc740 \uc815\uce58\uc801\uc778 \ubaa9\uc801\uc73c\ub85c \ud574\ub2f9 \uc6f9 \uc11c\ube44\uc2a4\ub97c \uc11c\ube44\uc2a4 \ubd88\ub2a5 \uc0c1\ud0dc\ub85c \ub9cc\ub4e4\uac70\ub098 \ud398\uc774\uc9c0\ub97c \ubcc0\uc870\ud558\ub824\ub294 \uc545\uc758\uc801\uc778 \uc0ac\uc6a9\uc790 \ud639\uc740 \ud574\ucee4\ub85c\ubd80\ud130\uc758 \uc704\ud5d8\uc5d0 \ub178\ucd9c\ub420 \uc218 \ubc16\uc5d0 \uc5c6\uc2b5\ub2c8\ub2e4. \uae30\uc5c5\uc774\ub098 \uc870\uc9c1\uc758 \uc785\uc7a5\uc5d0\uc11c\ub294 \uc774\ub7ec\ud55c \uc704\ud5d8\uc744 \ucd5c\uc18c\ud654\ud558\uae30 \uc704\ud558\uc5ec \ub2e4\uc591\ud55c \uc6f9 \uc11c\ube44\uc2a4 \ubcf4\ud638 \uc218\ub2e8\uc744 \uac15\uad6c\ud560 \uc218 \uc788\ub294\ub370 \ub300\ud45c\uc801\uc73c\ub85c \ub2e4\uc74c\uacfc \uac19\uc740 \ubcf4\ud638 \uc218\ub2e8\uc744 \uc801\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. DDoS \uc194\ub8e8\uc158 \uc801\uc6a9\uc744 \ud1b5\ud55c \uc11c\ube44\uc2a4 \uac70\ubd80 \uacf5\uaca9\uc758 \ubc29\uc5b4 \uc6f9\ubc29\ud654\ubcbd \uc801\uc6a9\uc744 \ud1b5\ud55c \uc54c\ub824\uc9c4 \uacf5\uaca9\uc5d0 \ub300\ud55c \ucc28\ub2e8 \ubc0f \uc54c\ub824\uc9c0\uc9c0 \uc54a\uc740 \uacf5\uaca9\uc5d0 \ub300\ud55c \ucc28\ub2e8 \uc678\ubd80 \uacf5\uaca9\uc5d0 \ucde8\uc57d\uc810\uc744 \uac16\ub294 \ucf54\ub4dc\ub97c \uc81c\uac70\ud558\ub294 \uc2dc\ud050\uc5b4 \ucf54\ub529 \uc6f9 \uc11c\ubc84 \uad6c\ub3d9\uc5d0 <a class=\"mh-excerpt-more\" href=\"https:\/\/jirak.net\/wp\/aws-waf%eb%a5%bc-%ed%86%b5%ed%95%9c-%ec%9b%b9-%ea%b3%b5%ea%b2%a9-%eb%b0%a9%ec%96%b4-%ec%a0%95%ec%b1%85-%ec%84%a4%ec%a0%95-%eb%b0%8f-%ec%98%a4%ed%83%90-%ec%98%88%ec%99%b8-%ec%b2%98%eb%a6%ac%ed%95%98\/\" title=\"AWS WAF\ub97c \ud1b5\ud55c \uc6f9 \uacf5\uaca9 \ubc29\uc5b4 \uc815\ucc45 \uc124\uc815 \ubc0f \uc624\ud0d0 \uc608\uc678 \ucc98\ub9ac\ud558\uae30\">[ more&#8230; ]<\/a><\/p>\n<\/div>","protected":false},"author":1,"featured_media":38370,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[169],"tags":[656],"class_list":["post-38369","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news","tag-aws"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/jirak.net\/wp\/wp-json\/wp\/v2\/posts\/38369","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jirak.net\/wp\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jirak.net\/wp\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jirak.net\/wp\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jirak.net\/wp\/wp-json\/wp\/v2\/comments?post=38369"}],"version-history":[{"count":1,"href":"https:\/\/jirak.net\/wp\/wp-json\/wp\/v2\/posts\/38369\/revisions"}],"predecessor-version":[{"id":38371,"href":"https:\/\/jirak.net\/wp\/wp-json\/wp\/v2\/posts\/38369\/revisions\/38371"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/jirak.net\/wp\/wp-json\/wp\/v2\/media\/38370"}],"wp:attachment":[{"href":"https:\/\/jirak.net\/wp\/wp-json\/wp\/v2\/media?parent=38369"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jirak.net\/wp\/wp-json\/wp\/v2\/categories?post=38369"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jirak.net\/wp\/wp-json\/wp\/v2\/tags?post=38369"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}