{"id":4078,"date":"2014-01-20T16:20:51","date_gmt":"2014-01-20T14:20:51","guid":{"rendered":"http:\/\/skeletor.org.ua\/?p=4078"},"modified":"2024-06-25T10:48:15","modified_gmt":"2024-06-25T07:48:15","slug":"%d0%b7%d0%b0%d1%89%d0%b8%d1%82%d0%b0-%d0%be%d1%82-%d0%bd%d0%b5%d0%b1%d0%be%d0%bb%d1%8c%d1%88%d0%be%d0%b3%d0%be-ddosa","status":"publish","type":"post","link":"https:\/\/skeletor.org.ua\/?p=4078","title":{"rendered":"\u0417\u0430\u0449\u0438\u0442\u0430 \u043e\u0442 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0433\u043e DDoS&#8217;a"},"content":{"rendered":"<p>\u0427\u0442\u043e \u0438\u043c\u0435\u0435\u043c: \u0435\u0441\u0442\u044c \u0441\u0435\u0440\u0432\u0435\u0440 (8\u0413\u0431 \u043f\u0430\u043c\u044f\u0442\u0438, <strong>Intel(R) Xeon(R) CPU E31220 @ 3.10GHz<\/strong>) <strong>FreeBSD 8.4 Release amd64, \u0441\u0430\u0439\u0442 \u043d\u0430 php5.2, nginx+apache+mysql<\/strong>.<\/p>\n<p>\u041f\u0435\u0440\u0435\u0439\u0442\u0438 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u043d\u0430 <strong>php-fpm<\/strong> \u043d\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u0437\u0430\u0449\u0438\u0449\u0430\u0442\u044c\u0441\u044f \u043a\u0430\u043a \u0435\u0441\u0442\u044c. \u042d\u0442\u043e \u043f\u043e\u043c\u043e\u0436\u0435\u0442 \u043e\u0442\u0440\u0430\u0437\u0438\u0442\u044c \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0443\u044e <strong>syn flood<\/strong> \u0430\u0442\u0430\u043a\u0443.<\/p>\n<p>\u041d\u0438\u0436\u0435 \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u044b \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u043d\u044b\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0434\u043b\u044f \u043e\u0442\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0430\u0442\u0430\u043a.<\/p>\n<p><!--more--><\/p>\n<p><strong><span style=\"color: #ff0000;\">1) \u0422\u044e\u043d\u0438\u043d\u0433 sysctl.<\/span><\/strong><\/p>\n<p><em><span style=\"color: #ff6600;\">\/boot\/loader.conf<\/span><\/em>:<\/p>\n<p><code>kern.ipc.nmbclusters=65535<br \/>\nnet.inet.tcp.syncache.hashsize=1024<br \/>\nnet.inet.tcp.syncache.bucketlimit=100<br \/>\nnet.inet.tcp.tcbhashsize=4096<\/code><\/p>\n<p><em><span style=\"color: #ff6600;\">\/etc\/sysctl.conf<\/span><\/em>:<\/p>\n<p><code>vfs.usermount=0<br \/>\nsecurity.bsd.see_other_uids=0<br \/>\nsecurity.bsd.see_other_gids=0<br \/>\nsecurity.bsd.hardlink_check_uid=1<br \/>\nsecurity.bsd.hardlink_check_gid=1<br \/>\nsecurity.bsd.conservative_signals=1<br \/>\nsecurity.bsd.unprivileged_proc_debug=0<br \/>\nsecurity.bsd.unprivileged_read_msgbuf=0<br \/>\nsecurity.bsd.unprivileged_get_quota=0<br \/>\nkern.ipc.somaxconn=32768<br \/>\nkern.ipc.maxsockets=204800<br \/>\nkern.ipc.maxsockbuf=2097152<br \/>\nkern.maxfiles=204800<br \/>\nkern.maxfilesperproc=200000<br \/>\nkern.random.sys.harvest.ethernet=0<br \/>\nkern.random.sys.harvest.interrupt=0<br \/>\nkern.random.sys.harvest.point_to_point=0<br \/>\nnet.link.ether.inet.max_age=1200<br \/>\nnet.link.ether.inet.log_arp_movements=0<br \/>\nnet.local.stream.sendspace=65536<br \/>\nnet.local.stream.recvspace=65536<br \/>\nnet.inet6.ip6.redirect=0<br \/>\nnet.inet.ip.portrange.first=1024<br \/>\nnet.inet.ip.portrange.last=65535<br \/>\nnet.inet.ip.fw.dyn_max=8192<br \/>\nnet.inet.ip.redirect=0<br \/>\nnet.inet.ip.sourceroute=0<br \/>\nnet.inet.ip.accept_sourceroute=0<br \/>\nnet.inet.ip.ttl=128<br \/>\nnet.inet.ip.random_id=1<br \/>\nnet.inet.ip.intr_queue_maxlen=4096<br \/>\nnet.inet.icmp.drop_redirect=1<br \/>\nnet.inet.icmp.bmcastecho=0<br \/>\nnet.inet.icmp.maskrepl=0<br \/>\nnet.inet.icmp.icmplim=50<br \/>\nnet.inet.icmp.log_redirect=0<br \/>\nnet.inet.udp.recvspace=65536<br \/>\nnet.inet.udp.maxdgram=57344<br \/>\nnet.inet.tcp.blackhole=2<br \/>\nnet.inet.udp.blackhole=1<br \/>\nnet.inet.tcp.log_in_vain=0<br \/>\nnet.inet.udp.log_in_vain=0<br \/>\nnet.inet.tcp.sendspace=64395<br \/>\nnet.inet.tcp.recvspace=64395<br \/>\nnet.inet.tcp.drop_synfin=1<br \/>\nnet.inet.tcp.syncookies=1<br \/>\nnet.inet.tcp.rfc1323=1<br \/>\nnet.inet.tcp.msl=15000<br \/>\nnet.inet.tcp.icmp_may_rst=0<br \/>\nnet.inet.tcp.sack.enable=0<br \/>\nnet.inet.tcp.finwait2_timeout=20000<br \/>\nnet.inet.tcp.fast_finwait2_recycle=1<br \/>\nnet.inet.tcp.sendbuf_max=16777216<br \/>\nnet.inet.tcp.recvbuf_max=16777216<br \/>\nnet.inet.tcp.maxtcptw=40960<br \/>\nnet.inet.tcp.sack.enable=0<br \/>\nnet.inet.tcp.delayed_ack=0<br \/>\nnet.inet.tcp.nolocaltimewait=1<\/code><\/p>\n<p><strong><span style=\"color: #ff0000;\">2) \u0424\u0430\u0439\u0435\u0440\u0432\u043e\u043b.<\/span><\/strong><\/p>\n<p>\u041f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u0442\u044c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0439 \u0441 \u043e\u0434\u043d\u043e\u0433\u043e <strong>IP<\/strong> \u0434\u043e 20 \u0448\u0442.<\/p>\n<p><code>ipfw add&nbsp;check-state<br \/>\n...<br \/>\nipfw&nbsp;add allow tcp from any to me 80, 443 limit src-addr 20 via ${LanOut}<br \/>\nipfw add allow tcp from 10.0.0.0\/8 to me 80, 443 via ${LanIn} # \u0434\u043b\u044f \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0445 \u044e\u0437\u0435\u0440\u043e\u0432<br \/>\nipfw&nbsp;deny tcp from any to me dst-port 80,443<br \/>\n...<\/code><\/p>\n<p><strong><span style=\"color: #ff0000;\">3) Nginx<\/span><\/strong><\/p>\n<p><em><span style=\"color: #ff6600;\">&#8211; GeoIP<\/span><\/em><\/p>\n<p>\u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0441\u0430\u0439\u0442 \u0431\u044b\u043b \u0443\u043a\u0440\u0430\u0438\u043d\u043e\u044f\u0437\u044b\u0447\u043d\u044b\u043c, \u0442\u043e \u0440\u0435\u0448\u0435\u043d\u043e \u0431\u044b\u043b\u043e \u0432\u043d\u0435\u0434\u0440\u0438\u0442\u044c <strong>GeoIP<\/strong> (<strong>nginx<\/strong> \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u043f\u0435\u0440\u0435\u0441\u043e\u0431\u0440\u0430\u0442\u044c \u0441 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 \u044d\u0442\u043e\u0433\u043e \u043c\u043e\u0434\u0443\u043b\u044f) \u0438 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u0442\u044c \u0434\u043b\u044f <strong>UA, RU, US<\/strong> (\u0434\u043b\u044f \u0433\u0443\u0433\u043b\u043e\u0431\u043e\u0442\u043e\u0432 \u0438 \u043f\u0440\u043e\u0447\u0438\u0445 \u0431\u043e\u0442\u043e\u0432<strong> bingo, yahoo<\/strong>,&#8230;).<\/p>\n<p>\u0421\u043a\u0430\u0447\u0438\u0432\u0430\u0435\u043c \u0441\u0432\u0435\u0436\u0438\u0435 \u0431\u0430\u0437\u044b GeoIP \u0438 \u0440\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u044b\u0432\u0430\u0435\u043c:<\/p>\n<p><code>#mkdir \/usr\/local\/etc\/nginx\/geoip &amp;&amp; cd&nbsp;\/usr\/local\/etc\/nginx\/geoip<br \/>\n#fetch&nbsp;http:\/\/geolite.maxmind.com\/download\/geoip\/database\/GeoLiteCountry\/GeoIP.dat.gz &amp;&amp; gunzip GeoIP.dat.gz<br \/>\n#fetch http:\/\/geolite.maxmind.com\/download\/geoip\/database\/GeoLiteCity.dat.gz &amp;&amp; gunzip GeoLiteCity.dat.gz<br \/>\n<\/code><br \/>\n\u0414\u0430\u043b\u0435\u0435 \u0432 <strong>\/usr\/local\/etc\/nginx\/nginx.conf<\/strong> \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0442\u0430\u043a\u043e\u0439 \u043a\u043e\u0434 \u0432 \u0440\u0430\u0437\u0434\u0435\u043b <strong>http<\/strong>:<\/p>\n<p><code>map $geoip_country_code $good_country {<br \/>\ndefault no;<br \/>\nUA yes;<br \/>\nRU yes;<br \/>\nUS yes;<br \/>\n}<\/code><\/p>\n<p><em><span style=\"color: #ff6600;\">&#8211; nginx map<\/span><\/em><\/p>\n<p>\u0427\u0442\u043e \u0431\u044b \u0440\u0430\u0437\u0440\u0435\u0448\u0438\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f \u044e\u0437\u0435\u0440\u0430\u043c \u0438\u0437 \u043b\u043e\u043a\u0430\u043b\u043a\u0438 \u043d\u0443\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c map \u0434\u043b\u044f \u043d\u0443\u0436\u043d\u044b\u0445 IP&#8217;\u043e\u043a. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0442\u0430\u043a\u043e\u0439 \u043a\u043e\u0434 \u0432 <strong>\/usr\/local\/etc\/nginx\/nginx.conf<\/strong> \u0432 \u0440\u0430\u0437\u0434\u0435\u043b <strong>http<\/strong>:<\/p>\n<p><code>geo $net_geo {<br \/>\ndefault 0;<br \/>\n10.0.0.0\/8 yes;<br \/>\n127.0.0.0\/8 yes;<br \/>\n}<\/code><\/p>\n<p><em><span style=\"color: #ff6600;\">&#8211; \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u0430<\/span><\/em><\/p>\n<p>\u0427\u0442\u043e \u0431\u044b \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u0442\u044c \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 <strong>GeoIP + map<\/strong> \u0434\u043b\u044f \u043d\u0430\u0448\u0435\u0433\u043e \u0441\u0430\u0439\u0442\u0430, \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0442\u0430\u043a\u043e\u0439 \u043a\u043e\u0434 \u0432 \u0440\u0430\u0437\u0434\u0435\u043b <strong>server<\/strong>:<\/p>\n<p><code><br \/>\nset $GOOD 0;<br \/>\nmap $good_country:$net_geo $GOOD {<br \/>\n\"yes\":\"yes\" '1';<br \/>\ndefault '0';<br \/>\n}<br \/>\nif ($GOOD = 0) {<br \/>\nreturn 444;<br \/>\n}<br \/>\n<\/code><\/p>\n<p>\u0418\u043b\u0438 \u0443\u0441\u0442\u0430\u0440\u0435\u0432\u0448\u0438\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442:<\/p>\n<p><code>set $GOOD 0;<br \/>\nif ($good_country = yes) {<br \/>\nset $GOOD 1;<br \/>\n}<br \/>\nif ($net_geo = yes) {<br \/>\nset $GOOD 1;<br \/>\n}<br \/>\nif ($GOOD = 0) {<br \/>\nreturn 444;<br \/>\n}<\/code><\/p>\n<p><em><span style=\"color: #ff6600;\">&#8211; \u043f\u0440\u043e\u0447\u0438\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0434\u043b\u044f nginx<\/span><\/em><\/p>\n<p>\u0412 \u0441\u0435\u043a\u0446\u0438\u0438 <strong>server<\/strong> \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c<\/p>\n<p><code>worker_rlimit_nofile &nbsp;200000;<br \/>\nevents {<br \/>\nworker_connections 10240;<br \/>\nuse kqueue;<br \/>\n}<br \/>\n<\/code><br \/>\n\u0412 \u0441\u0435\u043a\u0446\u0438\u0438 <strong>http<\/strong> \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c<\/p>\n<p><code>sendfile on;<br \/>\ntcp_nopush on;<br \/>\ntcp_nodelay on;<br \/>\nkeepalive_timeout 65;<br \/>\nreset_timedout_connection on;<br \/>\nclient_body_timeout 10;<br \/>\nclient_header_timeout 10;<br \/>\nsend_timeout 10;<\/code><\/p>\n<p><strong><span style=\"color: #ff0000;\">4) \u041f\u0440\u043e\u0447\u0438\u0435.<\/span><\/strong><\/p>\n<p>\u041c\u043e\u0436\u043d\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0441\u043a\u0440\u0438\u043f\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u0443\u0434\u0435\u0442 \u043f\u0430\u0440\u0441\u0438\u0442\u044c <strong>netstat<\/strong> \u043d\u0430 \u043f\u0440\u0435\u0434\u043c\u0435\u0442 <strong>syn<\/strong> \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0439 \u0441 <strong>window size<\/strong> 0 \u0438 \u0431\u0430\u043d\u0438\u0442\u044c <strong>IP<\/strong>.<\/p>\n<p>\u0422\u0430\u043a \u0436\u0435 \u043f\u043e\u043b\u0435\u0437\u043d\u043e \u043e\u0442\u043a\u043b\u044e\u0447\u0438\u0442\u044c <strong>access<\/strong>-\u043b\u043e\u0433\u0438 \u0432 <strong>apache\/nginx<\/strong>, \u0435\u0441\u043b\u0438 \u043e\u043d\u0438 \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0434\u043b\u044f \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0438. \u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043c\u043e\u0436\u043d\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u043a\u0435\u0448\u0435\u0440 (<strong>APC, eAccelerator<\/strong>, &#8230;) \u0438 \u0441\u043c\u043e\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u0430\u043f\u043a\u0443 \u0441 \u043a\u0435\u0448\u0435\u043c \u043a\u0430\u043a <strong>tmpfs<\/strong>. \u0414\u043b\u044f <strong>mysql<\/strong> tmp-\u043f\u0430\u043f\u043a\u0443 \u0442\u043e\u0436\u0435 \u0441\u043c\u043e\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432 <strong>tmpfs<\/strong>.<\/p>\n<p>\u041d\u0430\u0448\u0451\u043b \u043d\u0435\u0434\u0430\u0432\u043d\u043e \u041f\u041e (&nbsp;http:\/\/synflood-defender.net\/docs ) \u0442\u0438\u043f\u0430 \u0434\u043b\u044f \u0437\u0430\u0449\u0438\u0442\u044b \u043e\u0442 \u0430\u0442\u0430\u043a, \u043d\u043e \u043d\u0435 \u0441\u0438\u043b\u044c\u043d\u043e \u0432\u0435\u0440\u044e, \u0447\u0442\u043e \u043e\u043d\u043e \u043f\u043e\u043c\u043e\u0436\u0435\u0442 ))<\/p>\n<p>\u041c\u043e\u0436\u043d\u043e \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u043f\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c <a href=\"http:\/\/ruhighload.com\/index.php\/2009\/04\/21\/varnish-%D0%B1%D1%8B%D1%81%D1%82%D1%80%D1%8B%D0%B9-%D1%81%D1%82%D0%B0%D1%80%D1%82\/\" target=\"_blank\" rel=\"noopener\">Varnish<\/a> \u0434\u043b\u044f \u043a\u0435\u0448\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446, \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e, \u0435\u0441\u043b\u0438 \u0431\u043e\u0442\u044b \u0437\u0430\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u044e\u0442 \u043e\u0434\u043d\u0443 \u0438 \u0442\u0443 \u0436\u0435.<\/p>\n<p><strong><span style=\"color: #ff0000;\">5) \u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0430 \u0447\u0435\u0440\u0435\u0437 \u0444\u0430\u0439\u0435\u0440\u0432\u043e\u043b<\/span><\/strong><\/p>\n<p>pf:<\/p>\n<pre>### block probes that can possibly determine our operating system by disallowing\n### certain combinations that are commonly used by nmap, queso and xprobe2, who\n### are attempting to fingerprint the server.\n### * F : FIN  - Finish; end of session\n### * S : SYN  - Synchronize; indicates request to start session\n### * R : RST  - Reset; drop a connection\n### * P : PUSH - Push; packet is sent immediately\n### * A : ACK  - Acknowledgement\n### * U : URG  - Urgent\n### * E : ECE  - Explicit Congestion Notification Echo\n### * W : CWR  - Congestion Window Reduced\nblock drop in quick on $ext_if proto tcp flags FUP\/WEUAPRSF\nblock drop in quick on $ext_if proto tcp flags WEUAPRSF\/WEUAPRSF\nblock drop in quick on $ext_if proto tcp flags SRAFU\/WEUAPRSF\nblock drop in quick on $ext_if proto tcp flags \/WEUAPRSF\nblock drop in quick on $ext_if proto tcp flags SR\/SR\nblock drop in quick on $ext_if proto tcp flags SF\/SF\n<\/pre>\n<p>ipfw:<\/p>\n<pre>ipfw add deny tcp from any to any in via $ext_if tcpflags fin, syn, rst, psh, ack, urg\nipfw add deny tcp from any to any in via $ext_if tcpflags !fin, !syn, !rst, !psh, !ack, !urg\nipfw add deny tcp from any to any in via $ext_if not established tcpflags fin\nipfw add deny tcp from any to any not verrevpath in via $ext_if \n<\/pre>\n<p>\u0414\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435: \u043d\u0435\u043f\u043b\u043e\u0445\u043e\u0439 \u043f\u0440\u0438\u043c\u0435\u0440 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0438 \u0447\u0435\u0440\u0435\u0437 \u0444\u0430\u0439\u0435\u0440\u0432\u043e\u043b pf \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 country code https:\/\/it-notes.dragas.net\/2024\/06\/16\/freebsd-blocking-country-access\/<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u0427\u0442\u043e \u0438\u043c\u0435\u0435\u043c: \u0435\u0441\u0442\u044c \u0441\u0435\u0440\u0432\u0435\u0440 (8\u0413\u0431 \u043f\u0430\u043c\u044f\u0442\u0438, Intel(R) Xeon(R) CPU E31220 @ 3.10GHz) FreeBSD 8.4 Release amd64, \u0441\u0430\u0439\u0442 \u043d\u0430 php5.2, nginx+apache+mysql. \u041f\u0435\u0440\u0435\u0439\u0442\u0438 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u043d\u0430 php-fpm \u043d\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u0437\u0430\u0449\u0438\u0449\u0430\u0442\u044c\u0441\u044f \u043a\u0430\u043a \u0435\u0441\u0442\u044c. \u042d\u0442\u043e \u043f\u043e\u043c\u043e\u0436\u0435\u0442 \u043e\u0442\u0440\u0430\u0437\u0438\u0442\u044c \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0443\u044e syn flood \u0430\u0442\u0430\u043a\u0443. \u041d\u0438\u0436\u0435 \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u044b \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u043d\u044b\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0434\u043b\u044f \u043e\u0442\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0430\u0442\u0430\u043a.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4,13],"tags":[],"class_list":["post-4078","post","type-post","status-publish","format-standard","hentry","category-freebsd","category-security"],"_links":{"self":[{"href":"https:\/\/skeletor.org.ua\/index.php?rest_route=\/wp\/v2\/posts\/4078","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/skeletor.org.ua\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/skeletor.org.ua\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/skeletor.org.ua\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/skeletor.org.ua\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=4078"}],"version-history":[{"count":8,"href":"https:\/\/skeletor.org.ua\/index.php?rest_route=\/wp\/v2\/posts\/4078\/revisions"}],"predecessor-version":[{"id":6400,"href":"https:\/\/skeletor.org.ua\/index.php?rest_route=\/wp\/v2\/posts\/4078\/revisions\/6400"}],"wp:attachment":[{"href":"https:\/\/skeletor.org.ua\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=4078"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/skeletor.org.ua\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=4078"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/skeletor.org.ua\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=4078"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}