{"id":308,"date":"2011-06-10T11:03:15","date_gmt":"2011-06-10T09:03:15","guid":{"rendered":"http:\/\/antynet.pl\/?p=308"},"modified":"2011-06-10T11:07:23","modified_gmt":"2011-06-10T09:07:23","slug":"apache2-qos-dos-ddos","status":"publish","type":"post","link":"https:\/\/www.antynet.pl\/index.php\/2011\/06\/10\/apache2-qos-dos-ddos\/","title":{"rendered":"Apache2 QoS &#8211; DoS DDoS"},"content":{"rendered":"<p>Jest fajny modu\u0142 do apacha2, kt\u00f3ry w pewnym stopniu blokuje ataki DoS oraz DDoS.<\/p>\n<p>Oczywi\u015bcie wszystko zale\u017cy od mo\u017cliwo\u015bci atakuj\u0105cego i naszych zasob\u00f3w sieciowych oraz sprz\u0119towych.<\/p>\n<p>Ale do rzeczy.<\/p>\n<p>Mowa o mod_qos<\/p>\n<p>aktualna wersja na 10.06.2011:<\/p>\n<p>cd \/usr\/src<\/p>\n<p>wget http:\/\/netcologne.dl.sourceforge.net\/project\/mod-qos\/mod_qos-9.57.tar.gz<\/p>\n<p>tar zxvf mod_qos-9.57.tar.gz<\/p>\n<p>cd mod_qos-9.57\/apache2<\/p>\n<p>apxs2 -i -c mod_qos.c<\/p>\n<p>cd \/ etc\/apache2\/mods-available<\/p>\n<p>mcedit qos.load<\/p>\n<p>w zawarto\u015bci:<\/p>\n<blockquote><p>##########################<\/p>\n<div id=\"_mcePaste\" style=\"position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;\">LoadModule qos_module \/usr\/lib\/apache2\/modules\/mod_qos.so<\/div>\n<div id=\"_mcePaste\" style=\"position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;\">## QoS module Settings<\/div>\n<div id=\"_mcePaste\" style=\"position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;\">&lt;IfModule mod_qos.c&gt;<\/div>\n<div id=\"_mcePaste\" style=\"position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;\"># zezwalamy na polaczenia z \u00a01000 r\u00f3\u017cnych IP.<\/div>\n<div id=\"_mcePaste\" style=\"position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;\">QS_ClientEntries 1000<\/div>\n<div id=\"_mcePaste\" style=\"position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;\"># Kazde IP moze wykonac 40 polaczen<\/div>\n<div id=\"_mcePaste\" style=\"position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;\">QS_SrvMaxConnPerIP 40<\/div>\n<div id=\"_mcePaste\" style=\"position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;\"># Maksymalna ilosc rownoczesnych polaczen TCP<\/div>\n<div id=\"_mcePaste\" style=\"position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;\">MaxClients 256<\/div>\n<div id=\"_mcePaste\" style=\"position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;\"># Wylacz keep-alive gdy aktywnych jest polaczen<\/div>\n<div id=\"_mcePaste\" style=\"position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;\">QS_SrvMaxConnClose 180<\/div>\n<div id=\"_mcePaste\" style=\"position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;\"># zapytanie \/ czas odpowiedzi ( ubij polaczenia niczego niezadajace, DoS)<\/div>\n<div id=\"_mcePaste\" style=\"position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;\">QS_SrvMinDataRate 150 1200<\/div>\n<div id=\"_mcePaste\" style=\"position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;\">CustomLog \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 logs\/qsaudit_log \u00a0&#8222;%{qos-path}n%{qos-query}n&#8221;<\/div>\n<div id=\"_mcePaste\" style=\"position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;\">&lt;\/IfModule&gt;<\/div>\n<p>LoadModule qos_module \/usr\/lib\/apache2\/modules\/mod_qos.so<\/p>\n<p>## QoS module Settings<\/p>\n<p>&lt;IfModule mod_qos.c&gt;<\/p>\n<p># zezwalamy na polaczenia z \u00a01000 r\u00f3\u017cnych IP.<\/p>\n<p>QS_ClientEntries 1000<\/p>\n<p># Kazde IP moze wykonac 40 polaczen<\/p>\n<p>QS_SrvMaxConnPerIP 40<\/p>\n<p># Maksymalna ilosc rownoczesnych polaczen TCP<\/p>\n<p>MaxClients 256<\/p>\n<p># Wylacz keep-alive gdy aktywnych jest polaczen<\/p>\n<p>QS_SrvMaxConnClose 180<\/p>\n<p># zapytanie \/ czas odpowiedzi ( ubij polaczenia niczego niezadajace, DoS)<\/p>\n<p>QS_SrvMinDataRate 150 1200<\/p>\n<p>&lt;\/IfModule&gt;<\/p>\n<p>#####################################<\/p><\/blockquote>\n<p>Teraz aktywujemy\u00a0modu\u0142:<\/p>\n<p><span style=\"font-family: 'Courier New', Courier, monospace; line-height: normal;\">a2enmod qos<\/span><\/p>\n<p><span style=\"font-family: 'Courier New', Courier, monospace; line-height: normal;\">no i restartujemy apache2:<\/span><\/p>\n<p><span style=\"font-family: 'Courier New', Courier, monospace; line-height: normal;\">\/etc\/init.d\/apache2 restart<\/span><\/p>\n<p><span style=\"font-family: 'Courier New', Courier, monospace; line-height: normal;\">Oczywi\u015bcie gdy DDoS b\u0119dzie pochodzi\u0142 z wi\u0119kszej ilo\u015bci IP jak okre\u015blonych w <\/span>QS_ClientEntries \u00a0to si\u0119 powiedzie.<\/p>\n<p>Dlatego wa\u017cne jest ustali\u0107 dok\u0142adnie parametry pracy modu\u0142u maj\u0105c na uwadze\u00a0wydolno\u015b\u0107\u00a0naszej sieci oraz moc obliczeniow\u0105 serwera.<\/p>\n<p>inspiracja &#8211; sow \ud83d\ude09<\/p>\n<p><span style=\"font-family: 'Courier New', Courier, monospace; line-height: normal;\"><br \/>\n<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Jest fajny modu\u0142 do apacha2, kt\u00f3ry w pewnym stopniu blokuje ataki DoS oraz DDoS. Oczywi\u015bcie wszystko zale\u017cy od mo\u017cliwo\u015bci atakuj\u0105cego i naszych zasob\u00f3w sieciowych oraz sprz\u0119towych. Ale do rzeczy. Mowa o mod_qos aktualna wersja na 10.06.2011: cd \/usr\/src wget http:\/\/netcologne.dl.sourceforge.net\/project\/mod-qos\/mod_qos-9.57.tar.gz tar zxvf mod_qos-9.57.tar.gz cd mod_qos-9.57\/apache2 apxs2 -i -c mod_qos.c cd \/ etc\/apache2\/mods-available mcedit qos.load w [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"categories":[4,3],"tags":[],"class_list":["post-308","post","type-post","status-publish","format-standard","hentry","category-sciaga-admina","category-uslugi"],"_links":{"self":[{"href":"https:\/\/www.antynet.pl\/index.php\/wp-json\/wp\/v2\/posts\/308","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.antynet.pl\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.antynet.pl\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.antynet.pl\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.antynet.pl\/index.php\/wp-json\/wp\/v2\/comments?post=308"}],"version-history":[{"count":5,"href":"https:\/\/www.antynet.pl\/index.php\/wp-json\/wp\/v2\/posts\/308\/revisions"}],"predecessor-version":[{"id":310,"href":"https:\/\/www.antynet.pl\/index.php\/wp-json\/wp\/v2\/posts\/308\/revisions\/310"}],"wp:attachment":[{"href":"https:\/\/www.antynet.pl\/index.php\/wp-json\/wp\/v2\/media?parent=308"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.antynet.pl\/index.php\/wp-json\/wp\/v2\/categories?post=308"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.antynet.pl\/index.php\/wp-json\/wp\/v2\/tags?post=308"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}