{"id":4021,"date":"2017-05-05T09:55:54","date_gmt":"2017-05-05T00:55:54","guid":{"rendered":"http:\/\/i.k-june.com\/wp\/?p=4021"},"modified":"2017-05-08T12:22:06","modified_gmt":"2017-05-08T03:22:06","slug":"%ec%9b%b9%ec%82%ac%ec%9d%b4%ed%8a%b8-%ea%b3%b5%ea%b2%a9%ec%9d%b4-%eb%93%a4%ec%96%b4%ec%99%80%ec%84%9c-iptables%eb%a5%bc-%ec%9d%b4%ec%9a%a9%ed%95%98%ec%97%ac-ip%eb%8b%b9-%ec%b5%9c%eb%8c%80-%ec%a0%91","status":"publish","type":"post","link":"https:\/\/i.k-june.com\/wp\/4021","title":{"rendered":"\uc6f9\uc0ac\uc774\ud2b8 \uacf5\uaca9\uc774 \ub4e4\uc5b4\uc640\uc11c iptables\ub97c \uc774\uc6a9\ud558\uc5ec IP\ub2f9 \ucd5c\ub300 \uc811\uc18d \ud69f\uc218\ub97c \uc81c\ud55c\ud558\uc600\ub2e4."},"content":{"rendered":"<p>\uc790\uc815 \ubb34\ub835\uc5d0 \ubb38\ub4dd \uc2a4\ub9c8\ud2b8\ud3f0\uc758 \uc2ac\ub799(Slack)\uc571\uc5d0\uc11c \uc54c\ub9bc\uc774 \uc654\ub2e4. \uc11c\ubc84\uc758 \uba54\ubaa8\ub9ac \uc810\uc720\uc728\uc774 90%\uac00 \ub118\uc73c\uba74 \uc2a4\ub9c8\ud2b8\ud3f0\uc73c\ub85c \uba54\uc138\uc9c0\ub97c \ubcf4\ub0b4\ub3c4\ub85d <a href=\"http:\/\/i.k-june.com\/wp\/1445\">\ub514\uc9c0\ud138\uc624\uc158<\/a>\uc758 \ubaa8\ub2c8\ud130\ub9c1 \uae30\ub2a5\uc5d0\uc11c \uc124\uc815\ud574 \ub450\uc5c8\ub294\ub370, \uadf8 \ub54c\ubb38\uc5d0 \uacbd\uace0 \uba54\uc2dc\uc9c0\uac00 \ub3c4\ucc29\ud55c \uac83\uc774\uc5c8\ub2e4.<\/p><div id=\"advads-2089768389\" class=\"advads--- advads-entity-placement\"><script async src=\"\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js?client=ca-pub-8537913535165675\" crossorigin=\"anonymous\"><\/script><ins class=\"adsbygoogle\" style=\"display:block;\" data-ad-client=\"ca-pub-8537913535165675\" \ndata-ad-slot=\"7169303541\" \ndata-ad-format=\"auto\"><\/ins>\n<script> \n(adsbygoogle = window.adsbygoogle || []).push({}); \n<\/script>\n<\/div>\n<div id=\"attachment_4039\" style=\"width: 586px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-4039\" class=\"wp-image-4039 size-large\" src=\"http:\/\/hermes.k-june.com\/2017\/05\/20170505digitalocean-alert-20170505-576x1024.jpg\" alt=\"\" width=\"576\" height=\"1024\" srcset=\"https:\/\/hermes.k-june.com\/2017\/05\/20170505digitalocean-alert-20170505.jpg 576w, https:\/\/hermes.k-june.com\/2017\/05\/20170505digitalocean-alert-20170505-169x300.jpg 169w\" sizes=\"auto, (max-width: 576px) 100vw, 576px\" \/><p id=\"caption-attachment-4039\" class=\"wp-caption-text\">\ub514\uc9c0\ud138\uc624\uc158\uc5d0\uc11c \uc2ac\ub799(Slack)\uc744 \ud1b5\ud574 \ubcf4\ub0b4\uc628 \uae34\uae09 \uacbd\uace0 \uba54\uc2dc\uc9c0<\/p><\/div>\n<p>\uc989\uc2dc SSH\ub85c \uc811\uc18d\ud574\uc11c free -m \uba85\ub839\uc5b4\ub85c \uba54\ubaa8\ub9ac \uc0ac\uc6a9\ud604\ud669\uc744 \ud655\uc778\ud574\ubcf4\ub2c8 <a href=\"http:\/\/i.k-june.com\/wp\/3556\">\ud639\uc2dc\ub098 \ud574\uc11c \uc7a1\uc544\ub454 \uc2a4\uc651(swap)\uc601\uc5ed<\/a>\uae4c\uc9c0 \uac70\uc758 \ub2e4 \uc18c\uc9c4\ud55c \uc0c1\ud0dc\uc600\ub2e4. top\uba85\ub839\uc5b4\ub85c \ud604\uc7ac \ud504\ub85c\uc138\uc2a4\ub97c \ud655\uc778\ud574 \ubcf4\ub2c8 \ud3c9\uc18c \ud55c\ub450\uac1c \uc815\ub3c4 \ud65c\uc131\ud654 \ub418\uc5b4 \uc788\ub358 \uc544\ud30c\uce58(apache2) \ud504\ub85c\uc138\uc2a4\uac00 \ube44\uc624\ub294\ub0a0 \uac1c\uad6c\ub9ac\ub5bc \ub9c8\ub0e5 \uc218\uc2ed\uac1c\uac00 \ub5a0 \uc788\uc5c8\ub2e4.<\/p>\n<div id=\"attachment_4040\" style=\"width: 686px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-4040\" class=\"size-full wp-image-4040\" src=\"http:\/\/hermes.k-june.com\/2017\/05\/20170505iptables1.jpg\" alt=\"\" width=\"676\" height=\"987\" srcset=\"https:\/\/hermes.k-june.com\/2017\/05\/20170505iptables1.jpg 676w, https:\/\/hermes.k-june.com\/2017\/05\/20170505iptables1-205x300.jpg 205w, https:\/\/hermes.k-june.com\/2017\/05\/20170505iptables1-624x911.jpg 624w\" sizes=\"auto, (max-width: 676px) 100vw, 676px\" \/><p id=\"caption-attachment-4040\" class=\"wp-caption-text\">top\uba85\ub839\uc5b4\ub85c \uc0b4\ud3b4\ubcf8 \ud604\uc7ac \uc11c\ubc84 \uc0c1\ud0dc. \uc88b\uc9c0 \uc54a\ub2e4.<\/p><\/div>\n<p>\ubc29\ubb38\uc790\uac00 \ud3ed\uc99d\ud558\uc5ec \uc0dd\uae34 \ud604\uc0c1\uc774\ub77c\uba74 \ubc18\uac00\uc6b4 \uc77c\uc774\uc5c8\uaca0\uc9c0\ub9cc, \uad6c\uae00 \uc560\ub110\ub9ac\ud2f1\uc2a4\uc758 \uc2e4\uc2dc\uac04 \ub370\uc774\ud130\uc5d0\uc11c\ub294 \ud604\uc7ac \uc811\uc18d\uc790\uac00 \uac70\uc758 \uc5c6\ub294 \uc0c1\ud0dc\uc600\ub2e4. \uc989, \ub204\uad70\uac00\uac00 \uace0\uc758\ub85c \ub3d9\uc2dc\uc5d0 \uc811\uc18d\ud574\uc11c \uc11c\ubc84\ub97c \uacf5\uaca9\ud558\uace0 \uc788\ub294 \uc0c1\ud669\uc774\uc5c8\uace0 \uadf8\ub798\uc11c \uc11c\ubc84\uac00 \ud3ed\uc8fc\ud558\uc5ec \ub2e4\ub978 \ubc29\ubb38\uc790\ub4e4\uc774 \ubc29\ubb38\uc744 \ubabb\ud558\uace0 \uc788\ub294 \uc0c1\ud669\uc774\uc5c8\ub2e4.<\/p>\n<p>\uc544\ubb34\ud2bc \uc57d\uac04 \ubc88\uac70\ub86d\uae34 \ud588\uc9c0\ub9cc \uc77c\ub2e8 syslog\uc640 apache\uc758 error.log\ub97c \ub2e4\uc6b4\ubc1b\uc544\uc11c \ub85c\uadf8\ubd84\uc11d\uc744 \ud574\ubcf4\uae30\ub85c \ud558\uc600\ub2e4. \ub204\uac00 \uc5b4\ub5bb\uac8c \uacf5\uaca9\ud558\uace0 \uc788\ub294\uc9c0 \ud638\uae30\uc2ec\uc774 \uc0dd\uacbc\uace0 \ub85c\uadf8\ub97c \ucd94\uc801\ud558\ub294 \uac83 \ub610\ud55c \uaf64\ub098 \ud765\ubbf8\ub86d\uae30\ub3c4 \ud588\uae30 \ub54c\ubb38\uc774\ub2e4.<\/p>\n<p>syslog\ub97c \ubd84\uc11d\ud574 \ubcf4\ub2c8 \uba54\ubaa8\ub9ac \ubd80\uc871 \uad00\ub828 \uba54\uc2dc\uc9c0 \uc678\uc5d0\ub294 \ub531\ud788 \ud2b9\uc774\uc0ac\ud56d\uc740 \uc5c6\uc5c8\ub2e4. \ud558\uc9c0\ub9cc \uc544\ud30c\uce58 \uc5d0\ub7ec\ub85c\uadf8 \ucabd\uc5d0\uc11c\ub294 \uc544\uc8fc \ubd84\uc11d\ud558\uae30 \uc88b\ub3c4\ub85d \ud574\ud0b9\uc5d0 \uad00\ub828\ub41c \uc0c1\uc138\ud55c \uc815\ubcf4\ub4e4\uc774 \uc54c\ucc28\uac8c \ube7c\uace1\ud788 \ub4e4\uc5b4 \uc788\uc5c8\ub2e4.<\/p>\n<blockquote><p>-\uc0c1\ub7b5-<br \/>\n[Thu May 04 23:55:46.108241 2017] [:error] [pid 8114] [client 64.79.85.205:32969] WordPress database error MySQL server has gone away for query SELECT option_value FROM wp_options WHERE option_name = &#8216;uninstall_plugins&#8217; LIMIT 1 made by require(&#8216;wp-blog-header.php&#8217;), require_once(&#8216;wp-load.php&#8217;), require_once(&#8216;wp-config.php&#8217;), require_once(&#8216;wp-settings.php&#8217;), include_once(&#8216;\/plugins\/advanced-ads\/advanced-ads.php&#8217;), Advanced_Ads::get_instance, Advanced_Ads-&gt;__construct, Advanced_Ads_Plugin::get_instance, Advanced_Ads_Plugin-&gt;__construct, register_uninstall_hook, get_option<br \/>\n[Thu May 04 23:55:47.030685 2017] [:error] [pid 8049] [client 64.79.85.205:31018] WordPress database error MySQL server has gone away for query SELECT option_value FROM wp_options WHERE option_name = &#8216;_transient_jetpack_idc_allowed&#8217; LIMIT 1 made by require(&#8216;wp-blog-header.php&#8217;), require_once(&#8216;wp-load.php&#8217;), require_once(&#8216;wp-config.php&#8217;), require_once(&#8216;wp-settings.php&#8217;), include_once(&#8216;\/plugins\/jetpack\/jetpack.php&#8217;), require_once(&#8216;\/plugins\/jetpack\/class.jetpack-idc.php&#8217;), Jetpack_IDC::init, Jetpack_IDC-&gt;__construct, Jetpack::check_identity_crisis, Jetpack::validate_sync_error_idc_option, get_transient, get_option<br \/>\n[Thu May 04 23:55:51.451153 2017] [:error] [pid 7934] [client 64.79.85.205:31009] WordPress database error MySQL server has gone away for query SELECT option_value FROM wp_options WHERE option_name = &#8216;wp_statistics_removal&#8217; LIMIT 1 made by require(&#8216;wp-blog-header.php&#8217;), require_once(&#8216;wp-load.php&#8217;), require_once(&#8216;wp-config.php&#8217;), require_once(&#8216;wp-settings.php&#8217;), include_once(&#8216;\/plugins\/wp-statistics\/wp-statistics.php&#8217;), get_option<br \/>\n[Thu May 04 23:55:55.433766 2017] [:error] [pid 8115] [client 64.79.85.205:32970] WordPress database error MySQL server has gone away for query SELECT option_value FROM wp_options WHERE option_name = &#8216;advanced-ads-ab-module&#8217; LIMIT 1 made by require(&#8216;wp-blog-header.php&#8217;), require_once(&#8216;wp-load.php&#8217;), require_once(&#8216;wp-config.php&#8217;), require_once(&#8216;wp-settings.php&#8217;), include_once(&#8216;\/plugins\/advanced-ads\/advanced-ads.php&#8217;), Advanced_Ads_ModuleLoader::loadModules, require_once(&#8216;\/plugins\/advanced-ads\/modules\/ad-blocker\/main.php&#8217;), Advanced_Ads_Ad_Blocker::get_instance, Advanced_Ads_Ad_Blocker-&gt;__construct, Advanced_Ads_Ad_Blocker-&gt;options, get_option<br \/>\n[Thu May 04 23:55:58.643707 2017] [:error] [pid 9938] [client 64.79.85.205:37683] PHP Warning: mysqli_query(): (HY000\/2013): Lost connection to MySQL server during query in \/var\/www\/html\/wp\/wp-includes\/wp-db.php on line 1877<br \/>\n[Thu May 04 23:56:00.072306 2017] [mpm_prefork:error] [pid 2142] AH00161: server reached MaxRequestWorkers setting, consider raising the MaxRequestWorkers setting<br \/>\n-\uc911\ub7b5-<br \/>\n[Fri May 05 00:01:10.048041 2017] [core:warn] [pid 2142] AH00045: child process 18776 still did not exit, sending a SIGTERM<br \/>\n[Fri May 05 00:01:10.048056 2017] [core:warn] [pid 2142] AH00045: child process 7928 still did not exit, sending a SIGTERM<br \/>\n[Fri May 05 00:01:10.048070 2017] [core:warn] [pid 2142] AH00045: child process 7929 still did not exit, sending a SIGTERM<br \/>\n[Fri May 05 00:01:10.048165 2017] [core:notice] [pid 2142] AH00051: child pid 12025 exit signal Segmentation fault (11), possible coredump in \/etc\/apache2<br \/>\n[Fri May 05 00:01:10.048280 2017] [core:warn] [pid 2142] AH00045: child process 13832 still did not exit, sending a SIGTERM<br \/>\n[Fri May 05 00:01:10.048300 2017] [core:warn] [pid 2142] AH00045: child process 18955 still did not exit, sending a SIGTERM<br \/>\n-\ud558\ub7b5-<\/p><\/blockquote>\n<p>\uc704\uc640 \uac19\uc740 \ud328\ud134\uc758 \ub85c\uadf8\uac00 \uc218\ubc31\uac1c\uac00 \uc788\uc5c8\ub2e4. \ud574\ucee4\uc758 IP\ub294 64.79.85.205\uc600\ub294\ub370 \ubbf8\uad6d\ubc1cIP\uc8fc\uc18c\uc600\uace0 \ud574\ud0b9 \uc218\ubc95\uc740 \uc6cc\ub4dc\ud504\ub808\uc2a4\uc758 \ucde8\uc57d\uc810\uc744 \uc774\uc6a9\ud558\ub824 \ud588\ub358 \uac83 \uac19\ub2e4. \uc6cc\ub4dc\ud504\ub808\uc2a4 \ub0b4\uc758 \uac01\uc885 \ud50c\ub7ec\uadf8\uc778\uc73c\ub85c \ubb54\uac00\ub97c \uc2dc\ub3c4\ud55c \ud754\uc801\uc774 \uc788\uc5c8\ub2e4. \uad6c\uae00\uc5d0\uc11c \ud574\ub2f9 \uc5d0\ub7ec\uba54\uc2dc\uc9c0(WordPress database error Lost connection to MySQL server during query for query)\ub97c \uac80\uc0c9\ud574 \ubcf4\ub2c8 \ub531\ud788 \ud574\ucee4\uc758 \uacf5\uaca9\uc774 \uc544\ub2c8\ub354\ub77c\ub3c4 \ub2e4\uc591\ud55c \uc0c1\ud669\uc5d0\uc11c \ubc1c\uc0dd\ud558\ub294 \uc5d0\ub7ec\uc600\uae34 \ud55c\ub370 \uc544\ubb34\ud2bc \uc11c\ubc84\uac00 \uc7a0\uc2dc \ubc84\ubc85\uac70\ub838\ub358 \uac83 \ube7c\uace0\ub294 \ubcc4\ub2e4\ub978 \ud53c\ud574\ub294 \uc5c6\uc5c8\ub2e4.<\/p><div id=\"advads-1296180836\" class=\"advads-content advads-entity-placement\"><script async src=\"\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js?client=ca-pub-8537913535165675\" crossorigin=\"anonymous\"><\/script><ins class=\"adsbygoogle\" style=\"display:block;\" data-ad-client=\"ca-pub-8537913535165675\" \ndata-ad-slot=\"5142023542\" \ndata-ad-format=\"auto\"><\/ins>\n<script> \n(adsbygoogle = window.adsbygoogle || []).push({}); \n<\/script>\n<\/div>\n<p>\uc544\ubb34\ud2bc \uc608\uc804 \uac19\uc558\uc73c\uba74 \uadf8\ub0e5 sudo shutdown -r now \uba85\ub839\uc5b4\ub85c \uc11c\ubc84\ub97c \uc7ac\ubd80\ud305 \uc2dc\ud0a4\ub294 \uac83\uc73c\ub85c \ud574\uacb0\uc744 \ud558\uc600\uaca0\uc9c0\ub9cc, \uc774\ubc88\uc5d0\ub294 \ud638\uae30\uc2ec\uc774 \uc0dd\uaca8\uc11c \ub2e4\ub978 \uc2dc\ub3c4\ub97c \ud574\ubcf4\uae30\ub85c \ud588\ub2e4.<\/p>\n<p>\uc77c\ub2e8 sudo service apache2 restart \uba85\ub839\uc5b4\ub85c \uc544\ud30c\uce58 \uc11c\ubc84\ub9cc \uc7ac\uc2dc\uc791 \ud588\uc744 \uacbd\uc6b0\uc5d0\ub294 \ud504\ub85c\uc138\uc2a4\ub4e4\uc774 \ub5a8\uc5b4\uc838 \ub098\uac00\uc9c0\ub97c \uc54a\uc558\ub2e4. \uc11c\ube44\uc2a4\ub97c \uc7ac\uc2dc\uc791 \ud558\ub294 \ub370\uc5d0\ub3c4 \ubb34\ucc99 \uc624\ub798 \uac78\ub838\uc9c0\ub9cc \uc7ac\uc2dc\uc791\ud55c \ub4a4\uc5d0\ub3c4 \ub2e4\uc2dc \uc218\uc2ed\uac1c\uc758 \ud504\ub85c\uc138\uc2a4\uac00 \uc0dd\uc131\ub418\uc5c8\ub2e4.<\/p>\n<p>\uacb0\uad6d \uc774\ub9ac\uc800\ub9ac \uac80\uc0c9\ud574\ubcf4\ub2e4\uac00 \uc544\ud30c\uce58 \ud504\ub85c\uc138\uc2a4(\ud639\uc740 \uc4f0\ub808\ub4dc) \uac1c\uc218 \uc790\uccb4\ub97c \uc81c\ud55c\ud558\ub294 \ubc29\ud5a5\uc73c\ub85c \uc5f0\uad6c\ud574 \ubcf4\uc558\ub2e4. \ud558\uc9c0\ub9cc \uc774 \ubc29\ubc95\uc740 \uc2e4\ubc29\ubb38\uc790\uac00 \ubab0\ub9b4 \ub54c\uc5d0\ub294 \ub300\uc751\ud558\uae30 \uc5b4\ub824\uc6b8 \uac83 \uac19\uc544\uc11c \uc77c\ub2e8\uc740 \uc11c\ubc84 \uae30\ubcf8\uac12\uc744 \uadf8\ub300\ub85c \ub450\uae30\ub85c \ud558\uace0 \ub300\uc2e0\uc5d0 IPTABLE\ub97c \uc774\uc6a9\ud574\uc11c \ud2b9\uc815 \uacf5\uaca9\uc790\ub9cc \ub9c9\uc544\ub0b4\ub294 \ubc29\uc2dd\uc73c\ub85c \ud574\uacb0\ud558\uae30\ub85c \ud558\uc600\ub2e4.<\/p>\n<p>\uadf8\ub9ac\ud558\uc5ec \uc544\ub798\uc640 \uac19\uc774 \uba85\ub839\uc5b4\ub97c \uc2e4\ud589\uc2dc\ucf30\ub2e4.<\/p>\n<pre>sudo iptables -A INPUT -p tcp --syn --dport 80 -m connlimit --connlimit-above 16 -j DROP\r\nsudo apt-get install iptables-persistent<\/pre>\n<p>\uc124\uba85\ud558\uc790\uba74 \uccab\ubc88\uc9f8 \uc904\uc740 80\ud3ec\ud2b8\uc5d0\uc11c \ud55cIP\ub2f9 16\uac1c\uc758 \uc811\uc18d\ub9cc \ud5c8\uc6a9\ud558\uace0 \uadf8 \uc774\uc0c1\uc740 \uadf8\ub0e5 \uc539\uc5b4\ubc84\ub9ac\ub77c\ub294 \ub73b\uc774\ub2e4. \ud558\uc9c0\ub9cc \uc11c\ubc84\ub97c \uc7ac\ubd80\ud305 \ud558\uba74 \uc774 iptables \uaddc\uce59\uc774 \ub0a0\uc544\uac00 \ubc84\ub9b0\ub2e4. \uadf8\ub798\uc11c \ub450\ubc88\uc9f8 \uc904\uc5d0\uc11c iptables-persistent\ud328\ud0a4\uc9c0\ub97c \uc124\uce58\ud574 \uc900\ub2e4. \ud604\uc7ac\uc758 \uc138\ud305\uc5d0 \ub9cc\uc871\ud558\uba74 \uadf8\ub0e5 Y\ub9cc \ub204\ub974\uba74 \ub418\uace0 \uc704\uc5d0\uc11c \uc124\uc815\ud55c iptables \uaddc\uce59\ub4e4\uc774 \uc7ac\ubd80\ud305 \ub41c \ub4a4\uc5d0\ub3c4 \uacc4\uc18d \uc720\uc9c0\ub41c\ub2e4.<\/p><div id=\"advads-2744733313\" class=\"advads-10 advads-entity-placement\"><script async src=\"\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js?client=ca-pub-8537913535165675\" crossorigin=\"anonymous\"><\/script><ins class=\"adsbygoogle\" style=\"display:block;\" data-ad-client=\"ca-pub-8537913535165675\" \ndata-ad-slot=\"3685956747\" \ndata-ad-format=\"auto\"><\/ins>\n<script> \n(adsbygoogle = window.adsbygoogle || []).push({}); \n<\/script>\n<\/div>\n<div id=\"attachment_4038\" style=\"width: 960px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-4038\" class=\"wp-image-4038 size-full\" src=\"http:\/\/hermes.k-june.com\/2017\/05\/2017-05-05iptables2.jpg\" alt=\"\" width=\"950\" height=\"364\" srcset=\"https:\/\/hermes.k-june.com\/2017\/05\/2017-05-05iptables2.jpg 950w, https:\/\/hermes.k-june.com\/2017\/05\/2017-05-05iptables2-300x115.jpg 300w, https:\/\/hermes.k-june.com\/2017\/05\/2017-05-05iptables2-624x239.jpg 624w\" sizes=\"auto, (max-width: 950px) 100vw, 950px\" \/><p id=\"caption-attachment-4038\" class=\"wp-caption-text\">iptables -L\uba85\ub839\uc5b4\ub85c \ud655\uc778\ud574 \ubcf4\ub2c8 \uc798 \ub3cc\uc544\uac00\uace0 \uc788\ub2e4. \ubc11\uc5d0\ub294 fail2ban\uc5d0 \uac78\ub824\uc11c \uac10\uc625\uc5d0 \uac07\ud78c \uba85\ub2e8\uc774 \ubcf4\uc778\ub2e4.<\/p><\/div>\n<p>\ub3d9\uc2dc \uc811\uc18d\uc744 16\uac1c\uae4c\uc9c0 \ud5c8\uc6a9\ud560 \ud544\uc694\ub294 \uc5c6\uc5c8\uc9c0\ub9cc \ub2e4\uc74c\ubc88\uc5d0 \ub610 \ud574\ucee4\uc758 \uacf5\uaca9\uc774 \ub4e4\uc5b4\uc624\uba74 \uc5b4\ub5bb\uac8c \ub418\ub294\uc9c0 \uad81\uae08\ud558\uae30\ub3c4 \ud558\uace0 \uc2a4\ud2b8\ub808\uc2a4 \ud14c\uc2a4\ud2b8\ub3c4 \ud560 \uacb8 \ud574\uc11c \uc77c\ub2e8\uc740 16\uc73c\ub85c \uc815\ud574\ub450\uc5c8\ub2e4. \ub9cc\uc57d \ub2e4\uc74c\ubc88 \uacf5\uaca9\uc744 \ub9c9\uc544\ub0b4\uc9c0 \ubabb\ud558\uba74 \uace7\ubc14\ub85c fail2ban\uc5d0\ub2e4\uac00 \uc6cc\ub4dc\ud504\ub808\uc2a4 \uad00\ub828 \uc124\uc815\uc744 \uc9d1\uc5b4\ub123\uc744\uae4c \uc0dd\uac01\uc911\uc774\ub2e4.<\/p>\n<p>\ub9cc\uc57d iptables\uc758 \uaddc\uce59\uc744 \ubcc0\uacbd\ud560 \uacbd\uc6b0\uc5d0\ub294 \uc544\ub798\uc640 \uac19\uc774 \ud574\uc8fc\uba74 \ub41c\ub2e4.<\/p>\n<pre>sudo iptables -F\r\nsudo iptables -A INPUT -p tcp --syn --dport 80 -m connlimit --connlimit-above 32 -j DROP\r\nsudo invoke-rc.d iptables-persistent save<\/pre>\n<p>iptables-persistent\uc640 fail2ban\uc744 \uac19\uc774 \uc0ac\uc6a9\ud560 \uacbd\uc6b0 \uc7ac\ubd80\ud305\uc2dc\uc5d0 \uaddc\uce59\ub4e4\uc774 \uc911\ubcf5\uc73c\ub85c \uc124\uc815\ub418\ub294 \uacbd\uc6b0\uac00 \uc788\uae30 \ub54c\ubb38\uc5d0 \uc77c\ub2e8 -F\uc635\uc158\uc73c\ub85c \uaddc\uce59\ub4e4\uc744 \uc804\ubd80 \uc2f9\ub2e4 \uc0ad\uc81c\ud574\uc900\ub2e4. \uadf8\ub9ac\uace0 \uadf8 \ub2e4\uc74c\uc5d0 \ubcc0\uacbd\ub41c \uaddc\uce59, \uc989 32\uac1c\uc758 \ub3d9\uc2dc\uc811\uc18d\uc744 \ud5c8\uc6a9\ud558\ub294 \uaddc\uce59\uc744 \uc124\uc815\ud574\uc900\ub2e4. \uadf8\ub9ac\uace0 \ub9c8\uc9c0\ub9c9 \uc138\ubc88\uc9f8 \uc904\uc758 invoke-rc.d \uba85\ub839\uc5b4\ub97c \uc2e4\ud589\uc2dc\ucf1c\uc11c \uc138\ud305\uac12\uc744 \uc800\uc7a5\ud558\uba74 \ub41c\ub2e4. \uadf8\ub9ac\uace0 fail2ban\uc740 \uc7ac\ubd80\ud305\ud558\uba74 \uc2a4\uc2a4\ub85c \uc54c\uc544\uc11c \uaddc\uce59\uc744 \ucd94\uac00\ud558\ub2c8 \ubcc4\ub3c4\ub85c \uc124\uc815\ud560 \uac83\uc740 \uc5c6\ub2e4.<\/p>\n<p>\uc544\uc9c1\uae4c\uc9c0 \uc774\uacf3\uc740 \uc11c\ubc84 \uc6a9\ub7c9\uc774 \ud55c\uacc4\uc5d0 \ub2e4\ub2e4\ub974\uae30\uc5d0\ub294 \uc5c4\uccad\ub098\uac8c \uc5ec\uc720\uac00 \ub9ce\uc740 \ud3b8\uc774\uae30\ub294 \ud558\uc9c0\ub9cc, \uad81\uadf9\uc801\uc73c\ub85c\ub294 \uc11c\ubc84\ub7a8\uc744 1GB\ub85c \uc99d\uc124\ud558\uace0 \uc6f9\uc11c\ubc84\ub3c4 nginx\ub85c \ubc14\uafb8\uace0 \uc2f6\ub2e4\ub294 \uc0dd\uac01\uc744 \ud558\uace0 \uc788\ub2e4. \ub9c8\uce58 \uc9c0\ub8b0\ucc3e\uae30 \uac8c\uc784\uc744 \ud574\ub3c4 \ub77c\uc774\uc820R7\uc5d0\uc11c \ud558\uba74 \uae30\ubd84\uc774 \uc88b\uc740 \uac83\ucc98\ub7fc \ub9d0\uc774\ub2e4. \uc544\ubb34\ud2bc \uc774 \uae00\uc740 \uc544\ub984\ub2e4\uc6b4 5\uc6d4\uc758 \uc5b4\ub290 \ub0a0 \uc11c\ubc84\uc5d0 \ubd88\uccad\uac1d\uc774 \ub2e4\ub140\uac04 \uc774\uc57c\uae30\ub2e4.<\/p><div id=\"advads-860122498\" class=\"advads-content-bottom advads-entity-placement\"><script async src=\"\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js?client=ca-pub-8537913535165675\" crossorigin=\"anonymous\"><\/script><ins class=\"adsbygoogle\" style=\"display:block;\" data-ad-client=\"ca-pub-8537913535165675\" \ndata-ad-slot=\"1122769943\" \ndata-ad-format=\"autorelaxed\"><\/ins>\n<script> \n(adsbygoogle = window.adsbygoogle || []).push({}); \n<\/script>\n<\/div>\n<div id=\"advads-1687538490\" class=\"advads-after-content advads-entity-placement\"><script async src=\"\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js?client=ca-pub-8537913535165675\" crossorigin=\"anonymous\"><\/script><ins class=\"adsbygoogle\" style=\"display:block;\" data-ad-client=\"ca-pub-8537913535165675\" \ndata-ad-slot=\"5552969540\" \ndata-ad-format=\"auto\"><\/ins>\n<script> \n(adsbygoogle = window.adsbygoogle || []).push({}); \n<\/script>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>\uc790\uc815 \ubb34\ub835\uc5d0 \ubb38\ub4dd \uc2a4\ub9c8\ud2b8\ud3f0\uc758 \uc2ac\ub799(Slack)\uc571\uc5d0\uc11c \uc54c\ub9bc\uc774 \uc654\ub2e4. \uc11c\ubc84\uc758 \uba54\ubaa8\ub9ac \uc810\uc720\uc728\uc774 90%\uac00 \ub118\uc73c\uba74 \uc2a4\ub9c8\ud2b8\ud3f0\uc73c\ub85c \uba54\uc138\uc9c0\ub97c \ubcf4\ub0b4\ub3c4\ub85d \ub514\uc9c0\ud138\uc624\uc158\uc758 \ubaa8\ub2c8\ud130\ub9c1 \uae30\ub2a5\uc5d0\uc11c \uc124\uc815\ud574 \ub450\uc5c8\ub294\ub370, \uadf8 \ub54c\ubb38\uc5d0 \uacbd\uace0 \uba54\uc2dc\uc9c0\uac00 \ub3c4\ucc29\ud55c \uac83\uc774\uc5c8\ub2e4. \uc989\uc2dc SSH\ub85c \uc811\uc18d\ud574\uc11c free&#8230; <a href=\"https:\/\/i.k-june.com\/wp\/4021\">Read more &raquo;<\/a><\/p>\n","protected":false},"author":1,"featured_media":4039,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[31,38],"tags":[1977,557,403,855,331,401,1971,1979,405,325,1973,1975,780],"class_list":["post-4021","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-it","category-news","tag-iptables","tag-557","tag-403","tag-855","tag-331","tag-401","tag-1971","tag-1979","tag-405","tag-325","tag-1973","tag-1975","tag-780"],"geo":null,"jetpack_featured_media_url":"https:\/\/hermes.k-june.com\/2017\/05\/20170505digitalocean-alert-20170505.jpg","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/i.k-june.com\/wp\/wp-json\/wp\/v2\/posts\/4021","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/i.k-june.com\/wp\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/i.k-june.com\/wp\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/i.k-june.com\/wp\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/i.k-june.com\/wp\/wp-json\/wp\/v2\/comments?post=4021"}],"version-history":[{"count":16,"href":"https:\/\/i.k-june.com\/wp\/wp-json\/wp\/v2\/posts\/4021\/revisions"}],"predecessor-version":[{"id":4077,"href":"https:\/\/i.k-june.com\/wp\/wp-json\/wp\/v2\/posts\/4021\/revisions\/4077"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/i.k-june.com\/wp\/wp-json\/wp\/v2\/media\/4039"}],"wp:attachment":[{"href":"https:\/\/i.k-june.com\/wp\/wp-json\/wp\/v2\/media?parent=4021"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/i.k-june.com\/wp\/wp-json\/wp\/v2\/categories?post=4021"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/i.k-june.com\/wp\/wp-json\/wp\/v2\/tags?post=4021"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}