{"id":477409,"date":"2026-04-25T19:33:51","date_gmt":"2026-04-25T19:33:51","guid":{"rendered":"https:\/\/savepearlharbor.com\/?p=477409"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=477409","title":{"rendered":"Suricata IPS NFQueue with nDPI. \u0427\u0430\u0441\u0442\u044c II"},"content":{"rendered":"<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<p><a href=\"https:\/\/habr.com\/ru\/articles\/1027512\/\" rel=\"noopener noreferrer nofollow\">\u0427\u0430\u0441\u0442\u044c I<\/a> \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442: \u043e\u0431\u0449\u0438\u0435 \u0441\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u043e suricata; \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f \u043a \u0436\u0435\u043b\u0435\u0437\u0443; \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0440\u0435\u0436\u0438\u043c\u043e\u0432 \u0440\u0430\u0431\u043e\u0442\u044b; \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435, \u0445\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u0438\u0441\u0442\u0438\u043a\u0438 \u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 nDPI; \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0434\u0432\u0438\u0436\u043a\u043e\u0432.<\/p>\n<p>\u0412\u00a0\u044d\u0442\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u0430  \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0438\u0437 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0445 \u043a\u043e\u0434\u043e\u0432. <\/p>\n<p>\u0421\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435:<\/p>\n<p>6. \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0438\u0437 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0445 \u043a\u043e\u0434\u043e\u0432.<\/p>\n<p>   6.1. \u0421\u0431\u043e\u0440\u043a\u0430 nDPI.<\/p>\n<p>   6.2 \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 Rust.<\/p>\n<p>   6.3. \u0421\u0431\u043e\u0440\u043a\u0430 suricata.<\/p>\n<p>      6.3.1 \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u0434\u043b\u044f \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0445 \u0432\u0430\u043c \u0434\u0432\u0438\u0436\u043a\u043e\u0432.<\/p>\n<p>      6.3.2 \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u0434\u043b\u044f \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0445 \u0432\u0430\u043c \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u0438 \u043e\u043f\u0446\u0438\u0439.<\/p>\n<p>          6.3.2.1 \u041f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u044b\u0435 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b.<\/p>\n<p>          6.3.2.2 \u041f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u044b\u0435 \u043e\u043f\u0446\u0438\u0438.<\/p>\n<p>      6.3.3 \u041e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u0435 \u0444\u043b\u0430\u0433\u0438 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430 \u0434\u043b\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f suricata.<\/p>\n<p>      6.3.4 \u0421\u0431\u043e\u0440\u043a\u0430 \u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 suricata.<\/p>\n<p>Suricata, \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u0430\u044f \u0438\u0437\u00a0\u0440\u0435\u043f\u043e\u0437\u0438\u0442\u0430\u0440\u0438\u0435\u0432 Debian \u043d\u0435\u00a0\u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 nDPI. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0434\u043b\u044f\u00a0\u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 nDPI \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0442\u044c suricata \u0438\u0437\u00a0\u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0445 \u043a\u043e\u0434\u043e\u0432. \u0421\u043e\u0445\u0440\u0430\u043d\u044f\u0442\u044c \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0438 \u0431\u0443\u0434\u0435\u043c \u0432<code>\/usr\/local\/src<\/code>. <code>\/usr\/local\/src<\/code>\u00a0\u2014 \u044d\u0442\u043e \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439 \u043a\u0430\u0442\u0430\u043b\u043e\u0433 \u0432\u00a0Unix\u2011\u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445, \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u043d\u044b\u0439 \u0434\u043b\u044f\u00a0\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0445 \u043a\u043e\u0434\u043e\u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u0443\u044e\u0442\u0441\u044f \u0438 \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u043e\u043c \u0432\u0440\u0443\u0447\u043d\u0443\u044e, \u0430\u00a0\u043d\u0435\u00a0\u0447\u0435\u0440\u0435\u0437 \u043f\u0430\u043a\u0435\u0442\u043d\u044b\u0439 \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440 \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432\u0430.<\/p>\n<p>\u0414\u043b\u044f\u00a0\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u0441\u044f 4\u0413\u0411 \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u043e\u0433\u043e \u043c\u0435\u0441\u0442\u0430 \u0432 <code>\/usr<\/code>. \u0418\u0437\u00a0\u043d\u0438\u0445 \u043f\u0430\u043f\u043a\u0430 \u0441\u00a0\u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0430\u043c\u0438 \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u043d\u0438\u043c\u0430\u0442\u044c \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e 1,7\u0413\u0411. <\/p>\n<h3>6.1. \u0421\u0431\u043e\u0440\u043a\u0430 nDPI.<\/h3>\n<p>\u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u043d\u0443\u0436\u043d\u043e \u0441\u043e\u0431\u0440\u0430\u0442\u044c nDPI. \u0413\u043b\u0430\u0432\u043d\u0430\u044f \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u044c \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0432\u00a0\u0442\u043e\u043c, \u0447\u0442\u043e\u00a0\u043d\u0430\u043c \u043d\u0443\u0436\u0435\u043d \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u044b\u0439 \u0440\u0435\u043b\u0438\u0437 \u0432\u0435\u0440\u0441\u0438\u0438 4, \u0442\u0430\u043a \u043a\u0430\u043a\u00a0suricata \u043d\u0430\u00a0\u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u043d\u0435\u00a0\u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 nDPI v5.0. \u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 nDPI \u0441\u043e\u0437\u0434\u0430\u043b\u0438 \u043d\u043e\u0432\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e \u0431\u0435\u0437\u00a0\u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0439 \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u0438. \u0412\u00a0\u0438\u0442\u043e\u0433\u0435 \u0441\u0443\u0440\u0438\u043a\u0430\u0442\u043e\u0432\u0446\u044b \u043d\u0435\u00a0\u0445\u043e\u0442\u044f\u0442 \u043c\u0435\u043d\u044f\u0442\u044c \u043a\u043e\u0434 \u043f\u043e\u0434\u00a0\u043d\u043e\u0432\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e, \u043d\u0430\u043f\u0438\u0441\u0430\u043b\u0438 \u043d\u0442\u043e\u043f\u043e\u0432\u0446\u0430\u043c \u0437\u0430\u043f\u0440\u043e\u0441 \u0438 \u0436\u0434\u0443\u0442 \u043f\u043e\u043a\u0430 \u0442\u0435 \u0432\u043d\u0435\u0441\u0443\u0442 \u043d\u0443\u0436\u043d\u044b\u0435 \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f. \u041d\u0442\u043e\u043f\u043e\u0432\u0446\u044b \u0438\u0434\u0443\u0442 \u0432\u043f\u0435\u0440\u0435\u0434 \u0438 \u0441\u0447\u0438\u0442\u0430\u044e\u0442, \u0447\u0442\u043e\u00a0\u043d\u043e\u0432\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f\u00a0\u2014 \u043d\u043e\u0432\u044b\u0435 \u043b\u0443\u0447\u0448\u0438\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438.<\/p>\n<p>\u0414\u043b\u044f \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0443\u0441\u043b\u043e\u0432\u0438\u044f:<\/p>\n<ul>\n<li>\n<p>\u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b GNU (<code>autoconf automake libtool pkg-config gettext flex bison<\/code>)<\/p>\n<\/li>\n<li>\n<p>\u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 GNU C (<code>gcc<\/code>) \u0438\u043b\u0438 <code>clang<\/code><\/p>\n<\/li>\n<\/ul>\n<p>\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u0438 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u0434\u043b\u044f \u0441\u0431\u043e\u0440\u043a\u0438 nDPI:<\/p>\n<p><code># sudo apt-get -y install wget curl build-essential git gettext flex bison libtool autoconf automake pkg-config libpcap-dev libjson-c-dev libnuma-dev libpcre2-dev libmaxminddb-dev librrd-dev<\/code><\/p>\n<p>\u0417\u0430\u0442\u0435\u043c \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u0435:<\/p>\n<p><code># cd \/usr\/local\/src<\/code><\/p>\n<p><code># wget https:\/\/github.com\/ntop\/nDPI\/archive\/refs\/tags\/4.14.zip<\/code><\/p>\n<p><code># unzip -tq 4.14.zip &amp;&amp; unzip -q 4.14.zip<\/code><\/p>\n<p><code># cd nDPI-4.14<\/code><\/p>\n<p><code># .\/autogen.sh<\/code><\/p>\n<p>\u0411\u0443\u0434\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u043b\u044f configure \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u043e\u043f\u0446\u0438\u0438 \u0438 \u0444\u043b\u0430\u0433\u0438: <\/p>\n<p><code>--prefix=\/usr\/local<\/code> &#8212; \u043f\u0440\u0435\u0444\u0438\u043a\u0441 \u0434\u043b\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438. \u0427\u0442\u043e\u0431\u044b \u0435\u0441\u043b\u0438 \u0432\u044b \u0440\u0435\u0448\u0438\u0442\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c <code>'make install'<\/code>, \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u0430\u044f \u0438\u0437 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u043e\u0432 \u0432\u0435\u0440\u0441\u0438\u044f \u043d\u0435 \u043a\u043e\u043d\u0444\u043b\u0438\u043a\u0442\u043e\u0432\u0430\u043b\u0430 \u0441 \u0432\u0435\u0440\u0441\u0438\u0435\u0439 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u043e\u0439 \u0438\u0437 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u0430\u0440\u0438\u0435\u0432 (\u0435\u0441\u043b\u0438 \u043e\u043d\u0430 \u0431\u0443\u0434\u0435\u0442 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0430 \u0434\u043b\u044f \u043a\u0430\u043a\u0438\u0445-\u043b\u0438\u0431\u043e \u043f\u0430\u043a\u0435\u0442\u043e\u0432). <\/p>\n<p><code>--with-pic<\/code> &#8212; \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u0442 \u043f\u043e\u0437\u0438\u0446\u0438\u043e\u043d\u043d\u043e-\u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u044b\u0439 \u043a\u043e\u0434. <\/p>\n<p><code>-march=native<\/code> &#8212; \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432\u0441\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u0432\u0430\u0448\u0435\u0433\u043e \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430. <\/p>\n<p><code>-flto=auto, -ffat-lto-objects<\/code> &#8212; \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u044f \u043d\u0430 \u044d\u0442\u0430\u043f\u0435 \u043b\u0438\u043d\u043a\u043e\u0432\u043a\u0438. \u041a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u0430\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u0442 \u0432\u0441\u044e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443 \u0446\u0435\u043b\u0438\u043a\u043e\u043c, \u0430 \u043d\u0435 \u043f\u043e \u043e\u0434\u043d\u043e\u043c\u0443 \u0444\u0430\u0439\u043b\u0443, \u0447\u0442\u043e \u0434\u0430\u0435\u0442 \u043f\u0440\u0438\u0440\u043e\u0441\u0442 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438. <\/p>\n<p><code>-std=c11<\/code> &#8212; \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442 \u044f\u0437\u044b\u043a\u0430 C 2011 \u0433\u043e\u0434\u0430.<\/p>\n<p><code>\u0412\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u0435:<\/code><\/p>\n<p><code> # .\/configure --prefix=\/usr\/local --with-pic CFLAGS=\"-march=native -flto=auto -ffat-lto-objects -std=c11\"<\/code><\/p>\n<p><code> # make -j$(nproc)<\/code><\/p>\n<p>\u041f\u043e\u0441\u043b\u0435 \u0443\u0441\u043f\u0435\u0448\u043d\u043e\u0439 \u0441\u0431\u043e\u0440\u043a\u0438 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0441\u043f\u0438\u0441\u043a\u0438 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u044b\u0445 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u043e\u0432: &#171;<code>.\/example\/ndpiReader -a 0<\/code>&#171;. \u041e\u043f\u0446\u0438\u044f <code>\"-a 1\"<\/code> \u043f\u043e\u043a\u0430\u0436\u0435\u0442 \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0438 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u043e\u0432, \u0430\u00a0\u043e\u043f\u0446\u0438\u044f <code>\"-a 2\"<\/code> \u043f\u043e\u043a\u0430\u0436\u0435\u0442 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0435 \u0440\u0438\u0441\u043a\u0438. <code>\".\/example\/ndpiReader -H\"<\/code> \u043f\u043e\u043a\u0430\u0436\u0435\u0442 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u043d\u0443\u044e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e\u00a0\u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430\u0445 \u0438 \u0440\u0438\u0441\u043a\u0430\u0445. \u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u0441\u043e\u0431\u0440\u0430\u043d\u043d\u0443\u044e nDPI \u0432\u00a0\u0432\u0430\u0448\u0435\u0439 \u0441\u0435\u0442\u0438:<\/p>\n<ul>\n<li>\n<p>\u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c: <code>.\/example\/ndpiReader -i <\/code>\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441<\/p>\n<\/li>\n<li>\n<p>\u0434\u0430\u0442\u044c \u043f\u043e\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c, \u0437\u0430\u0442\u0435\u043c \u043f\u0440\u0435\u0440\u0432\u0430\u0442\u044c \u0441\u00a0\u043f\u043e\u043c\u043e\u0449\u044c\u044e <code>Ctrl+C<\/code><\/p>\n<\/li>\n<\/ul>\n<p>\u0412\u00a0\u043f\u0430\u043f\u043a\u0443 <code>.\/utils<\/code> \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u043f\u043e\u043c\u0435\u0441\u0442\u0438\u043b\u0438 \u043e\u0447\u0435\u043d\u044c \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0435 \u0441\u043a\u0440\u0438\u043f\u0442\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0433\u0443\u0442 \u043f\u0440\u0438\u0433\u043e\u0434\u0438\u0442\u044c\u0441\u044f.<\/p>\n<p>\u0412\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0443 nDPI \u043d\u0435\u00a0\u043d\u0443\u0436\u043d\u043e. \u0415\u0441\u043b\u0438 \u0432\u044b \u0435\u0451 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u0435, \u0442\u043e \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u0435 \u0432\u044b\u0432\u043e\u0434 <code>'make install'<\/code>, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e\u00a0\u0432\u00a0\u0441\u043b\u0443\u0447\u0430\u0435 \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u044f \u0432\u0441\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u043f\u0440\u0438\u0434\u0435\u0442\u0441\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u0432\u0440\u0443\u0447\u043d\u0443\u044e (\u0446\u0435\u043b\u0438 <code>'make unuinstall'<\/code> \u043d\u0435\u0442).<\/p>\n<h3>6.2\u00a0\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 Rust.<\/h3>\n<p>Suricata 8-\u0439 \u0432\u0435\u0442\u043a\u0438 \u0430\u043a\u0442\u0438\u0432\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 Rust (\u0432\u043a\u043b\u044e\u0447\u0430\u044f \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u043e\u0441\u0442\u044c \u0438 \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043f\u0430\u0440\u0441\u0435\u0440\u044b). \u041d\u043e\u00a0\u0432\u00a0\u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f\u0445 Debian 13\u00a0\u0432\u0435\u0440\u0441\u0438\u044f Rust \u043d\u0438\u0436\u0435, \u0447\u0435\u043c \u0442\u0440\u0435\u0431\u0443\u044e\u0442 \u0441\u0430\u043c\u044b\u0435 \u0441\u0432\u0435\u0436\u0438\u0435 \u0432\u0435\u0440\u0441\u0438\u0438 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u0430\u044f cbindgen \u0442\u0440\u0435\u0431\u0443\u0435\u0442 Rust v1.87.0). \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0434\u043b\u044f\u00a0\u0441\u0431\u043e\u0440\u043a\u0438 suricata \u043d\u0435\u00a0\u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442\u0441\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0439 Rust \u0438\u0437\u00a0\u0440\u0435\u043f\u043e\u0437\u0438\u0442\u0430\u0440\u0438\u0435\u0432. \u0421\u0430\u043c\u044b\u0439 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0439 \u043f\u0443\u0442\u044c \u0434\u043b\u044f\u00a0\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 Rust \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0439 \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438\u00a0\u2014 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0439 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0449\u0438\u043a <code>rustup<\/code>. \u0422\u043e\u0433\u0434\u0430 \u0432\u0435\u0441\u044c Rust\u2011\u043a\u043e\u0434 \u0432\u043d\u0443\u0442\u0440\u0438 suricata \u0431\u0443\u0434\u0435\u0442 \u0441\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043d \u0441\u00a0\u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u043c\u0438 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u044f\u043c\u0438 (\u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u0435\u0441\u043b\u0438 \u0432\u044b \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u0435 \u0444\u043b\u0430\u0433\u0438 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438 \u0432 <code>config.toml<\/code>).<\/p>\n<p>\u0415\u0441\u043b\u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d Rust \u0438\u0437\u00a0\u0440\u0435\u043f\u043e\u0437\u0438\u0442\u0430\u0440\u0438\u0435\u0432, \u0442\u043e \u0443\u0434\u0430\u043b\u044f\u0435\u043c \u0435\u0433\u043e:<\/p>\n<p> <code># apt remove rustc cargo<\/code><\/p>\n<p>\u0427\u0442\u043e\u0431\u044b \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c Rust \u0447\u0435\u0440\u0435\u0437 <code>rustup<\/code> \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u043c \u0434\u043b\u044f\u00a0\u0432\u0441\u0435\u0445 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439, \u0432\u043a\u043b\u044e\u0447\u0430\u044f \u0442\u0435\u0445, \u043f\u043e\u0434\u00a0\u043a\u043e\u0442\u043e\u0440\u044b\u043c\u0438 \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c suricata, \u043d\u0443\u0436\u043d\u043e \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439 \u043f\u0443\u0442\u044c \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 (\u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e <code>rustup<\/code> \u0441\u0442\u0430\u0432\u0438\u0442 \u0432\u0441\u0451 \u0432 <code>$HOME\/.cargo<\/code>, \u043d\u043e\u00a0\u043c\u044b \u043f\u0435\u0440\u0435\u043d\u0430\u043f\u0440\u0430\u0432\u0438\u043c \u0435\u0433\u043e \u0432 <code>\/usr\/local<\/code>). \u0423\u043a\u0430\u0436\u0438\u0442\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0449\u0438\u043a\u0443 \u043d\u043e\u0432\u044b\u0435 \u043f\u0443\u0442\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0435\u00a0\u0437\u0430\u0432\u0438\u0441\u044f\u0442 \u043e\u0442\u00a0\u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0433\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f:<\/p>\n<p><code># export RUSTUP_HOME=\/usr\/local\/rustup<\/code><\/p>\n<p><code># export CARGO_HOME=\/usr\/local\/cargo<\/code><\/p>\n<p>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0439 \u0441\u043a\u0440\u0438\u043f\u0442 \u0441\u00a0\u0444\u043b\u0430\u0433\u043e\u043c <code>-y<\/code> (\u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u0435) \u0438 \u0431\u0435\u0437\u00a0\u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0444\u0438\u043b\u044f \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f:<\/p>\n<p> <code># curl --proto '=https' --tlsv1.2 -sSf https:\/\/sh.rustup.rs | sh -s \u2013 -y --no-modify-path<\/code><\/p>\n<p>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u0442\u0435 \u043f\u0443\u0442\u0438 \u0434\u043b\u044f\u00a0\u0432\u0441\u0435\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b\u00a0\u2014 \u0447\u0442\u043e\u0431\u044b \u043b\u044e\u0431\u043e\u0439 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c (\u0438 \u0441\u043a\u0440\u0438\u043f\u0442\u044b \u0441\u0431\u043e\u0440\u043a\u0438) \u0432\u0438\u0434\u0435\u043b\u0438 <code>rustc<\/code> \u0438 <code>cargo<\/code>, \u0434\u043e\u0431\u0430\u0432\u044c\u0442\u0435 \u043f\u0443\u0442\u0438 \u0432\u00a0\u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0439 \u043f\u0440\u043e\u0444\u0438\u043b\u044c: <\/p>\n<p>\u0421\u043e\u0437\u0434\u0430\u0439\u0442\u0435 \u0444\u0430\u0439\u043b:<\/p>\n<p><code> # nano \/etc\/profile.d\/rust.sh<\/code><\/p>\n<p>\u0412\u0441\u0442\u0430\u0432\u044c\u0442\u0435 \u0442\u0443\u0434\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0441\u0442\u0440\u043e\u043a\u0438: <\/p>\n<p><code>export RUSTUP_HOME=\/usr\/local\/rustup <\/code><\/p>\n<p><code>export CARGO_HOME=\/usr\/local\/cargo <\/code><\/p>\n<p><code>export PATH=$PATH:\/usr\/local\/cargo\/bin <\/code><\/p>\n<p>\u041f\u0440\u0438\u043c\u0435\u043d\u0438\u0442\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f:<\/p>\n<p> <code># source \/etc\/profile.d\/rust.sh<\/code><\/p>\n<p>\u0421\u043e\u0437\u0434\u0430\u0439\u0442\u0435 \u0444\u0430\u0439\u043b \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 Rust <code>\/usr\/local\/cargo\/config.toml<\/code> \u0438 \u0432\u043d\u0435\u0441\u0438\u0442\u0435 \u0432\u00a0\u043d\u0435\u0433\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440:<\/p>\n<p><code> # cat \/usr\/local\/cargo\/config.toml<\/code><\/p>\n<p><code>[build] <\/code><\/p>\n<p><code>rustflags = [ <\/code><\/p>\n<p><code>\u201c-C\u201d, \u201ctarget-cpu=native\u201d, <\/code><\/p>\n<p><code>\u201c-C\u201d, \u201crelocation-model=pic\u201d, <\/code><\/p>\n<p><code>\u201c-C\u201d, \u201ccontrol-flow-guard=yes\u201d, <\/code><\/p>\n<p><code>\u201c-C\u201d, \u201clink-arg=-Wl,-z,relro,-z,now\u201d <\/code><\/p>\n<p><code>]<\/code><\/p>\n<p><code>[profile.release]<\/code><\/p>\n<p><code>opt-level = 3 <\/code><\/p>\n<p><code>lto = \u201cfat\u201d <\/code><\/p>\n<p><code>codegen-units = 1 <\/code><\/p>\n<p><code>strip = \u201csymbols\u201d <\/code><\/p>\n<p><code>panic = \u201cabort\u201d <\/code><\/p>\n<p><code>overflow-checks = true<\/code><\/p>\n<p>\u0423\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c <code>cbindgen<\/code>, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0439 \u0434\u043b\u044f\u00a0\u0441\u0431\u043e\u0440\u043a\u0438 suricata:<\/p>\n<p><code> # cargo install cbindgen<\/code><\/p>\n<h3>6.3. \u0421\u0431\u043e\u0440\u043a\u0430 suricata.<\/h3>\n<h4>6.3.1 \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u0434\u043b\u044f \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0445 \u0432\u0430\u043c \u0434\u0432\u0438\u0436\u043a\u043e\u0432.<\/h4>\n<p>\u0414\u043b\u044f \u0434\u0432\u0438\u0436\u043a\u0430 NFQueue: <\/p>\n<p>\u041d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438: <code>libnetfilter-queue-dev, libnetfilter-queue1, libnfnetlink-dev, libnfnetlink0<\/code> (<code>libnetfilter-queue<\/code> \u0434\u043b\u044f \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 \u043e\u0447\u0435\u0440\u0435\u0434\u0435\u0439,<code>libnfnetlink<\/code> \u0434\u043b\u044f \u0441\u0432\u044f\u0437\u0438 \u0441 \u043f\u043e\u0434\u0441\u0438\u0441\u0442\u0435\u043c\u043e\u0439 Netfilter \u0432 \u044f\u0434\u0440\u0435). <\/p>\n<p>\u041e\u043f\u0446\u0438\u044f \u0434\u043b\u044f configure: <code>--enable-nfqueue<\/code><\/p>\n<h4>6.3.2\u00a0\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u0434\u043b\u044f\u00a0\u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0445 \u0432\u0430\u043c \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u0438 \u043e\u043f\u0446\u0438\u0439.<\/h4>\n<p><strong>6.3.2.1\u00a0\u041f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u044b\u0435 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b.<\/strong><\/p>\n<p>\u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043a\u0430\u043a\u0438\u0435 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 suricata \u043c\u043e\u0436\u043d\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u0443 (\u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u043a\u00a0\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0435\u00a0\u2014 \u043f\u043e\u0441\u043b\u0435 \u0441\u0431\u043e\u0440\u043a\u0438):<\/p>\n<p> <code># suricata --build-info | grep Features<\/code><\/p>\n<p><code>Features: NFQ PCAP_SET_BUFF AF_PACKET HAVE_PACKET_FANOUT LIBCAP_NG LIBNET1.1 HAVE_HTP_URI_NORMALIZE_HOOK PCRE_JIT HAVE_NSS HTTP2_DECOMPRESSION HAVE_LUA HAVE_JA3 HAVE_JA4 HAVE_LIBJANSSON TLS TLS_C11 MAGIC RUST POPCNT64<\/code><\/p>\n<p>\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u043c \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0431\u0443\u0434\u0435\u0442 \u0441\u043f\u0438\u0441\u043e\u043a \u0444\u043b\u0430\u0433\u043e\u0432. \u0424\u043b\u0430\u0433\u0438 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0442 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0445 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432: \u0441\u00a0\u043a\u0430\u043a\u0438\u043c\u0438 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430\u043c\u0438 \u0441\u043e\u0431\u0440\u0430\u043d\u0430 suricata, \u043a\u0430\u043a\u0438\u0435 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u044b, \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u044f\u0437\u044b\u043a\u0438, \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u044b \u0438 \u0434\u0440. \u043e\u043d\u0430 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0438 \u043a\u0430\u043a\u0438\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 suricata \u043e\u043d\u0438 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u044e\u0442. <\/p>\n<p>\u0424\u043b\u0430\u0433 <strong>NFQ<\/strong>\u00a0\u2014 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u0447\u0442\u043e\u00a0suricata \u0441\u043e\u0431\u0440\u0430\u043d\u0430 \u0441\u00a0\u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 \u0434\u0432\u0438\u0436\u043a\u0430 NFQueue.<\/p>\n<p><strong>AF_PACKET<\/strong>\u00a0\u2014 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u0447\u0442\u043e\u00a0suricata \u0441\u043e\u0431\u0440\u0430\u043d\u0430 \u0441\u00a0\u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 \u0440\u043e\u0434\u043d\u043e\u0433\u043e \u0434\u043b\u044f\u00a0Linux \u0434\u0432\u0438\u0436\u043a\u0430 (\u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u0430 \u0437\u0430\u0445\u0432\u0430\u0442\u0430 \u043f\u0430\u043a\u0435\u0442\u043e\u0432) AF_PACKET.<\/p>\n<p><strong>HAVE_PACKET_FANOUT<\/strong>\u00a0\u2014 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u0447\u0442\u043e\u00a0suricata \u0441\u043e\u0431\u0440\u0430\u043d\u0430 \u0441\u00a0\u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u0430 Fanout \u043d\u0430\u00a0\u0443\u0440\u043e\u0432\u043d\u0435 \u044f\u0434\u0440\u0430 Linux (\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0432\u043c\u0435\u0441\u0442\u0435 \u0441\u00a0\u0434\u0432\u0438\u0436\u043a\u043e\u043c AF_PACKET). \u042d\u0442\u043e \u043a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u0430\u0436\u043d\u0430\u044f \u043e\u043f\u0446\u0438\u044f \u0434\u043b\u044f\u00a0\u0440\u0430\u0431\u043e\u0442\u044b \u043d\u0430\u00a0\u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044f\u0445 1\u00a0\u0413\u0431\u0438\u0442\/\u0441 \u0438 \u0432\u044b\u0448\u0435. <\/p>\n<p>\u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u0430 Fanout \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0435\u0442:<\/p>\n<ul>\n<li>\n<p>\u042d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e\u0435 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u0432\u0445\u043e\u0434\u044f\u0449\u0435\u0433\u043e \u0442\u0440\u0430\u0444\u0438\u043a\u0430 \u043c\u0435\u0436\u0434\u0443 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u043c\u0438 \u043f\u043e\u0442\u043e\u043a\u0430\u043c\u0438 (\u0432\u043e\u0440\u043a\u0435\u0440\u0430\u043c\u0438) suricata.<\/p>\n<\/li>\n<li>\n<p>\u041f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u0443\u044e \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0443: \u0431\u0435\u0437\u00a0\u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u0430 Fanout \u0432\u0441\u044f \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u043f\u043e\u00a0\u0437\u0430\u0445\u0432\u0430\u0442\u0443 \u043f\u0430\u043a\u0435\u0442\u043e\u0432 \u043b\u043e\u0436\u0438\u043b\u0430\u0441\u044c\u00a0\u0431\u044b \u043d\u0430\u00a0\u043e\u0434\u043d\u043e \u044f\u0434\u0440\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430. \u041f\u0440\u0438 1\u00a0\u0413\u0431\u0438\u0442\/\u0441 \u044d\u0442\u043e \u043f\u0440\u0438\u0432\u0435\u043b\u043e\u00a0\u0431\u044b \u043a 100% \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0435 \u043e\u0434\u043d\u043e\u0433\u043e \u044f\u0434\u0440\u0430 \u0438 \u043f\u043e\u0442\u0435\u0440\u0435 \u043f\u0430\u043a\u0435\u0442\u043e\u0432, \u0432\u00a0\u0442\u043e \u0432\u0440\u0435\u043c\u044f \u043a\u0430\u043a\u00a0\u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u044f\u0434\u0440\u0430 \u043f\u0440\u043e\u0441\u0442\u0430\u0438\u0432\u0430\u043b\u0438\u00a0\u0431\u044b.<\/p>\n<\/li>\n<li>\n<p>\u0421\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0446\u0435\u043b\u043e\u0441\u0442\u043d\u043e\u0441\u0442\u0438 \u043f\u043e\u0442\u043e\u043a\u043e\u0432 (Flow Integrity): \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c Fanout \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u0443\u0435\u0442, \u0447\u0442\u043e\u00a0\u0432\u0441\u0435 \u043f\u0430\u043a\u0435\u0442\u044b \u043e\u0434\u043d\u043e\u0439 \u0441\u0435\u0441\u0441\u0438\u0438 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0433\u043e TCP\u2011\u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f) \u0432\u0441\u0435\u0433\u0434\u0430 \u043f\u043e\u043f\u0430\u0434\u0443\u0442 \u0432\u00a0\u043e\u0434\u0438\u043d \u0438 \u0442\u043e\u0442\u00a0\u0436\u0435 \u043f\u043e\u0442\u043e\u043a suricata. \u042d\u0442\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0434\u043b\u044f\u00a0\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u0441\u0438\u0433\u043d\u0430\u0442\u0443\u0440, \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u043e\u0432 \u0438 \u0434\u0435\u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438.<\/p>\n<\/li>\n<li>\n<p>\u0411\u0430\u043b\u0430\u043d\u0441\u0438\u0440\u043e\u0432\u043a\u0443 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438: \u044f\u0434\u0440\u043e \u0441\u0430\u043c\u043e \u0441\u043b\u0435\u0434\u0438\u0442 \u0437\u0430\u00a0\u0442\u0435\u043c, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u0442\u043e\u043a\u0438\u00a0\u0431\u044b\u043b\u0438 \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u044b \u0440\u0430\u0432\u043d\u043e\u043c\u0435\u0440\u043d\u043e, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u0445\u044d\u0448\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 (\u043e\u0431\u044b\u0447\u043d\u043e \u043f\u043e 5-tuple: IP, \u043f\u043e\u0440\u0442\u044b \u0438 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b). <\/p>\n<\/li>\n<\/ul>\n<p>\u041d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u0430\u044f \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430: \u043d\u0435\u0442. \u042d\u0442\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b \u044f\u0434\u0440\u0430 Linux (\u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u043d\u0430\u0447\u0438\u043d\u0430\u044f \u0441\u00a0\u0432\u0435\u0440\u0441\u0438\u0438 3.1). \u0414\u043b\u044f\u00a0\u0441\u0431\u043e\u0440\u043a\u0438 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0445 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u043e\u0432: <code>linux-libc-dev<\/code>. <\/p>\n<p>\u0423\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438, \u0435\u0441\u043b\u0438 \u0432\u044b \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442\u0435 suricata \u043d\u0430\u00a0Linux.<\/p>\n<p><strong>LIBCAP_NG<\/strong>\u00a0\u2014 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u0447\u0442\u043e\u00a0suricata \u0441\u043e\u0431\u0440\u0430\u043d\u0430 \u0441\u00a0\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u043e\u0439 POSIX Capabilities. \u042d\u0442\u043e \u043a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u0430\u0436\u043d\u0430\u044f \u043e\u043f\u0446\u0438\u044f \u0434\u043b\u044f\u00a0\u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 \u0432\u0430\u0448\u0435\u0433\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0430. \u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 POSIX \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0435\u0442 \u043f\u0440\u0438\u043d\u0446\u0438\u043f \u00ab\u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0445 \u043f\u0440\u0438\u0432\u0438\u043b\u0435\u0433\u0438\u0439\u00bb. \u0412\u00a0Linux \u043f\u0440\u043e\u0446\u0435\u0441\u0441 root \u0438\u043c\u0435\u0435\u0442 \u0430\u0431\u0441\u043e\u043b\u044e\u0442\u043d\u0443\u044e \u0432\u043b\u0430\u0441\u0442\u044c, \u0447\u0442\u043e\u00a0\u043e\u043f\u0430\u0441\u043d\u043e. \u0415\u0441\u043b\u0438 \u0445\u0430\u043a\u0435\u0440 \u0432\u0437\u043b\u043e\u043c\u0430\u0435\u0442 \u043f\u0430\u0440\u0441\u0435\u0440 suricata, \u043e\u043d \u043f\u043e\u043b\u0443\u0447\u0438\u0442 \u043f\u043e\u043b\u043d\u044b\u0439 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c \u043d\u0430\u0434 \u0441\u0438\u0441\u0442\u0435\u043c\u043e\u0439. <\/p>\n<p>\u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 POSIX \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 suricata:<\/p>\n<ul>\n<li>\n<p>\u0421\u0431\u0440\u043e\u0441\u0438\u0442\u044c \u043f\u0440\u0430\u0432\u0430 root: \u0441\u0440\u0430\u0437\u0443 \u043f\u043e\u0441\u043b\u0435 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0438 \u043e\u0442\u043a\u0440\u044b\u0442\u0438\u044f \u0441\u0435\u0442\u0435\u0432\u044b\u0445 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u0432 suricata \u043f\u0440\u0435\u0432\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f \u0432\u00a0\u043e\u0431\u044b\u0447\u043d\u043e\u0433\u043e \u0431\u0435\u0441\u043f\u0440\u0430\u0432\u043d\u043e\u0433\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, suricata).<\/p>\n<\/li>\n<li>\n<p>\u0421\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0443\u0436\u043d\u044b\u0435 \u00ab\u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u0438\u00bb: \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u0435\u0431\u0435\u00a0\u043b\u0438\u0448\u044c \u0443\u0437\u043a\u0438\u0435 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u044f, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u0434\u043b\u044f\u00a0\u0440\u0430\u0431\u043e\u0442\u044b: <\/p>\n<ul>\n<li>\n<p>CAP_NET_RAW\u00a0\u2014 \u043f\u0440\u0430\u0432\u043e \u0437\u0430\u0445\u0432\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u00ab\u0441\u044b\u0440\u044b\u0435\u00bb \u043f\u0430\u043a\u0435\u0442\u044b \u0441\u00a0\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430.<\/p>\n<\/li>\n<li>\n<p>CAP_NET_ADMIN\u00a0\u2014 \u043f\u0440\u0430\u0432\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0441\u0435\u0442\u0435\u0432\u044b\u043c\u0438 \u043e\u0447\u0435\u0440\u0435\u0434\u044f\u043c\u0438 (\u043d\u0443\u0436\u043d\u043e \u0434\u043b\u044f\u00a0\u0440\u0435\u0436\u0438\u043c\u0430 IPS\/NFQ).<\/p>\n<\/li>\n<li>\n<p>CAP_IPC_LOCK\u00a0\u2014 \u043f\u0440\u0430\u0432\u043e \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u0430\u043c\u044f\u0442\u044c (\u043d\u0443\u0436\u043d\u043e \u0434\u043b\u044f\u00a0\u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0432\u044b\u0441\u043e\u043a\u043e\u0441\u043a\u043e\u0440\u043e\u0441\u0442\u043d\u044b\u0445 \u0434\u0432\u0438\u0436\u043a\u043e\u0432 \u0437\u0430\u0445\u0432\u0430\u0442\u0430). <\/p>\n<\/li>\n<li>\n<p>CAP_SYS_NICE\u00a0\u2014 \u043f\u0440\u0430\u0432\u043e \u043f\u043e\u0432\u044b\u0448\u0430\u0442\u044c \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432 \u0438 \u043f\u0440\u0438\u0432\u044f\u0437\u044b\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u044b \u043a\u00a0\u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u043c \u044f\u0434\u0440\u0430\u043c \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430.<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>\u041d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u0430\u044f \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430: <code>libcap-ng-dev<\/code> <\/p>\n<p>\u0423\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442\u0441\u044f, \u0435\u0441\u043b\u0438 suricata \u0441\u043e\u0431\u0440\u0430\u043d\u0430 \u0441\u00a0\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u043e\u0439 <code>libcap-ng-dev<\/code>.<\/p>\n<p><strong>LIBNET <\/strong>\u2014 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u0447\u0442\u043e\u00a0suricata \u0441\u043e\u0431\u0440\u0430\u043d\u0430 \u0441\u00a0\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u043e\u0439 libnet. \u0421\u043c. \u00abLibnet support\u00bb \u0432\u00a0\u043f\u0443\u043d\u043a\u0442\u0435 \u00ab6.3.2.2\u00a0\u041f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u044b\u0435 \u043e\u043f\u0446\u0438\u0438\u00bb.<\/p>\n<p><strong>PCAP_SET_BUFF<\/strong>\u00a0\u2014 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u0447\u0442\u043e\u00a0suricata \u0441\u043e\u0431\u0440\u0430\u043d\u0430 \u0441\u00a0\u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 pcap_set_buffer_size. \u042d\u0442\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 suricata \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c \u043a\u043e\u043b\u044c\u0446\u0435\u0432\u043e\u0433\u043e \u0431\u0443\u0444\u0435\u0440\u0430 \u0437\u0430\u0445\u0432\u0430\u0442\u0430 \u043f\u0430\u043a\u0435\u0442\u043e\u0432 \u043d\u0430\u00a0\u0443\u0440\u043e\u0432\u043d\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 libpcap.<\/p>\n<p><strong>HAVE_HTP_URI_NORMALIZE_HOOK <\/strong>\u2014 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u0447\u0442\u043e\u00a0suricata \u0441\u043e\u0431\u0440\u0430\u043d\u0430 \u0441\u00a0\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u043e\u0439 LibHTP (\u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442\u0441\u044f \u0440\u0430\u0437\u0431\u043e\u0440\u043e\u043c HTTP\u2011\u0442\u0440\u0430\u0444\u0438\u043a\u0430) \u0438 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0432\u043c\u0435\u0448\u0430\u0442\u044c\u0441\u044f \u0432\u00a0\u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0440\u0430\u0437\u0431\u043e\u0440\u0430 URI (\u0430\u0434\u0440\u0435\u0441\u0430 \u0437\u0430\u043f\u0440\u043e\u0441\u0430) \u043d\u0430\u00a0\u0441\u0430\u043c\u043e\u043c \u0440\u0430\u043d\u043d\u0435\u043c \u044d\u0442\u0430\u043f\u0435. <\/p>\n<p>\u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 LibHTP \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0435\u0442:<\/p>\n<ul>\n<li>\n<p>\u0417\u0430\u0449\u0438\u0442\u0443 \u043e\u0442\u00a0\u043e\u0431\u0445\u043e\u0434\u0430 (Evasion): \u0437\u043b\u043e\u0443\u043c\u044b\u0448\u043b\u0435\u043d\u043d\u0438\u043a\u0438 \u0447\u0430\u0441\u0442\u043e \u043f\u044b\u0442\u0430\u044e\u0442\u0441\u044f \u0441\u043a\u0440\u044b\u0442\u044c \u0432\u0440\u0435\u0434\u043e\u043d\u043e\u0441\u043d\u044b\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u044b, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u0434\u0432\u043e\u0439\u043d\u043e\u0435 \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, <code>%252e<\/code> \u0432\u043c\u0435\u0441\u0442\u043e \u0442\u043e\u0447\u043a\u0438) \u0438\u043b\u0438\u00a0\u043b\u0438\u0448\u043d\u0438\u0435 \u0441\u043b\u0435\u0448\u0438 (<code>\/\/\/etc\/\/passwd<\/code>). \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 LibHTP \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0442 \u043f\u0440\u0438\u0432\u0435\u0441\u0442\u0438 \u043a\u00a0\u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u043c\u0443 \u0432\u0438\u0434\u0443 URI \u043f\u0435\u0440\u0435\u0434 \u0442\u0435\u043c, \u043a\u0430\u043a\u00a0suricata \u043d\u0430\u0447\u043d\u0435\u0442 \u0441\u0432\u0435\u0440\u044f\u0442\u044c \u0435\u0433\u043e \u0441\u00a0\u043f\u0440\u0430\u0432\u0438\u043b\u0430\u043c\u0438.<\/p>\n<\/li>\n<li>\n<p>\u041f\u043e\u0432\u044b\u0448\u0435\u043d\u0438\u0435 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438 \u043f\u0440\u0430\u0432\u0438\u043b: \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0435 \u0441\u043b\u043e\u0432\u043e <code>http.uri<\/code> \u0432\u00a0\u0432\u0430\u0448\u0438\u0445 \u043f\u0440\u0430\u0432\u0438\u043b\u0430\u0445 \u0432\u0441\u0435\u0433\u0434\u0430 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0441 \u00ab\u0447\u0438\u0441\u0442\u043e\u0439\u00bb \u0441\u0442\u0440\u043e\u043a\u043e\u0439, \u0447\u0442\u043e\u00a0\u0438\u0441\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u043b\u043e\u0436\u043d\u044b\u0435 \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u0438 \u0430\u0442\u0430\u043a.<\/p>\n<\/li>\n<li>\n<p>\u0421\u043f\u0435\u0446\u0438\u0444\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u043e\u0447\u0438\u0441\u0442\u043a\u0443: \u0430\u043a\u0442\u0438\u0432\u0438\u0440\u0443\u0435\u0442 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u044b \u0434\u0435\u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f UTF-8\u00a0\u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0441\u043f\u0435\u0446\u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432, \u0445\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u043d\u044b\u0445 \u0434\u043b\u044f\u00a0\u0440\u0430\u0437\u043d\u044b\u0445 \u0432\u0435\u0431\u2011\u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 (IIS, Apache).<\/p>\n<\/li>\n<\/ul>\n<p>\u041d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u0430\u044f \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430: \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f suricata \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441\u043e \u0441\u0432\u043e\u0435\u0439 \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0435\u0439 LibHTP \u0438\u043b\u0438\u00a0\u0442\u0440\u0435\u0431\u0443\u0435\u0442 <code>libhtp-dev<\/code>. <\/p>\n<p>\u0423\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438.<\/p>\n<p><strong>PCRE_JIT<\/strong>\u00a0\u2014 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u0447\u0442\u043e\u00a0suricata \u0441\u043e\u0431\u0440\u0430\u043d\u0430 \u0441\u00a0\u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u0430 Just\u2011In\u2011Time \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438 \u0434\u043b\u044f\u00a0\u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u044b\u0445 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0439. \u0421\u043c. \u00abPCRE jit\u00bb \u0432\u00a0\u043f\u0443\u043d\u043a\u0442\u0435 \u00ab6.3.2.2\u00a0\u041f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u044b\u0435 \u043e\u043f\u0446\u0438\u0438\u00bb.<\/p>\n<p><strong>HAVE_NSS<\/strong>\u00a0\u2014 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u0447\u0442\u043e\u00a0suricata \u0441\u043e\u0431\u0440\u0430\u043d\u0430 \u0441\u00a0\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u043e\u0439 NSS (Network Security Services). \u00abHAVE_NSS\u00bb \u0434\u043e\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u00abTLS\u00bb. <\/p>\n<p>\u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 NSS \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0432\u00a0suricata \u0434\u043b\u044f\u00a0\u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043a\u0440\u0438\u043f\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0435\u00a0\u0432\u0441\u0435\u0433\u0434\u0430 \u0443\u0434\u043e\u0431\u043d\u043e (\u0438\u043b\u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e) \u0434\u0435\u043b\u0430\u0442\u044c \u0447\u0435\u0440\u0435\u0437 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439 OpenSSL\/GnuTLS:<\/p>\n<ul>\n<li>\n<p>\u0414\u0435\u043a\u043e\u043c\u043f\u0440\u0435\u0441\u0441\u0438\u044f \u0438 \u0440\u0430\u0431\u043e\u0442\u0430 \u0441\u00a0\u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430\u043c\u0438: \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 NSS \u043f\u043e\u043c\u043e\u0433\u0430\u0435\u0442 suricata \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u0442\u044c \u0446\u0435\u043f\u043e\u0447\u043a\u0438 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0432 \u0432\u00a0TLS\u2011\u0442\u0440\u0430\u0444\u0438\u043a\u0435. <\/p>\n<\/li>\n<li>\n<p>\u0425\u0435\u0448\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0438 \u0444\u0438\u043d\u0433\u0435\u0440\u043f\u0440\u0438\u043d\u0442\u0438\u043d\u0433: \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0432\u0440\u043e\u0434\u0435 JA3\/JA4\u00a0\u0447\u0430\u0441\u0442\u043e \u043f\u043e\u043b\u0430\u0433\u0430\u044e\u0442\u0441\u044f \u043d\u0430\u00a0\u043a\u0440\u0438\u043f\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043f\u0440\u0438\u043c\u0438\u0442\u0438\u0432\u044b, \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c\u044b\u0435 \u0438\u043c\u0435\u043d\u043d\u043e \u0447\u0435\u0440\u0435\u0437 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u044b, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0435 \u0441\u00a0NSS. <\/p>\n<\/li>\n<li>\n<p>\u041e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u043e\u0432: \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 NSS \u0443\u0447\u0430\u0441\u0442\u0432\u0443\u0435\u0442 \u0432\u00a0\u043b\u043e\u0433\u0438\u043a\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0442\u043e\u0433\u043e, \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f\u00a0\u043b\u0438 \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u043f\u043e\u0442\u043e\u043a \u0434\u0430\u043d\u043d\u044b\u0445 \u0432\u0430\u043b\u0438\u0434\u043d\u044b\u043c TLS\u2011\u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435\u043c. <\/p>\n<\/li>\n<li>\n<p>\u0414\u0435\u0448\u0438\u0444\u0440\u043e\u0432\u043a\u0430 (\u0441 \u043a\u043b\u044e\u0447\u0430\u043c\u0438): \u0435\u0441\u043b\u0438 \u0443\u00a0\u0432\u0430\u0441 \u0435\u0441\u0442\u044c \u0437\u0430\u043a\u0440\u044b\u0442\u044b\u0439 \u043a\u043b\u044e\u0447 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0438\u043b\u0438\u00a0\u0444\u0430\u0439\u043b \u0441\u00a0\u0441\u0435\u0441\u0441\u0438\u043e\u043d\u043d\u044b\u043c\u0438 \u043a\u043b\u044e\u0447\u0430\u043c\u0438 (SSLKEYLOGFILE), \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 NSS \u043f\u043e\u043c\u043e\u0433\u0430\u0435\u0442 suricata \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u0442\u044c \u0442\u0440\u0430\u0444\u0438\u043a \u0434\u043b\u044f\u00a0\u0430\u043d\u0430\u043b\u0438\u0437\u0430.<\/p>\n<\/li>\n<\/ul>\n<p>\u041d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438: <code>libnss3-dev, libnspr4-dev<\/code>. <\/p>\n<p>\u0423\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442\u0441\u044f, \u0435\u0441\u043b\u0438 suricata \u0441\u043e\u0431\u0440\u0430\u043d\u0430 \u0441\u00a0\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430\u043c\u0438 <code>libnss3-dev, libnspr4-dev<\/code>.<\/p>\n<p><strong>HTTP2_DECOMPRESSION<\/strong>\u00a0\u2014 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u0447\u0442\u043e\u00a0suricata \u0441\u043e\u0431\u0440\u0430\u043d\u0430 \u0441\u00a0\u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0440\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432\u00a0\u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0435 HTTP2. \u042d\u0442\u043e \u043a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u0430\u0436\u043d\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0434\u043b\u044f\u00a0\u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0441\u0435\u0442\u0435\u0439, \u0442\u0430\u043a \u043a\u0430\u043a\u00a0\u043f\u043e\u0447\u0442\u0438 \u0432\u0435\u0441\u044c \u0432\u0435\u0431\u2011\u0442\u0440\u0430\u0444\u0438\u043a (Google, YouTube, \u0441\u043e\u0446\u0441\u0435\u0442\u0438, \u043e\u0431\u043b\u0430\u0447\u043d\u044b\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u044b) \u0441\u0435\u0433\u043e\u0434\u043d\u044f \u0438\u0434\u0435\u0442 \u0447\u0435\u0440\u0435\u0437 HTTP2. <\/p>\n<p>\u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0440\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0435\u0442: <\/p>\n<ul>\n<li>\n<p>\u0420\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u043a\u0443 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u043e\u0432 (HPACK): \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 suricata \u00ab\u0447\u0438\u0442\u0430\u0442\u044c\u00bb \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0438 (User\u2011Agent, Host, Cookies) \u0434\u043b\u044f\u00a0\u0430\u043d\u0430\u043b\u0438\u0437\u0430. (\u0412 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442\u00a0HTTP\/1.1, \u0433\u0434\u0435 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u044e\u0442\u0441\u044f \u0432\u00a0\u043e\u0442\u043a\u0440\u044b\u0442\u043e\u043c \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u043e\u043c \u0432\u0438\u0434\u0435, \u0432\u00a0HTTP2\u00a0\u043e\u043d\u0438 \u0441\u0436\u0438\u043c\u0430\u044e\u0442\u0441\u044f \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u043e\u043c HPACK.) <\/p>\n<\/li>\n<li>\n<p>\u0414\u0435\u043a\u043e\u043c\u043f\u0440\u0435\u0441\u0441\u0438\u044e \u0442\u0435\u043b\u0430 \u043e\u0442\u0432\u0435\u0442\u0430 (Gzip\/Brotli): \u0435\u0441\u043b\u0438 \u0441\u0435\u0440\u0432\u0435\u0440 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u0436\u0430\u0442\u044b\u0439 \u043a\u043e\u043d\u0442\u0435\u043d\u0442 \u0432\u043d\u0443\u0442\u0440\u0438 \u043f\u043e\u0442\u043e\u043a\u0430 HTTP2, suricata \u0441\u043c\u043e\u0436\u0435\u0442 \u0440\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u0430\u0442\u044c \u0435\u0433\u043e \u0432\u00a0\u043f\u0430\u043c\u044f\u0442\u0438 \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u043d\u0430\u00a0\u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u0437\u043b\u043e\u0432\u0440\u0435\u0434\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u0438\u043b\u0438\u00a0\u0441\u0438\u0433\u043d\u0430\u0442\u0443\u0440. <\/p>\n<\/li>\n<li>\n<p>\u0418\u043d\u0441\u043f\u0435\u043a\u0446\u0438\u044e \u0431\u0438\u043d\u0430\u0440\u043d\u044b\u0445 \u0444\u0440\u0435\u0439\u043c\u043e\u0432: HTTP2\u00a0\u2014 \u044d\u0442\u043e \u0431\u0438\u043d\u0430\u0440\u043d\u044b\u0439 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b. \u041e\u043f\u0446\u0438\u044f \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u0443\u0435\u0442, \u0447\u0442\u043e\u00a0suricata \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u0437\u00a0\u0441\u0436\u0430\u0442\u044b\u0445 \u0431\u0438\u043d\u0430\u0440\u043d\u044b\u0445 \u0444\u0440\u0435\u0439\u043c\u043e\u0432 \u0434\u043b\u044f\u00a0\u0441\u043e\u043f\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0441\u00a0\u043f\u0440\u0430\u0432\u0438\u043b\u0430\u043c\u0438.<\/p>\n<\/li>\n<\/ul>\n<p>\u041d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438: <code>zlib1g-dev<\/code> (\u0434\u043b\u044f Gzip\/Deflate), <code>liblz4-dev<\/code> (\u0435\u0441\u043b\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f LZ4). <\/p>\n<p>\u0422\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u043b\u044f\u00a0\u0441\u0431\u043e\u0440\u043a\u0438: <code>rustc<\/code> \u0438 <code>cargo<\/code>. <\/p>\n<p>\u0423\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442\u0441\u044f, \u0435\u0441\u043b\u0438 \u043f\u0440\u0438\u00a0\u0441\u0431\u043e\u0440\u043a\u0435 \u0432\u00a0\u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u043d\u0430\u0439\u0434\u0435\u043d Rust \u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u044b \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438.<\/p>\n<p><strong>HAVE_LUA <\/strong>(LUA support)\u00a0\u2014 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u0447\u0442\u043e\u00a0suricata \u0441\u043e\u0431\u0440\u0430\u043d\u0430 \u0441\u00a0\u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 \u044f\u0437\u044b\u043a\u0430 Lua. <\/p>\n<p>\u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u044f\u0437\u044b\u043a\u0430 Lua \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442: <\/p>\n<ul>\n<li>\n<p>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c Lua\u2011\u0441\u043a\u0440\u0438\u043f\u0442\u044b \u0432\u00a0\u043f\u0440\u0430\u0432\u0438\u043b\u0430\u0445: \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043f\u0438\u0441\u0430\u0442\u044c \u0441\u043b\u043e\u0436\u043d\u044b\u0435 \u0443\u0441\u043b\u043e\u0432\u0438\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u0442\u0440\u0430\u0444\u0438\u043a\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u043e\u0431\u044b\u0447\u043d\u044b\u043c\u0438 \u0441\u0438\u0433\u043d\u0430\u0442\u0443\u0440\u0430\u043c\u0438. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043c\u043e\u0436\u043d\u043e \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u044c \u044d\u043d\u0442\u0440\u043e\u043f\u0438\u044e \u0434\u0430\u043d\u043d\u044b\u0445 (\u0434\u043b\u044f \u043f\u043e\u0438\u0441\u043a\u0430 \u0437\u0430\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u043a\u0430\u043d\u0430\u043b\u043e\u0432 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0431\u043e\u0442\u043d\u0435\u0442\u0430\u043c\u0438) \u0438\u043b\u0438\u00a0\u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u043b\u043e\u0433\u0438\u043a\u0443 \u0432\u00a0\u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0430\u0445, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043d\u0435\u00a0\u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439 \u0434\u0432\u0438\u0436\u043e\u043a. <\/p>\n<\/li>\n<li>\n<p>\u0412\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0435 \u0432\u0430\u043c \u043b\u043e\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435: \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 \u0444\u043e\u0440\u043c\u0430\u0442\u044b \u043b\u043e\u0433\u043e\u0432. \u0415\u0441\u043b\u0438 \u0432\u0430\u043c \u043d\u0435\u00a0\u043f\u043e\u0434\u0445\u043e\u0434\u0438\u0442 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439 JSON, \u0432\u044b \u043f\u0438\u0448\u0435\u0442\u0435 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 Lua\u2011\u0441\u043a\u0440\u0438\u043f\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u0443\u0434\u0435\u0442 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u043e\u00a0\u0441\u043e\u0431\u044b\u0442\u0438\u044f\u0445 \u0432\u00a0\u043b\u044e\u0431\u043e\u043c \u043d\u0443\u0436\u043d\u043e\u043c \u0432\u0430\u043c \u0432\u0438\u0434\u0435 \u0438\u043b\u0438\u00a0\u0441\u0440\u0430\u0437\u0443 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0438\u0445 \u0432\u00a0\u0441\u0442\u043e\u0440\u043e\u043d\u043d\u044e\u044e \u0431\u0430\u0437\u0443 \u0434\u0430\u043d\u043d\u044b\u0445. <\/p>\n<\/li>\n<li>\n<p>\u0412\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0443 \u0441\u00a0\u0443\u0441\u043b\u043e\u0432\u0438\u044f\u043c\u0438: \u0441\u043a\u0440\u0438\u043f\u0442 \u043c\u043e\u0436\u0435\u0442 \u0430\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u043f\u0430\u043a\u0435\u0442\u0430 \u0438 \u0440\u0435\u0448\u0430\u0442\u044c, \u043d\u0443\u0436\u043d\u043e\u00a0\u043b\u0438 \u043b\u043e\u0433\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u044d\u0442\u043e \u0441\u043e\u0431\u044b\u0442\u0438\u0435 \u0438\u043b\u0438\u00a0\u0441\u0442\u043e\u0438\u0442\u00a0\u043b\u0438 \u0438\u0437\u0432\u043b\u0435\u043a\u0430\u0442\u044c \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0435\u043c\u044b\u0439 \u0444\u0430\u0439\u043b.<\/p>\n<\/li>\n<\/ul>\n<p>\u041d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u0430\u044f \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430: <code>libluajit-5.1-dev<\/code>. <\/p>\n<p>\u0423\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442\u0441\u044f, \u0435\u0441\u043b\u0438 suricata \u0441\u043e\u0431\u0440\u0430\u043d\u0430 \u0441\u00a0\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u043e\u0439 <code>libluajit-5.1-dev<\/code>.<\/p>\n<p><strong>HAVE_JA3<\/strong>, <strong>HAVE_JA4<\/strong>\u00a0\u2014 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u0447\u0442\u043e\u00a0suricata \u0441\u043e\u0431\u0440\u0430\u043d\u0430 \u0441\u00a0\u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u043e\u0432 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u00ab\u043e\u0442\u043f\u0435\u0447\u0430\u0442\u043a\u043e\u0432 \u043f\u0430\u043b\u044c\u0446\u0435\u0432\u00bb JA3\u00a0\u0438 JA4\u00a0\u0434\u043b\u044f\u00a0TLS\u2011\u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432. \u0421\u043c. \u00abJA3\u00a0support, JA4\u00a0support\u00bb \u0432\u00a0\u043f\u0443\u043d\u043a\u0442\u0435 \u00ab6.3.2.2\u00a0\u041f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u044b\u0435 \u043e\u043f\u0446\u0438\u0438\u00bb.<\/p>\n<p><strong>HAVE_LIBJANSSON<\/strong>\u00a0\u2014 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u0447\u0442\u043e\u00a0suricata \u0441\u043e\u0431\u0440\u0430\u043d\u0430 \u0441\u00a0\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u043e\u0439 Jansson. \u0421\u043c. \u00abLibjansson support\u00bb \u0432\u00a0\u043f\u0443\u043d\u043a\u0442\u0435 \u00ab6.3.2.2\u00a0\u041f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u044b\u0435 \u043e\u043f\u0446\u0438\u0438\u00bb.<\/p>\n<p><strong>TLS<\/strong>\u00a0\u2014 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u0447\u0442\u043e\u00a0suricata \u0441\u043e\u0431\u0440\u0430\u043d\u0430 \u0441\u00a0\u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 \u043f\u0430\u0440\u0441\u0435\u0440\u043e\u0432 \u0434\u043b\u044f\u00a0\u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u0437\u0430\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u0442\u0440\u0430\u0444\u0438\u043a\u0430. \u0411\u0435\u0437\u00a0\u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 TLS suricata \u0431\u0443\u0434\u0435\u0442 \u0432\u0438\u0434\u0435\u0442\u044c \u0437\u0430\u0449\u0438\u0449\u0435\u043d\u043d\u044b\u0439 \u0442\u0440\u0430\u0444\u0438\u043a \u043a\u0430\u043a\u00a0\u043e\u0431\u044b\u0447\u043d\u044b\u0439 TCP\u2011\u043f\u043e\u0442\u043e\u043a \u0434\u0430\u043d\u043d\u044b\u0445. \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u00abTLS\u00bb \u0434\u043e\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u00abHAVE_NSS\u00bb. <\/p>\n<p>\u0410\u043d\u0430\u043b\u0438\u0437\u0430 \u0437\u0430\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u0442\u0440\u0430\u0444\u0438\u043a\u0430 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0435\u0442:<\/p>\n<ul>\n<li>\n<p>\u0418\u0437\u0432\u043b\u0435\u0447\u0435\u043d\u0438\u0435 SNI (Server Name Indication): suricata &#171;\u0432\u0438\u0434\u0438\u0442&#187;, \u043d\u0430 \u043a\u0430\u043a\u043e\u0439 \u0434\u043e\u043c\u0435\u043d \u0437\u0430\u0445\u043e\u0434\u0438\u0442 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, google.com), \u0434\u0430\u0436\u0435 \u0435\u0441\u043b\u0438 \u0441\u0430\u043c\u043e \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0441\u0430\u0439\u0442\u0430 \u0437\u0430\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u043e.<\/p>\n<\/li>\n<li>\n<p>\u0410\u043d\u0430\u043b\u0438\u0437 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0432: \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u0442 \u0434\u0430\u043d\u043d\u044b\u0435 \u043e \u0432\u043b\u0430\u0434\u0435\u043b\u044c\u0446\u0435 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430, \u0438\u0437\u0434\u0430\u0442\u0435\u043b\u0435 (CA), \u0441\u0440\u043e\u043a\u0430\u0445 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0438 \u0441\u0435\u0440\u0438\u0439\u043d\u044b\u0445 \u043d\u043e\u043c\u0435\u0440\u0430\u0445. \u042d\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u043e\u0434\u0434\u0435\u043b\u044c\u043d\u044b\u0435 \u0438\u043b\u0438 \u0441\u0430\u043c\u043e\u043f\u043e\u0434\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0435 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u044b.<\/p>\n<\/li>\n<li>\n<p>\u0418\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044e \u0432\u0435\u0440\u0441\u0438\u0439 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430: suricata \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043b\u0438 \u0443\u0441\u0442\u0430\u0440\u0435\u0432\u0448\u0438\u0439 \u0438 \u043d\u0435\u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u044b\u0439 TLS 1.0\/1.1 \u0438\u043b\u0438 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0439 TLS 1.3.<\/p>\n<\/li>\n<li>\n<p>Fingerprinting (JA3\/JA4): \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0432\u044b\u0447\u0438\u0441\u043b\u044f\u0442\u044c \u00ab\u043e\u0442\u043f\u0435\u0447\u0430\u0442\u043a\u0438 \u043f\u0430\u043b\u044c\u0446\u0435\u0432\u00bb \u043a\u043b\u0438\u0435\u043d\u0442\u0441\u043a\u0438\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439.<\/p>\n<\/li>\n<li>\n<p>\u041b\u043e\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u0445: \u0412\u0441\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u043e TLS-\u0441\u0435\u0441\u0441\u0438\u044f\u0445 \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u0432 eve.json \u0432 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u043c \u0432\u0438\u0434\u0435.<\/p>\n<\/li>\n<li>\n<p>\u0410 \u0442\u0430\u043a\u0436\u0435: <\/p>\n<ul>\n<li>\n<p>\u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0437\u0430\u043f\u0440\u0435\u0442\u0438\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0441\u043e\u0446\u0441\u0435\u0442\u044f\u043c \u0438\u043b\u0438 \u043c\u0435\u0441\u0441\u0435\u043d\u0434\u0436\u0435\u0440\u0430\u043c \u043f\u043e \u0438\u043c\u0435\u043d\u0430\u043c \u0434\u043e\u043c\u0435\u043d\u043e\u0432.<\/p>\n<\/li>\n<li>\n<p>\u041e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u0442\u044c \u0432\u0440\u0435\u0434\u043e\u043d\u043e\u0441\u043d\u043e\u0435 \u041f\u041e, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u0435\u0442 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0441 \u0437\u0430\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f (C2).<\/p>\n<\/li>\n<li>\n<p>\u041f\u0440\u0438\u043c\u0435\u043d\u044f\u0442\u044c \u043f\u0440\u0430\u0432\u0438\u043b\u0430 \u0442\u0438\u043f\u0430 tls.sni, tls.subject \u0438\u043b\u0438 tls.fingerprint.<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>\u041d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u0430\u044f \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430: <code>libssl-dev<\/code>.<\/p>\n<p>\u0422\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u043b\u044f \u0441\u0431\u043e\u0440\u043a\u0438: <code>rustc<\/code> \u0438 <code>cargo<\/code>. <\/p>\n<p>\u0423\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442\u0441\u044f, \u0435\u0441\u043b\u0438 \u043f\u0440\u0438 \u0441\u0431\u043e\u0440\u043a\u0435 \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u043d\u0430\u0439\u0434\u0435\u043d Rust \u0438 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 <code>libssl-dev<\/code>.<\/p>\n<p><strong>TLS_C11<\/strong>\u00a0\u2014 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u0447\u0442\u043e\u00a0suricata \u0441\u043e\u0431\u0440\u0430\u043d\u0430 \u0441\u00a0\u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0430 \u044f\u0437\u044b\u043a\u0430 C11\u00a0(ISO\/IEC 9899:2011) \u0434\u043b\u044f\u00a0\u0440\u0430\u0431\u043e\u0442\u044b \u0441\u00a0\u043f\u043e\u0442\u043e\u043a\u043e\u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u044b\u043c\u0438 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u043c\u0438 (Thread\u2011Local Storage). \u041d\u0435\u00a0\u043f\u0443\u0442\u0430\u0439\u0442\u0435 \u044d\u0442\u043e \u0441\u00a0\u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u043e\u043c \u0437\u0430\u0449\u0438\u0442\u044b \u0442\u0440\u0430\u0444\u0438\u043a\u0430 TLS (Transport Layer Security). \u0417\u0434\u0435\u0441\u044c \u0440\u0435\u0447\u044c \u0438\u0434\u0435\u0442 \u043e\u00a0\u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0435\u043c \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0438 \u043f\u0430\u043c\u044f\u0442\u044c\u044e \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430. <\/p>\n<p>\u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0430 \u044f\u0437\u044b\u043a\u0430 C11\u00a0\u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0435\u0442:<\/p>\n<ul>\n<li>\n<p>\u041f\u043e\u0442\u043e\u043a\u043e\u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c (Thread\u2011Local Storage): \u043e\u043d\u0430 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043a\u0430\u0436\u0434\u043e\u043c\u0443 \u043f\u043e\u0442\u043e\u043a\u0443 (worker) suricata \u0438\u043c\u0435\u0442\u044c \u0441\u0432\u043e\u0438 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 \u043a\u043e\u043f\u0438\u0438 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445. \u042d\u0442\u043e \u043a\u0440\u0438\u0442\u0438\u0447\u043d\u043e \u0434\u043b\u044f\u00a0\u043c\u043d\u043e\u0433\u043e\u043f\u043e\u0442\u043e\u0447\u043d\u043e\u0439 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0442\u0440\u0430\u0444\u0438\u043a\u0430 \u043d\u0430\u00a0\u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044f\u0445 1\u00a0\u0413\u0431\u0438\u0442\/\u0441 \u0438 \u0432\u044b\u0448\u0435, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u0442\u043e\u043a\u0438 \u043d\u0435\u00a0\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u043b\u0438 \u0434\u0440\u0443\u0433 \u0434\u0440\u0443\u0433\u0430 \u043f\u0440\u0438\u00a0\u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u0438 \u043a\u00a0\u043e\u0431\u0449\u0438\u043c \u0434\u0430\u043d\u043d\u044b\u043c.<\/p>\n<\/li>\n<li>\n<p>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0433\u043e \u0441\u043b\u043e\u0432\u0430 Threadlocal: \u044d\u0442\u043e \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c C11. \u041a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 (glibc) \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0442 \u043d\u0430\u0442\u0438\u0432\u043d\u044b\u0439 \u0438\u00a0\u0431\u044b\u0441\u0442\u0440\u044b\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u0440\u0430\u0431\u043e\u0442\u044b \u0441\u00a0\u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u044c\u044e \u043f\u043e\u0442\u043e\u043a\u0430.<\/p>\n<\/li>\n<li>\n<p>\u041e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u044e \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438: \u043d\u0430\u0442\u0438\u0432\u043d\u0430\u044f \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 C11\u00a0TLS \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442\u00a0\u0431\u044b\u0441\u0442\u0440\u0435\u0435, \u0447\u0435\u043c \u0441\u0442\u0430\u0440\u044b\u0435 \u043e\u0431\u0435\u0440\u0442\u043a\u0438 (\u0432\u0440\u043e\u0434\u0435 pthread_getspecific), \u0447\u0442\u043e\u00a0\u0441\u043d\u0438\u0436\u0430\u0435\u0442 \u043d\u0430\u043a\u043b\u0430\u0434\u043d\u044b\u0435 \u0440\u0430\u0441\u0445\u043e\u0434\u044b \u043d\u0430\u00a0\u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430.<\/p>\n<\/li>\n<\/ul>\n<p>\u041d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u0430\u044f \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430: \u043d\u0435\u0442. \u042d\u0442\u043e \u0447\u0430\u0441\u0442\u044c \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u044f\u0437\u044b\u043a\u0430 C (GNU C Library &#8212; <code>glibc<\/code>) \u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0435\u0439 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430 GCC. \u0412 Debian 13 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f <code>libc6<\/code> \u0438 <code>gcc<\/code>, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0442 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442 C11. <\/p>\n<p>\u0423\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438.<\/p>\n<p><strong>MAGIC<\/strong>\u00a0\u2014 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u0447\u0442\u043e\u00a0suricata \u0441\u043e\u0431\u0440\u0430\u043d\u0430 \u0441\u00a0\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u043e\u0439 libmagic. \u0421\u043c. \u00abLibmagic support\u00bb \u0432\u00a0\u043f\u0443\u043d\u043a\u0442\u0435 \u00ab6.3.2.2\u00a0\u041f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u044b\u0435 \u043e\u043f\u0446\u0438\u0438\u00bb.<\/p>\n<p><strong>RUST <\/strong>\u2014 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u0447\u0442\u043e\u00a0suricata \u0441\u043e\u0431\u0440\u0430\u043d\u0430 \u0441\u00a0\u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 \u044f\u0437\u044b\u043a\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f Rust. \u041d\u0430\u0447\u0438\u043d\u0430\u044f \u0441 7-\u0439 \u0432\u0435\u0440\u0441\u0438\u0438, suricata \u043f\u0435\u0440\u0435\u0432\u0435\u043b\u0430 \u043f\u043e\u0447\u0442\u0438 \u0432\u0441\u044e \u043b\u043e\u0433\u0438\u043a\u0443 \u0440\u0430\u0437\u0431\u043e\u0440\u0430 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u043e\u0432 (Application Layer) \u0441\u00a0\u044f\u0437\u044b\u043a\u0430 C \u043d\u0430\u00a0Rust. \u042d\u0442\u043e\u00a0\u0431\u044b\u043b\u043e \u0441\u0434\u0435\u043b\u0430\u043d\u043e \u0434\u043b\u044f\u00a0\u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 \u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438. <\/p>\n<p>\u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u044f\u0437\u044b\u043a\u0430 Rust \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0435\u0442:<\/p>\n<ul>\n<li>\n<p>\u0411\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u044b\u0439 \u043f\u0430\u0440\u0441\u0438\u043d\u0433: Rust \u0437\u0430\u0449\u0438\u0449\u0430\u0435\u0442 \u043e\u0442\u00a0\u043e\u0448\u0438\u0431\u043e\u043a \u0440\u0430\u0431\u043e\u0442\u044b \u0441\u00a0\u043f\u0430\u043c\u044f\u0442\u044c\u044e (\u043f\u0435\u0440\u0435\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0431\u0443\u0444\u0435\u0440\u0430), \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0438\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u0438\u00a0\u0431\u044b\u043b\u0438 \u0433\u043b\u0430\u0432\u043d\u044b\u043c \u0432\u0435\u043a\u0442\u043e\u0440\u043e\u043c \u0430\u0442\u0430\u043a \u043d\u0430\u00a0\u0441\u0430\u043c\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u044b IDS\/IPS.<\/p>\n<\/li>\n<li>\n<p>\u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u043e\u0432: \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u00a0\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u044f\u0437\u044b\u043a\u0430 Rust \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u043f\u0430\u0440\u0441\u0435\u0440\u044b: (HTTP2, TLS, QUIC, DNS, Bittorrent, SNMP, RDP \u0438 \u043c\u043d\u043e\u0433\u0438\u0435 \u0434\u0440\u0443\u0433\u0438\u0435).<\/p>\n<\/li>\n<li>\n<p>\u041a\u0440\u0438\u0442\u0438\u0447\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438: \u0431\u0435\u0437\u00a0Rust \u043d\u0435\u00a0\u0431\u0443\u0434\u0443\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c JA3\/JA4\u00a0\u0438 HTTP2_DECOMPRESSION.<\/p>\n<\/li>\n<\/ul>\n<p>\u0422\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u043b\u044f\u00a0\u0441\u0431\u043e\u0440\u043a\u0438: <code>rustc<\/code> \u0438 <code>cargo<\/code>. <\/p>\n<p>\u0423\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438.<\/p>\n<p><strong>POPCNT64<\/strong>\u00a0\u2014 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u0447\u0442\u043e\u00a0suricata \u0441\u043e\u0431\u0440\u0430\u043d\u0430 \u0441\u00a0\u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u043d\u043e\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 POPCNT \u0434\u043b\u044f 64-\u0431\u0438\u0442\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c. \u042d\u0442\u0430 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f\u00a0\u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u043e\u0433\u043e \u0443\u0441\u043a\u043e\u0440\u0435\u043d\u0438\u044f \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439 \u0432\u00a0\u0434\u0432\u0438\u0436\u043a\u0435 suricata. <\/p>\n<p>\u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 POPCNT \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0435\u0442:<\/p>\n<ul>\n<li>\n<p>\u041f\u043e\u0434\u0441\u0447\u0435\u0442 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u044b\u0445 \u0431\u0438\u0442\u043e\u0432: \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f POPCNT (Population Count) \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u043e\u0434\u043d\u0443 \u0437\u0430\u0434\u0430\u0447\u0443\u00a0\u2014 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u00a0\u0431\u044b\u0441\u0442\u0440\u043e \u043f\u043e\u0434\u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u0442 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0435\u0434\u0438\u043d\u0438\u0446 \u0432\u00a0\u0434\u0432\u043e\u0438\u0447\u043d\u043e\u043c \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0438 \u0447\u0438\u0441\u043b\u0430.<\/p>\n<\/li>\n<li>\n<p>\u0423\u0441\u043a\u043e\u0440\u0435\u043d\u0438\u0435 \u0440\u0430\u0431\u043e\u0442\u044b \u0441\u00a0Bloom\u2011\u0444\u0438\u043b\u044c\u0442\u0440\u0430\u043c\u0438: \u0432\u00a0suricata \u044d\u0442\u0430 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f \u043a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u0430\u0436\u043d\u0430 \u0434\u043b\u044f\u00a0\u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b Bloom\u2011\u0444\u0438\u043b\u044c\u0442\u0440\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0434\u043b\u044f\u00a0\u0441\u0432\u0435\u0440\u0445\u0431\u044b\u0441\u0442\u0440\u043e\u0439 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u043d\u0430\u043b\u0438\u0447\u0438\u044f \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432 \u0432\u00a0\u043d\u0430\u0431\u043e\u0440\u0430\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043f\u0440\u0438\u00a0\u0441\u043e\u043f\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0438 \u043f\u0430\u0442\u0442\u0435\u0440\u043d\u043e\u0432 \u0438\u043b\u0438\u00a0\u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0435 IP\u2011\u0440\u0435\u043f\u0443\u0442\u0430\u0446\u0438\u0439).<\/p>\n<\/li>\n<li>\n<p>\u0421\u043d\u0438\u0436\u0435\u043d\u0438\u0435 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u043d\u0430\u00a0CPU: \u0431\u0435\u0437\u00a0\u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 POPCNT \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0443 \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c\u00a0\u0431\u044b \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u0446\u0435\u043b\u0443\u044e \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439 \u0434\u043b\u044f\u00a0\u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0442\u043e\u0433\u043e\u00a0\u0436\u0435 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430. \u0410\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u0430\u044f \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u044d\u0442\u043e \u0437\u0430\u00a0\u043e\u0434\u0438\u043d \u0442\u0430\u043a\u0442 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430.<\/p>\n<\/li>\n<\/ul>\n<p>\u0412\u00a0\u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u0435 \u0441\u043b\u0443\u0447\u0430\u0435\u0432 \u044d\u0442\u0430 \u043e\u043f\u0446\u0438\u044f \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043d\u0430\u00a0\u044d\u0442\u0430\u043f\u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, \u0435\u0441\u043b\u0438 \u0432\u0430\u0448 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 (GCC\/Clang) \u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0442 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f \u043d\u0430\u0431\u043e\u0440\u0430 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439 (SSE4.2\u00a0\u0438 \u0432\u044b\u0448\u0435). \u0412\u00a0Debian 13\u00a0\u043f\u0440\u0438\u00a0\u0441\u0431\u043e\u0440\u043a\u0435 \u043d\u0430\u00a0\u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u043c\u00a0\u0436\u0435\u043b\u0435\u0437\u0435 \u044d\u0442\u043e\u0442 \u0444\u043b\u0430\u0433 \u043f\u043e\u0447\u0442\u0438 \u0432\u0441\u0435\u0433\u0434\u0430 \u0431\u0443\u0434\u0435\u0442 \u0432\u00a0\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0438 YES. \u0415\u0441\u043b\u0438 \u0432\u044b \u0432\u0438\u0434\u0438\u0442\u0435 POPCNT64: NO, \u044d\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u043e\u0437\u043d\u0430\u0447\u0430\u0442\u044c, \u0447\u0442\u043e\u00a0\u0432\u044b \u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u0443\u0435\u0442\u0435 suricata \u0434\u043b\u044f\u00a0\u043e\u0447\u0435\u043d\u044c \u0441\u0442\u0430\u0440\u043e\u0439 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b \u0438\u043b\u0438\u00a0\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0435 \u0444\u043b\u0430\u0433\u0438 \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u0438, \u043e\u0442\u043a\u043b\u044e\u0447\u0430\u044e\u0449\u0438\u0435 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, <code>\u2011-disable\u2011gccmarch\u2011native<\/code>).<\/p>\n<p><strong>6.3.2.2 \u041f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u044b\u0435 \u043e\u043f\u0446\u0438\u0438.<\/strong><\/p>\n<p>\u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043a\u0430\u043a\u0438\u0435 \u043e\u043f\u0446\u0438\u0438 \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0442\u044c suricata \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0441\u043b\u0435 \u043e\u043a\u043e\u043d\u0447\u0430\u043d\u0438\u044f configure. \u0410\u00a0\u0434\u043b\u044f\u00a0\u0443\u0436\u0435 \u0441\u043e\u0431\u0440\u0430\u043d\u043d\u043e\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u0443:<\/p>\n<p> <code># suricata --build-info<\/code><\/p>\n<p>\u0417\u0434\u0435\u0441\u044c \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d \u043e\u0431\u0437\u043e\u0440 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445 \u043e\u043f\u0446\u0438\u0439 \u0434\u043b\u044f\u00a0\u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u044f \u0442\u043e\u0433\u043e, \u043a\u0430\u043a\u0438\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 suricata \u043e\u043d\u0438 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u044e\u0442 \u0438 \u0438 \u0447\u0442\u043e\u00a0\u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0434\u043b\u044f\u00a0\u0430\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u044d\u0442\u0438\u0445 \u043e\u043f\u0446\u0438\u0439.<\/p>\n<p><strong>Libmagic support<\/strong> &#8212; \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 \u0437\u0430 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u0442\u0438\u043f\u043e\u0432 \u0444\u0430\u0439\u043b\u043e\u0432 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u0438\u0445 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0433\u043e (\u00ab\u043c\u0430\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0447\u0438\u0441\u0435\u043b\u00bb), \u0430 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044e \u0438\u043b\u0438 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0430\u043c \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430. <\/p>\n<p>\u041e\u043f\u0446\u0438\u044f \u201cLibmagic support\u201d \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442: <\/p>\n<ul>\n<li>\n<p>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0435 \u0441\u043b\u043e\u0432\u043e filemagic: \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043f\u0438\u0441\u0430\u0442\u044c \u043f\u0440\u0430\u0432\u0438\u043b\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u044e\u0442 \u043d\u0430 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0439 \u0442\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445 \u0432\u043d\u0443\u0442\u0440\u0438 \u0442\u0440\u0430\u0444\u0438\u043a\u0430. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043f\u0440\u0430\u0432\u0438\u043b\u043e \u043c\u043e\u0436\u0435\u0442 \u0438\u0441\u043a\u0430\u0442\u044c \u00ab\u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0439 \u0444\u0430\u0439\u043b Windows\u00bb \u0438\u043b\u0438 \u00abPDF-\u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u00bb, \u0434\u0430\u0436\u0435 \u0435\u0441\u043b\u0438 \u0437\u043b\u043e\u0443\u043c\u044b\u0448\u043b\u0435\u043d\u043d\u0438\u043a \u0438\u0437\u043c\u0435\u043d\u0438\u043b \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 \u0444\u0430\u0439\u043b\u0430 \u043d\u0430 .jpg. <\/p>\n<\/li>\n<li>\n<p>\u0423\u043b\u0443\u0447\u0448\u0438\u0442\u044c \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044e \u0444\u0430\u0439\u043b\u043e\u0432: suricata \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 \u0434\u043b\u044f \u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u00ab\u043b\u0438\u043f\u043a\u043e\u0433\u043e \u0431\u0443\u0444\u0435\u0440\u0430\u00bb (sticky buffer) file.magic, \u043f\u043e \u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443 \u0437\u0430\u0442\u0435\u043c \u043f\u0440\u043e\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u043f\u043e\u0438\u0441\u043a \u0441\u0438\u0433\u043d\u0430\u0442\u0443\u0440. <\/p>\n<\/li>\n<li>\n<p>\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u0432 \u043b\u043e\u0433: \u0432 \u043b\u043e\u0433\u0430\u0445 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432 eve.json) \u043f\u043e\u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0431\u043e\u043b\u0435\u0435 \u0442\u043e\u0447\u043d\u0430\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e \u0442\u0438\u043f\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0435\u043c\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432. <\/p>\n<\/li>\n<\/ul>\n<p>\u041d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0434\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f configure \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443: <code>libmagic-dev<\/code> <\/p>\n<p>\u041d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c configure \u0441 \u043e\u043f\u0446\u0438\u0435\u0439: <code>--enable-libmagic<\/code><\/p>\n<p><strong>Libjansson support<\/strong>\u00a0\u2014 \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 \u0437\u0430\u00a0\u0440\u0430\u0431\u043e\u0442\u0443 \u0441\u00a0\u0444\u043e\u0440\u043c\u0430\u0442\u043e\u043c JSON. \u0411\u0435\u0437\u00a0\u044d\u0442\u043e\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 suricata \u043d\u0435\u00a0\u0441\u043c\u043e\u0436\u0435\u0442 \u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u043b\u043e\u0433\u0438. <\/p>\n<p>\u041e\u043f\u0446\u0438\u044f \u00ablibjansson support\u00bb \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442: <\/p>\n<ul>\n<li>\n<p>\u0412\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u0432\u044b\u0432\u043e\u0434 \u043b\u043e\u0433\u043e\u0432 \u0432\u00a0\u0444\u043e\u0440\u043c\u0430\u0442\u0435 JSON: \u044d\u0442\u043e \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0438 \u0441\u0430\u043c\u044b\u0439 \u0432\u0430\u0436\u043d\u044b\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b. \u041e\u043d \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u044f\u0435\u0442 \u0430\u043b\u0435\u0440\u0442\u044b, \u043c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u043e\u0432 (HTTP, DNS, TLS), \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e\u00a0\u0444\u0430\u0439\u043b\u0430\u0445 \u0438 \u043f\u043e\u0442\u043e\u043a\u0430\u0445 \u0432\u00a0\u0435\u0434\u0438\u043d\u044b\u0439 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 JSON\u2011\u0444\u0430\u0439\u043b (eve.json). <\/p>\n<\/li>\n<li>\n<p>\u0412\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u043d\u043e\u0435 \u043b\u043e\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435: \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u00a0\u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 Jansson \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u0434\u0435\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u043f\u043e\u043b\u044f, \u0442\u0430\u043a\u0438\u0435 \u043a\u0430\u043a\u00a0\u0445\u0435\u0448\u0438 \u0444\u0430\u0439\u043b\u043e\u0432, \u0442\u0435\u043b\u0430 HTTP\u2011\u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0438 \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u044b \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0432. <\/p>\n<\/li>\n<\/ul>\n<p>\u041d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u0430 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430: <code>libjansson\u2011dev<\/code> <\/p>\n<p>\u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u00ablibjansson support\u00bb \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0430 \u043f\u043e\u00a0\u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0438 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0447\u0442\u043e\u0431\u044b \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 <code>libjansson\u2011dev<\/code>\u00a0\u0431\u044b\u043b\u0430 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0430.<\/p>\n<p><strong>Hiredis support<\/strong> &#8212; \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 suricata \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0441\u043e\u0431\u044b\u0442\u0438\u044f (EVE logs) \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u0432 \u0431\u0430\u0437\u0443 \u0434\u0430\u043d\u043d\u044b\u0445 Redis. <\/p>\n<p>\u041d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u0430 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430: <code>libhiredis-dev<\/code> <\/p>\n<p>\u041e\u043f\u0446\u0438\u044f \u0434\u043b\u044f configure: <code>--enable-hiredis<\/code><\/p>\n<p><strong>Hiredis async with libevent<\/strong> &#8212; \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u043e\u0433\u043e \u0440\u0435\u0436\u0438\u043c\u0430 \u0434\u043b\u044f hiredis, \u0447\u0442\u043e\u0431\u044b \u0437\u0430\u043f\u0438\u0441\u044c \u0432 Redis \u043d\u0435 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u043b\u0430 \u0440\u0430\u0431\u043e\u0442\u0443 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0445 \u043f\u043e\u0442\u043e\u043a\u043e\u0432 suricata (\u0447\u0442\u043e \u043a\u0440\u0438\u0442\u0438\u0447\u043d\u043e \u0434\u043b\u044f \u0440\u043e\u0443\u0442\u0435\u0440\u0430). <\/p>\n<p>\u041d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u0430 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430: <code>libevent-dev<\/code> <\/p>\n<p>\u041e\u043f\u0446\u0438\u044f \u0434\u043b\u044f configure: <code>--enable-hiredis-async<\/code><\/p>\n<p><strong>PCRE jit<\/strong>\u00a0\u2014 \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0443\u0441\u043a\u043e\u0440\u044f\u0435\u0442 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443 \u043f\u0440\u0430\u0432\u0438\u043b, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0438\u0445 \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u044b\u0435 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f. \u041f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u044b\u0435 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0432\u00a0\u043c\u0430\u0448\u0438\u043d\u043d\u044b\u0439 \u043a\u043e\u0434 \u0432\u043e\u00a0\u0432\u0440\u0435\u043c\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f, \u0432\u043c\u0435\u0441\u0442\u043e \u0442\u043e\u0433\u043e \u0447\u0442\u043e\u0431\u044b \u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438\u0445 \u043a\u0430\u0436\u0434\u044b\u0439 \u0440\u0430\u0437 \u043f\u0440\u0438\u00a0\u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0435 \u043f\u0430\u043a\u0435\u0442\u0430. \u0414\u043e\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u00abHyperscan support\u00bb <\/p>\n<p>\u041f\u0440\u0438\u00a0\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u0434\u0430\u043d\u043d\u043e\u0439 \u043e\u043f\u0446\u0438\u0438 \u0432\u044b \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0435:<\/p>\n<ul>\n<li>\n<p>\u041f\u0440\u0438\u0440\u043e\u0441\u0442 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438\u00a0\u2014 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0441\u0438\u0433\u043d\u0430\u0442\u0443\u0440 \u0441\u00a0\u043a\u043b\u044e\u0447\u0435\u0432\u044b\u043c \u0441\u043b\u043e\u0432\u043e\u043c pcre \u043c\u043e\u0436\u0435\u0442 \u0432\u044b\u0440\u0430\u0441\u0442\u0438 \u0432\u00a0\u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0430\u0437 (\u043f\u043e \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u043c \u0442\u0435\u0441\u0442\u0430\u043c\u00a0\u2014 \u0434\u043e 3\u20136\u00a0\u0440\u0430\u0437 \u0434\u043b\u044f\u00a0\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0445 \u0442\u0438\u043f\u043e\u0432 \u043f\u0440\u0430\u0432\u0438\u043b).<\/p>\n<\/li>\n<li>\n<p>\u0421\u043d\u0438\u0436\u0435\u043d\u0438\u0435 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u043d\u0430\u00a0CPU\u00a0\u2014 \u0437\u0430\u00a0\u0441\u0447\u0435\u0442 \u0431\u043e\u043b\u0435\u0435 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043a\u043e\u0434\u0430 \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u044b\u0445 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0439 \u0432\u044b\u0441\u0432\u043e\u0431\u043e\u0436\u0434\u0430\u044e\u0442\u0441\u044f \u0440\u0435\u0441\u0443\u0440\u0441\u044b \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430 \u0434\u043b\u044f\u00a0\u0434\u0440\u0443\u0433\u0438\u0445 \u0437\u0430\u0434\u0430\u0447 \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u0442\u0440\u0430\u0444\u0438\u043a\u0430. <\/p>\n<\/li>\n<\/ul>\n<p>\u041d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u0430 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430: <code>libpcre2-dev.<\/code> <\/p>\n<p>\u0415\u0441\u043b\u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0430 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 <code>libpcre2-dev<\/code>, \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u0441\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438.<\/p>\n<p><strong>GeoIP2 support<\/strong> &#8212; \u0434\u0430\u0451\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0442\u044c \u0433\u0435\u043e\u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043c\u0435\u0441\u0442\u043e\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435 IP-\u0430\u0434\u0440\u0435\u0441\u043e\u0432 (\u0441\u0442\u0440\u0430\u043d\u0443, \u0433\u043e\u0440\u043e\u0434, \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u044b, ASN) \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438. <\/p>\n<p>\u041e\u043f\u0446\u0438\u044f \u201cGeoIP2 support\u201d \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442: <\/p>\n<ul>\n<li>\n<p>\u0424\u0438\u043b\u044c\u0442\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u043e \u0441\u0442\u0440\u0430\u043d\u0430\u043c \u0432 \u043f\u0440\u0430\u0432\u0438\u043b\u0430\u0445: \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043f\u0438\u0441\u0430\u0442\u044c \u043f\u0440\u0430\u0432\u0438\u043b\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u044e\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u0442\u0440\u0430\u0444\u0438\u043a\u0430 \u0438\u0437 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0445 \u0441\u0442\u0440\u0430\u043d \u0438\u043b\u0438, \u043d\u0430\u043e\u0431\u043e\u0440\u043e\u0442, \u0438\u0441\u043a\u043b\u044e\u0447\u0430\u044e\u0442 \u0438\u0445.<\/p>\n<\/li>\n<li>\n<p>\u041e\u0431\u043e\u0433\u0430\u0449\u0430\u0442\u044c \u043b\u043e\u0433\u0438: \u0432 \u0444\u0430\u0439\u043b\u0435 <code>eve.json<\/code> \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0441\u043e\u0431\u044b\u0442\u0438\u044f \u0431\u0443\u0434\u0443\u0442 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u044b \u043f\u043e\u043b\u044f \u0441 \u043a\u043e\u0434\u043e\u043c \u0441\u0442\u0440\u0430\u043d\u044b, \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u043c \u0433\u043e\u0440\u043e\u0434\u0430 \u0438 \u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u043e \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u0435 (ASN). \u042d\u0442\u043e \u043a\u0440\u0438\u0442\u0438\u0447\u043d\u043e \u0434\u043b\u044f \u0432\u0438\u0437\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0430\u0442\u0430\u043a \u043d\u0430 \u043a\u0430\u0440\u0442\u0430\u0445 \u0432 Kibana \u0438\u043b\u0438 Grafana. <\/p>\n<\/li>\n<li>\n<p>\u0410\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0430\u0442\u0430\u043a\u0438 \u043f\u043e \u0441\u0442\u0440\u0430\u043d\u0430\u043c: \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0431\u044b\u0441\u0442\u0440\u043e \u043f\u043e\u043d\u044f\u0442\u044c, \u043d\u0430 \u043a\u0430\u043a\u0438\u0435 \u0440\u0435\u0433\u0438\u043e\u043d\u044b \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u043e\u0431\u044a\u0435\u043c \u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0438\u043b\u0438 \u0431\u0440\u0443\u0442\u0444\u043e\u0440\u0441\u0430. <\/p>\n<\/li>\n<\/ul>\n<p>\u041d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u0430 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430: <code>libmaxminddb-dev<\/code> <\/p>\n<p>\u0423\u0442\u0438\u043b\u0438\u0442\u0430 \u0434\u043b\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u0431\u0430\u0437 (\u043f\u043e\u043b\u0435\u0437\u043d\u043e): <code>mmdb-bin<\/code> <\/p>\n<p>\u041e\u043f\u0446\u0438\u044f \u0434\u043b\u044f configure: <code>--enable-geoip<\/code><\/p>\n<p><strong>JA3\u00a0support, JA4\u00a0support<\/strong>\u00a0\u2014 \u044d\u0442\u043e \u043c\u0435\u0442\u043e\u0434\u044b \u00ab\u043e\u0442\u043f\u0435\u0447\u0430\u0442\u043a\u043e\u0432 \u043f\u0430\u043b\u044c\u0446\u0435\u0432\u00bb (fingerprinting) \u0434\u043b\u044f\u00a0TLS\u2011\u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0439. \u041e\u043d\u0438 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0442 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a\u043b\u0438\u0435\u043d\u0442\u0441\u043a\u043e\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 (\u0431\u0440\u0430\u0443\u0437\u0435\u0440, \u0431\u043e\u0442, \u043c\u0430\u043b\u0432\u0430\u0440\u044c) \u043f\u043e\u00a0\u0442\u043e\u043c\u0443, \u043a\u0430\u043a\u00a0\u043e\u043d\u043e \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442 \u0437\u0430\u0449\u0438\u0449\u0435\u043d\u043d\u043e\u0435 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435, \u0434\u0430\u0436\u0435 \u0435\u0441\u043b\u0438 \u0441\u0430\u043c \u0442\u0440\u0430\u0444\u0438\u043a \u0437\u0430\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d. <\/p>\n<p>\u041e\u043f\u0446\u0438\u0438 \u00abJA3\u00a0support, JA4\u00a0support\u00bb \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u044e\u0442: <\/p>\n<ul>\n<li>\n<p>\u0418\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044e \u0431\u0435\u0437\u00a0\u0434\u0435\u0448\u0438\u0444\u0440\u043e\u0432\u043a\u0438: \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0443\u0437\u043d\u0430\u0442\u044c, \u0447\u0442\u043e\u00a0\u043a\u00a0\u0441\u0435\u0440\u0432\u0435\u0440\u0443 \u043f\u0440\u0438\u0448\u0435\u043b \u043d\u0435\u00a0\u0431\u0440\u0430\u0443\u0437\u0435\u0440 Chrome, \u0430, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0439 \u0432\u0438\u0440\u0443\u0441\u043d\u044b\u0439 \u0430\u0433\u0435\u043d\u0442 \u0438\u043b\u0438\u00a0Python\u2011\u0441\u043a\u0440\u0438\u043f\u0442, \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u043e\u00a0\u043d\u0430\u0431\u043e\u0440\u0443 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u0432\u00a0\u043f\u0430\u043a\u0435\u0442\u0435 Client Hello. <\/p>\n<\/li>\n<li>\n<p>\u0411\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0443 \u043f\u043e\u00a0\u043e\u0442\u043f\u0435\u0447\u0430\u0442\u043a\u0430\u043c: \u0432\u00a0\u043f\u0440\u0430\u0432\u0438\u043b\u0430\u0445 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0435 \u0441\u043b\u043e\u0432\u0430 ja3.hash, ja3.string \u0438\u043b\u0438\u00a0ja4. \u041f\u0440\u0438\u043c\u0435\u0440: alert tls any any \u2192 any any (msg:\u00ab\u041e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d \u0432\u0440\u0435\u0434\u043e\u043d\u043e\u0441\u043d\u044b\u0439 \u0430\u0433\u0435\u043d\u0442\u00bb; ja3.hash:\u00ab773906b0efceda54573678b3378356ef\u00bb; sid:1000005;) <\/p>\n<\/li>\n<li>\n<p>\u041e\u0431\u043e\u0433\u0430\u0449\u0435\u043d\u0438\u0435 \u043b\u043e\u0433\u043e\u0432: \u0432\u00a0<code>eve.json<\/code> \u0434\u043b\u044f\u00a0\u043a\u0430\u0436\u0434\u043e\u0433\u043e TLS\u2011\u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u0431\u0443\u0434\u0443\u0442 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u044b \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u0435 \u0445\u044d\u0448\u2011\u0441\u0442\u0440\u043e\u043a\u0438 JA3\/JA4. <\/p>\n<\/li>\n<\/ul>\n<p>\u0420\u0430\u0437\u043d\u0438\u0446\u0430 \u043c\u0435\u0436\u0434\u0443 JA3\u00a0\u0438 JA4: <\/p>\n<ul>\n<li>\n<p>JA3: \u041a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442 (\u0441\u043e\u0437\u0434\u0430\u043d \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u0430\u043c\u0438 Salesforce). \u0413\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u0442 MD5-\u0445\u044d\u0448 \u043d\u0430\u00a0\u043e\u0441\u043d\u043e\u0432\u0435 5\u00a0\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 TLS. <\/p>\n<\/li>\n<li>\n<p>JA4: \u0421\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0439 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442 (\u0446\u0435\u043b\u043e\u0435 \u0441\u0435\u043c\u0435\u0439\u0441\u0442\u0432\u043e \u043e\u0442\u043f\u0435\u0447\u0430\u0442\u043a\u043e\u0432). \u041e\u043d \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u0442 \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u044e\u0430\u043d\u0441\u043e\u0432 (\u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b, \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0439, ALPN) \u0438 \u0432\u044b\u0434\u0430\u0435\u0442 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0432\u00a0\u0431\u043e\u043b\u0435\u0435 \u0447\u0438\u0442\u0430\u0435\u043c\u043e\u043c \u0432\u0438\u0434\u0435. <\/p>\n<\/li>\n<\/ul>\n<p>\u041d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u043f\u0430\u043a\u0435\u0442\u044b \u0434\u043b\u044f\u00a0\u0441\u0431\u043e\u0440\u043a\u0438:<\/p>\n<ul>\n<li>\n<p>OpenSSL (\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430): <code>libssl\u2011dev<\/code><\/p>\n<\/li>\n<li>\n<p>Rust \u0438 Cargo: <code>rustc, cargo<\/code>.<\/p>\n<\/li>\n<li>\n<p>Python 3\u00a0(\u0434\u043b\u044f \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u043a\u043e\u0434\u0430): <code>python3<\/code>\u00a0<\/p>\n<\/li>\n<\/ul>\n<p>\u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 JA3\u00a0\u0438 JA4\u00a0\u0432\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u043f\u043e\u00a0\u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e, \u0435\u0441\u043b\u0438 \u0443\u00a0\u0432\u0430\u0441 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d Rust, \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0430 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 TLS \u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0430 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 <code>libssl\u2011dev<\/code>.<\/p>\n<p><strong>Hyperscan support<\/strong>\u00a0\u2014 \u044d\u0442\u043e \u00ab\u0442\u0443\u0440\u0431\u043e\u2011\u0440\u0435\u0436\u0438\u043c\u00bb \u0434\u043b\u044f\u00a0suricata. \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0432\u044b\u0441\u043e\u043a\u043e\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 \u043e\u0442\u00a0Intel \u0434\u043b\u044f\u00a0\u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0433\u043e \u043f\u043e\u0438\u0441\u043a\u0430 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0430 \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u044b\u0445 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0439. Hyperscan \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430\u00a0\u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430\u0445 \u0441\u00a0\u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 SSE3\u00a0\u0438 \u0432\u044b\u0448\u0435. <\/p>\n<p>\u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430:  <code># grep \u2011o \u201epni|sse3\u201c \/proc\/cpuinfo | sort \u2011u<\/code>. \u0427\u0442\u043e\u00a0\u0438\u0441\u043a\u0430\u0442\u044c \u0432\u00a0\u0432\u044b\u0432\u043e\u0434\u0435:<\/p>\n<p><code>pni<\/code> (Prescott New Instructions)\u00a0\u2014 \u044d\u0442\u043e \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0435\u0435 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 SSE3\u00a0\u0432\u00a0\u044f\u0434\u0440\u0430\u0445 Linux \u0434\u043b\u044f\u00a0\u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u043e\u0432 Intel. \u0415\u0441\u043b\u0438 \u0432\u0438\u0434\u0438\u0442\u0435 <code>pni<\/code>, \u0437\u043d\u0430\u0447\u0438\u0442 SSE3\u00a0\u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f.<\/p>\n<p><code>sse3<\/code>\u00a0\u2014 \u043f\u0440\u044f\u043c\u043e\u0435 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 (\u0447\u0430\u0449\u0435 \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u0435\u0442\u0441\u044f \u043d\u0430\u00a0\u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430\u0445 AMD).<\/p>\n<p>\u041e\u043f\u0446\u0438\u044f \u201cHyperscan support\u201d \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0435\u0442: <\/p>\n<ul>\n<li>\n<p>\u042d\u043a\u0441\u0442\u0440\u0435\u043c\u0430\u043b\u044c\u043d\u0443\u044e \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c: Hyperscan \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430 (SSE, AVX) \u0434\u043b\u044f \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u043e\u0439 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043f\u0430\u043a\u0435\u0442\u043e\u0432. <\/p>\n<\/li>\n<li>\n<p>\u0421\u043a\u0430\u043b\u0438\u0440\u0443\u0435\u043c\u043e\u0441\u0442\u044c: \u043e\u043d\u0430 \u0441\u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0430 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u043d\u0430 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044f\u0445 10 Gbps \u0438 \u0432\u044b\u0448\u0435.<\/p>\n<\/li>\n<li>\n<p>\u042d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u044c \u043d\u0430 \u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u043d\u0430\u0431\u043e\u0440\u0430\u0445 \u043f\u0440\u0430\u0432\u0438\u043b: \u0447\u0435\u043c \u0431\u043e\u043b\u044c\u0448\u0435 \u0443 \u0432\u0430\u0441 \u0441\u0438\u0433\u043d\u0430\u0442\u0443\u0440 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043f\u043e\u043b\u043d\u044b\u0435 \u043d\u0430\u0431\u043e\u0440\u044b \u043f\u0440\u0430\u0432\u0438\u043b \u043e\u0442 ET Pro), \u0442\u0435\u043c \u0437\u0430\u043c\u0435\u0442\u043d\u0435\u0435 \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u043e Hyperscan \u043f\u0435\u0440\u0435\u0434 \u0434\u0440\u0443\u0433\u0438\u043c\u0438 \u0434\u0432\u0438\u0436\u043a\u0430\u043c\u0438. <\/p>\n<\/li>\n<\/ul>\n<p>\u041e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u0430 \u0434\u043b\u044f \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f. \u0411\u0435\u0437 \u043d\u0435\u0451 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c suricata \u0443\u043f\u0430\u0434\u0435\u0442 \u0432 \u0440\u0430\u0437\u044b \u043f\u0440\u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u0431\u043e\u043b\u044c\u0448\u043e\u0433\u043e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u043f\u0440\u0430\u0432\u0438\u043b. <\/p>\n<p>\u041d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u0430 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430: <code>libhyperscan-dev<\/code>. <\/p>\n<p>\u0417\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u044c \u0434\u043b\u044f \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438: <code>ragel<\/code> (\u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c \u0434\u043b\u044f \u0441\u0431\u043e\u0440\u043a\u0438 \u0434\u0432\u0438\u0436\u043a\u0430 \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u044b\u0445 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0439). <\/p>\n<p>\u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u201cHyperscan support\u201d \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0430 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0438 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0447\u0442\u043e\u0431\u044b \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 <code>libhyperscan-dev<\/code> \u0431\u044b\u043b\u0430 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0430.<\/p>\n<p><strong>Hwloc support<\/strong> (Portable Hardware Locality)\u00a0\u2014 \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 \u0437\u0430\u00a0\u0438\u043d\u0442\u0435\u043b\u043b\u0435\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0435 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u043e\u0442\u043e\u043a\u0430\u043c\u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430. \u041e\u043d\u0430 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 suricata \u00ab\u043f\u043e\u043d\u0438\u043c\u0430\u0442\u044c\u00bb \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u0442\u043e\u043f\u043e\u043b\u043e\u0433\u0438\u044e \u0432\u0430\u0448\u0435\u0433\u043e\u00a0\u0436\u0435\u043b\u0435\u0437\u0430: \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0432\u00a0\u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u0441\u043e\u043a\u0435\u0442\u043e\u0432, \u044f\u0434\u0435\u0440, \u043a\u044d\u0448\u0435\u0439 (L1-L3) \u0438 \u043a\u0430\u043a\u00a0\u0443\u0441\u0442\u0440\u043e\u0435\u043d\u044b NUMA\u2011\u0443\u0437\u043b\u044b. <\/p>\n<p>\u041e\u043f\u0446\u0438\u044f \u00abHwloc support\u00bb \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0435\u0442: <\/p>\n<ul>\n<li>\n<p>\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u044e (Affinity): suricata \u043c\u043e\u0436\u0435\u0442 \u0441\u0430\u043c\u0430 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0442\u044c \u043f\u043e\u0442\u043e\u043a\u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0442\u0440\u0430\u0444\u0438\u043a\u0430 (workers) \u043f\u043e\u00a0\u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0438\u043c \u044f\u0434\u0440\u0430\u043c \u0442\u0430\u043a, \u0447\u0442\u043e\u0431\u044b \u043e\u043d\u0438 \u043d\u0435\u00a0\u043a\u043e\u043d\u043a\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u043b\u0438 \u0437\u0430\u00a0\u043a\u044d\u0448 \u0438 \u043d\u0435\u00a0\u043f\u0435\u0440\u0435\u043f\u0440\u044b\u0433\u0438\u0432\u0430\u043b\u0438 \u043c\u0435\u0436\u0434\u0443 \u044f\u0434\u0440\u0430\u043c\u0438 (\u0447\u0442\u043e \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442 \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u0438). <\/p>\n<\/li>\n<li>\n<p>\u041e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u044e NUMA: \u043d\u0430\u00a0\u043c\u043d\u043e\u0433\u043e\u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u043d\u044b\u0445 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\u0445 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0434\u0432\u0443\u0445\u0441\u043e\u043a\u0435\u0442\u043d\u044b\u0445 Intel Xeon) \u0440\u0430\u0431\u043e\u0442\u0430 \u0441\u00a0\u043f\u0430\u043c\u044f\u0442\u044c\u044e \u0438\u0434\u0435\u0442\u00a0\u0431\u044b\u0441\u0442\u0440\u0435\u0435, \u0435\u0441\u043b\u0438 \u043f\u043e\u0442\u043e\u043a \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430 \u043e\u0431\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f \u043a\u00a0\u0442\u043e\u0439 \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0430 \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u043a\u00a0\u0435\u0433\u043e \u0441\u043e\u043a\u0435\u0442\u0443. Hwloc \u043f\u043e\u043c\u043e\u0433\u0430\u0435\u0442 suricata \u043f\u0440\u0438\u0432\u044f\u0437\u044b\u0432\u0430\u0442\u044c \u043f\u043e\u0442\u043e\u043a\u0438 \u043a \u00ab\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0439\u00bb \u043f\u0430\u043c\u044f\u0442\u0438. <\/p>\n<\/li>\n<li>\n<p>\u0421\u043d\u0438\u0436\u0435\u043d\u0438\u0435 \u043f\u0430\u043a\u0435\u0442\u043d\u044b\u0445 \u043f\u043e\u0442\u0435\u0440\u044c: \u0437\u0430\u00a0\u0441\u0447\u0435\u0442 \u043c\u0438\u043d\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u043d\u044b\u0445 \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0439 (context switching) \u0438 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a\u00a0\u043f\u0430\u043c\u044f\u0442\u0438 \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043e\u0431\u0449\u0430\u044f \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u043d\u0430\u044f \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u044c. <\/p>\n<\/li>\n<\/ul>\n<p>\u041d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u0430 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430: <code>libhwloc\u2011dev<\/code> <\/p>\n<p>\u041e\u043f\u0446\u0438\u044f \u0434\u043b\u044f\u00a0configure: <code>\u2011-enable\u2011hwloc<\/code><\/p>\n<p><strong>Libnet support<\/strong> &#8212; \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 libnet \u044d\u0442\u043e \u0432\u044b\u0441\u043e\u043a\u043e\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u044b\u0439 API, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0438\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u0443 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0438 \u0432\u043d\u0435\u0434\u0440\u044f\u0442\u044c \u0441\u0435\u0442\u0435\u0432\u044b\u0435 \u043f\u0430\u043a\u0435\u0442\u044b. <\/p>\n<p>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 libnet \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438: \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u043f\u043e\u0434\u0434\u0435\u043b\u044c\u043d\u044b\u0439 TCP-\u043f\u0430\u043a\u0435\u0442 \u0441 \u0444\u043b\u0430\u0433\u043e\u043c RST \u043e\u0431\u0435\u0438\u043c \u0441\u0442\u043e\u0440\u043e\u043d\u0430\u043c \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f (\u043a\u043b\u0438\u0435\u043d\u0442\u0443 \u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u0443). \u041e\u043d\u0438 \u00ab\u0434\u0443\u043c\u0430\u044e\u0442\u00bb, \u0447\u0442\u043e \u043f\u0430\u0440\u0442\u043d\u0435\u0440 \u0440\u0430\u0437\u043e\u0440\u0432\u0430\u043b \u0441\u0432\u044f\u0437\u044c, \u0438 \u0437\u0430\u043a\u0440\u044b\u0432\u0430\u044e\u0442 \u0441\u0435\u0441\u0441\u0438\u044e. \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c ICMP-\u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u043e \u043d\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0441\u0442\u0438 \u043f\u043e\u0440\u0442\u0430 \u0434\u043b\u044f UDP-\u0442\u0440\u0430\u0444\u0438\u043a\u0430, \u0447\u0442\u043e \u0442\u0430\u043a\u0436\u0435 \u0437\u0430\u0441\u0442\u0430\u0432\u0438\u0442 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043f\u0440\u0435\u043a\u0440\u0430\u0442\u0438\u0442\u044c \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0443 \u0434\u0430\u043d\u043d\u044b\u0445. \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0435\u0441\u043b\u0438 \u0432\u044b \u0445\u043e\u0442\u0438\u0442\u0435 \u0432\u043c\u0435\u0441\u0442\u043e \u00ab\u0442\u0438\u0445\u043e\u0433\u043e\u00bb drop \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u0430\u0442\u0430\u043a\u0443\u044e\u0449\u0435\u043c\u0443 \u044f\u0432\u043d\u043e\u0435 \u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u0435 \u043e \u0440\u0430\u0437\u0440\u044b\u0432\u0435 \u0447\u0435\u0440\u0435\u0437 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 reject. <\/p>\n<p>\u041d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u0430\u044f \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430: <code>libnet1-dev <\/code><\/p>\n<p>\u0415\u0441\u043b\u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0430 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 <code>libnet1-dev<\/code>, \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u0441\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438.<\/p>\n<p><strong>Liblz4\u00a0support<\/strong>\u00a0\u2014 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441\u00a0\u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u043e\u043c \u0441\u0436\u0430\u0442\u0438\u044f LZ4, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u0440\u0438\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d \u043d\u0430\u00a0\u044d\u043a\u0441\u0442\u0440\u0435\u043c\u0430\u043b\u044c\u043d\u043e \u0432\u044b\u0441\u043e\u043a\u0443\u044e \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0440\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u043a\u0438 \u043f\u0440\u0438\u00a0\u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0439 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0435 \u043d\u0430\u00a0\u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440. <\/p>\n<p>\u041e\u043f\u0446\u0438\u044f \u00abLiblz4\u00a0support\u00bb \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0435\u0442: <\/p>\n<ul>\n<li>\n<p>\u0418\u043d\u0441\u043f\u0435\u043a\u0446\u0438\u044e \u0441\u0436\u0430\u0442\u043e\u0433\u043e \u043a\u043e\u043d\u0442\u0435\u043d\u0442\u0430: \u043a\u0430\u043a\u00a0\u0438 \u0432\u00a0\u0441\u043b\u0443\u0447\u0430\u0435 \u0441\u00a0zlib, \u044d\u0442\u0430 \u043e\u043f\u0446\u0438\u044f \u043d\u0443\u0436\u043d\u0430 \u0434\u043b\u044f\u00a0\u0434\u0435\u043a\u043e\u043c\u043f\u0440\u0435\u0441\u0441\u0438\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432\u00a0\u0441\u0435\u0442\u0435\u0432\u044b\u0445 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430\u0445 \u00ab\u043d\u0430 \u043b\u0435\u0442\u0443\u00bb. \u0415\u0441\u043b\u0438 \u0432\u0440\u0435\u0434\u043e\u043d\u043e\u0441\u043d\u044b\u0439 \u0444\u0430\u0439\u043b \u0438\u043b\u0438\u00a0\u0441\u043a\u0440\u0438\u043f\u0442 \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u0442\u0441\u044f \u0432\u00a0\u043f\u043e\u0442\u043e\u043a\u0435, \u0441\u0436\u0430\u0442\u043e\u043c \u0441\u00a0\u043f\u043e\u043c\u043e\u0449\u044c\u044e LZ4, suricata \u0441\u043c\u043e\u0436\u0435\u0442 \u0435\u0433\u043e \u0440\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u0430\u0442\u044c \u0438 \u043f\u0440\u043e\u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u0442\u044c. <\/p>\n<\/li>\n<li>\n<p>\u0420\u0430\u0431\u043e\u0442\u0443 \u0441\u00a0\u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u043c\u0438 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430\u043c\u0438: LZ4\u00a0\u0432\u0441\u0435 \u0447\u0430\u0449\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0432\u00a0\u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445 \u0438 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043f\u0440\u043e\u043f\u0440\u0438\u0435\u0442\u0430\u0440\u043d\u044b\u0445 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430\u0445 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432\u043c\u0435\u0441\u0442\u043e \u0431\u043e\u043b\u0435\u0435 \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u043e\u0433\u043e Gzip. <\/p>\n<\/li>\n<li>\n<p>\u041b\u043e\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 (EVE JSON): \u0412\u00a0\u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f\u0445 LZ4\u00a0\u043c\u043e\u0436\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0434\u043b\u044f\u00a0\u0431\u044b\u0441\u0442\u0440\u043e\u0433\u043e \u0441\u0436\u0430\u0442\u0438\u044f \u0441\u0430\u043c\u0438\u0445 \u043b\u043e\u0433\u043e\u0432 suricata \u043f\u0435\u0440\u0435\u0434 \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u043e\u0439 \u0438\u0445 \u0432\u00a0\u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435, \u0447\u0442\u043e\u0431\u044b \u0441\u044d\u043a\u043e\u043d\u043e\u043c\u0438\u0442\u044c \u043c\u0435\u0441\u0442\u043e \u043d\u0430\u00a0\u0434\u0438\u0441\u043a\u0435 \u0431\u0435\u0437\u00a0\u043f\u043e\u0442\u0435\u0440\u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0437\u0430\u0445\u0432\u0430\u0442\u0430 \u043f\u0430\u043a\u0435\u0442\u043e\u0432. <\/p>\n<\/li>\n<\/ul>\n<p>\u041d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u0430 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430:<code> liblz4-dev <\/code><\/p>\n<p>\u0415\u0441\u043b\u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0430 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 <code>liblz4-dev<\/code>, \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u0441\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438.<\/p>\n<p><strong>Landlock support<\/strong>\u00a0\u2014 \u044d\u0442\u043e \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0439 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 Linux (LSM), \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u0435\u0442 \u043f\u0440\u0438\u043d\u0446\u0438\u043f \u00ab\u043f\u0435\u0441\u043e\u0447\u043d\u0438\u0446\u044b\u00bb (sandboxing) \u043d\u0430\u00a0\u0443\u0440\u043e\u0432\u043d\u0435 \u044f\u0434\u0440\u0430. \u041e\u043d\u0430 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u0432\u0430\u0435\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 suricata \u043f\u043e\u0441\u043b\u0435 \u0435\u0433\u043e \u0437\u0430\u043f\u0443\u0441\u043a\u0430. <\/p>\n<p>\u0414\u0430\u0436\u0435 \u0435\u0441\u043b\u0438 \u0437\u043b\u043e\u0443\u043c\u044b\u0448\u043b\u0435\u043d\u043d\u0438\u043a \u043d\u0430\u0439\u0434\u0435\u0442 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u044c \u0432\u00a0\u043a\u043e\u0434\u0435 \u043f\u0430\u0440\u0441\u0435\u0440\u0430 \u0438 \u043f\u043e\u043f\u044b\u0442\u0430\u0435\u0442\u0441\u044f \u0437\u0430\u0445\u0432\u0430\u0442\u0438\u0442\u044c \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435, Landlock \u043d\u0435\u00a0\u043f\u043e\u0437\u0432\u043e\u043b\u0438\u0442 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0443:<\/p>\n<ul>\n<li>\n<p>\u0427\u0438\u0442\u0430\u0442\u044c \u0444\u0430\u0439\u043b\u044b \u0432\u043d\u0435 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u043d\u044b\u0445 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0439 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, <code>\/etc\/shadow<\/code>).<\/p>\n<\/li>\n<li>\n<p>\u0417\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u0432\u00a0\u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0435 \u043f\u0430\u043f\u043a\u0438.<\/p>\n<\/li>\n<li>\n<p>\u041e\u0442\u043a\u0440\u044b\u0432\u0430\u0442\u044c \u043d\u043e\u0432\u044b\u0435 \u0441\u0435\u0442\u0435\u0432\u044b\u0435 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f (\u0435\u0441\u043b\u0438 \u044d\u0442\u043e \u0437\u0430\u043f\u0440\u0435\u0449\u0435\u043d\u043e).<\/p>\n<\/li>\n<\/ul>\n<p>\u042d\u0442\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043a\u0430\u043a\u00a0\u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0441\u043b\u043e\u0439 \u0437\u0430\u0449\u0438\u0442\u044b (\u0430\u043d\u0430\u043b\u043e\u0433 AppArmor \u0438\u043b\u0438\u00a0SELinux), \u043d\u043e\u00a0\u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0441\u0430\u043c\u043e\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043e\u0439 \u00ab\u0438\u0437\u043d\u0443\u0442\u0440\u0438\u00bb. <\/p>\n<p>\u041d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438: \u043d\u0435\u00a0\u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0432\u043d\u0435\u0448\u043d\u0438\u0445 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a. \u042d\u0442\u043e \u0447\u0430\u0441\u0442\u044c \u044f\u0434\u0440\u0430 Linux (\u0432 Debian 13\u00a0\u044f\u0434\u0440\u043e \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0441\u0432\u0435\u0436\u0435\u0435, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0442\u044c \u0435\u0433\u043e \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e). \u041d\u0443\u0436\u043d\u044b \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0435 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u0447\u043d\u044b\u0435 \u0444\u0430\u0439\u043b\u044b Linux, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u0431\u044b\u0447\u043d\u043e \u0443\u0436\u0435 \u0435\u0441\u0442\u044c \u0432\u00a0\u0441\u0438\u0441\u0442\u0435\u043c\u0435: <code>linux\u2011libc\u2011dev<\/code> (\u043e\u0431\u044b\u0447\u043d\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d \u043f\u043e\u00a0\u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e). <\/p>\n<p>\u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438.<\/p>\n<p><strong>Rust strict mode<\/strong> &#8212; \u0420\u0435\u0436\u0438\u043c \u0441\u0442\u0440\u043e\u0433\u043e\u0439 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u043a\u043e\u0434\u0430 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438. \u042d\u0442\u043e \u043e\u043f\u0446\u0438\u044f \u0434\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 suricata, \u0447\u0442\u043e\u0431\u044b \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u044c \u043e\u0448\u0438\u0431\u043a\u0438 \u0432 \u043a\u043e\u0434\u0435. \u041d\u0435 \u043d\u0443\u0436\u043d\u043e.<\/p>\n<p><strong>Profiling enabled<\/strong> &#8212; \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0430 \u0438\u0441\u043a\u043b\u044e\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0434\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 \u0438 \u0433\u043b\u0443\u0431\u043e\u043a\u043e\u0439 \u043e\u0442\u043b\u0430\u0434\u043a\u0438. \u041e\u043d\u0430 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442 \u0432 \u043a\u043e\u0434 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u0434\u043b\u044f \u0441\u0431\u043e\u0440\u0430 \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0438 \u043e \u0442\u043e\u043c, \u043a\u0430\u043a\u0438\u0435 \u0447\u0430\u0441\u0442\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b (\u043f\u0440\u0430\u0432\u0438\u043b\u0430, \u043f\u0430\u0440\u0441\u0435\u0440\u044b, \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0435 \u0441\u043b\u043e\u0432\u0430) \u043f\u043e\u0442\u0440\u0435\u0431\u043b\u044f\u044e\u0442 \u0431\u043e\u043b\u044c\u0448\u0435 \u0432\u0441\u0435\u0433\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u043d\u043e\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438. \u041d\u0435 \u043d\u0443\u0436\u043d\u043e.<\/p>\n<p><strong>GCC Protect enabled<\/strong> &#8212; \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0435 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u044b \u0437\u0430\u0449\u0438\u0442\u044b \u043e\u0442 \u0432\u0437\u043b\u043e\u043c\u0430 \u0441\u0430\u043c\u043e\u0439 suricata (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, Stack Protector \u043e\u0442 \u043f\u0435\u0440\u0435\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0431\u0443\u0444\u0435\u0440\u0430). \u041d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0434\u0430\u043d\u043d\u0443\u044e \u043e\u043f\u0446\u0438\u044e, \u0447\u0442\u043e\u0431\u044b \u0437\u0430\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0438 \u0444\u043b\u0430\u0433\u0438 \u0437\u0430\u0449\u0438\u0442\u044b \u0438 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0435 \u0432 <code>'CFLAGS<\/code>&#8216;. <\/p>\n<p>\u041e\u043f\u0446\u0438\u044f \u0434\u043b\u044f\u00a0configure: <code> --enable-gccprotect<\/code><\/p>\n<p><strong>GCC march native enabled<\/strong> &#8212; \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0438\u0440\u0443\u0435\u0442 \u043a\u043e\u0434 \u0438\u043c\u0435\u043d\u043d\u043e \u043f\u043e\u0434 \u0442\u043e\u0442 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0438\u0434\u0435\u0442 \u0441\u0431\u043e\u0440\u043a\u0430 (\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0432\u0441\u0435 \u0435\u0433\u043e \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438: AVX2, SSE4.2 \u0438 \u0442.\u0434.). <\/p>\n<p>\u041a\u0430\u043a \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u044c: <code>CFLAGS=\"-march=native\"<\/code><\/p>\n<p><strong>GCC Profile enabled <\/strong>&#8212; c\u0431\u043e\u0440\u043a\u0430 \u0441\u043e \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u043c\u0438 \u043c\u0435\u0442\u043a\u0430\u043c\u0438 \u0434\u043b\u044f \u043f\u0440\u043e\u0444\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f (\u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438) \u043a\u043e\u0434\u0430. \u041d\u0443\u0436\u043d\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430\u043c. \u0412 \u043e\u0431\u044b\u0447\u043d\u043e\u043c \u0440\u0435\u0436\u0438\u043c\u0435 \u044d\u0442\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u0437\u0430\u043c\u0435\u0434\u043b\u044f\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0443.<\/p>\n<p><strong>Position Independent Executable<\/strong> (PIE) &#8212; \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u044f \u0437\u0430\u0449\u0438\u0442\u044b (ASLR), \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u0442 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443 \u0432 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0435 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438, \u0447\u0442\u043e\u0431\u044b \u0445\u0430\u043a\u0435\u0440\u0430\u043c \u0431\u044b\u043b\u043e \u0441\u043b\u043e\u0436\u043d\u0435\u0435 \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438. \u0427\u0430\u0441\u0442\u043e \u043e\u0442\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0433\u043e \u0432\u044b\u0438\u0433\u0440\u044b\u0448\u0430 \u0432 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438. <\/p>\n<p>\u041e\u043f\u0446\u0438\u044f \u0434\u043b\u044f\u00a0configure:  <code>--enable-pie<\/code><\/p>\n<h4>6.3.3 \u041e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u0435 \u0444\u043b\u0430\u0433\u0438 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430 \u0434\u043b\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f suricata.<\/h4>\n<p>\u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440: <code>CFLAGS=\u201c-O3 -march=native -flto=auto -ffat-lto-objects -fstack-protector-strong -fstack-clash-protection -fcf-protection --param=ssp-buffer-size=4 -Wformat -Werror=format-security -Werror=implicit-function-declaration -std=c11\u201d<\/code> <\/p>\n<p>\u041e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438:<\/p>\n<p><code>-O3<\/code> &#8212; \u041c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0439 \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430. \u041e\u043d \u0437\u0430\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0431\u044b\u0441\u0442\u0440\u0435\u0435, \u043d\u043e \u0441\u0431\u043e\u0440\u043a\u0430 \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442 \u0431\u043e\u043b\u044c\u0448\u0435 \u0432\u0440\u0435\u043c\u0435\u043d\u0438, \u0430 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0439 \u0444\u0430\u0439\u043b \u043c\u043e\u0436\u0435\u0442 \u0441\u0442\u0430\u0442\u044c \u0447\u0443\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0435. <\/p>\n<p><code>-march=native<\/code> &#8212; \u0413\u043e\u0432\u043e\u0440\u0438\u0442 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0443 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432\u0441\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u0432\u0430\u0448\u0435\u0433\u043e \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, AVX2, SSE4.2). \u042d\u0442\u043e \u0434\u0430\u0435\u0442 \u043f\u0440\u0438\u0440\u043e\u0441\u0442 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438, \u043d\u043e \u0442\u0430\u043a\u0430\u044f suricata \u043d\u0435 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0441\u044f \u043d\u0430 \u0434\u0440\u0443\u0433\u043e\u043c, \u0431\u043e\u043b\u0435\u0435 \u0441\u0442\u0430\u0440\u043e\u043c \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0435. <\/p>\n<p><code>-flto=auto, -ffat-lto-objects<\/code> &#8212; \u041e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u044f \u043d\u0430 \u044d\u0442\u0430\u043f\u0435 \u043b\u0438\u043d\u043a\u043e\u0432\u043a\u0438. \u041a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u0430\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u0442 \u0432\u0441\u044e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443 \u0446\u0435\u043b\u0438\u043a\u043e\u043c, \u0430 \u043d\u0435 \u043f\u043e \u043e\u0434\u043d\u043e\u043c\u0443 \u0444\u0430\u0439\u043b\u0443, \u0447\u0442\u043e \u0434\u0430\u0435\u0442 \u043f\u0440\u0438\u0440\u043e\u0441\u0442 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 \u0432 5-10%. <\/p>\n<p><code>-std=c11<\/code> &#8212; \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442 \u044f\u0437\u044b\u043a\u0430 C 2011 \u0433\u043e\u0434\u0430.<\/p>\n<p>\u0417\u0430\u0449\u0438\u0442\u0430 \u0438 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c: <\/p>\n<p><code>-fstack-protector-strong<\/code> &#8212; \u0417\u0430\u0449\u0438\u0449\u0430\u0435\u0442 \u043e\u0442 \u0430\u0442\u0430\u043a \u0442\u0438\u043f\u0430 \u00ab\u043f\u0435\u0440\u0435\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u0441\u0442\u0435\u043a\u0430\u00bb. \u041a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 (\u00ab\u043a\u0430\u043d\u0430\u0440\u0435\u0439\u043a\u0438\u00bb), \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u0431\u0440\u0443\u0448\u0430\u0442 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443 \u0440\u0430\u043d\u044c\u0448\u0435, \u0447\u0435\u043c \u0437\u043b\u043e\u0443\u043c\u044b\u0448\u043b\u0435\u043d\u043d\u0438\u043a \u0441\u043c\u043e\u0436\u0435\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0441\u0432\u043e\u0439 \u043a\u043e\u0434. \u0417\u0430\u0449\u0438\u0449\u0430\u0435\u0442 \u043e\u043a\u043e\u043b\u043e 99% \u0440\u0435\u0430\u043b\u044c\u043d\u043e \u043e\u043f\u0430\u0441\u043d\u044b\u0445 \u043c\u0435\u0441\u0442, \u043d\u043e \u043f\u043e\u0447\u0442\u0438 \u043d\u0435 \u0437\u0430\u043c\u0435\u0434\u043b\u044f\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0443 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u0432 \u043e\u0442\u043b\u0438\u0447\u0438\u0438 \u043e\u0442 <code>-fstack-protector-all<\/code>. <\/p>\n<p><code>-fstack-clash-protection<\/code> &#8212; \u041f\u0440\u0435\u0434\u043e\u0442\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0430\u0442\u0430\u043a\u0438 \u0442\u0438\u043f\u0430 \u00ab\u0441\u0442\u043e\u043b\u043a\u043d\u043e\u0432\u0435\u043d\u0438\u0435 \u0441\u0442\u0435\u043a\u0430\u00bb, \u043a\u043e\u0433\u0434\u0430 \u043f\u0430\u043c\u044f\u0442\u044c \u043f\u0435\u0440\u0435\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u043d\u0430\u0441\u0442\u043e\u043b\u044c\u043a\u043e, \u0447\u0442\u043e \u043f\u0435\u0440\u0435\u043f\u0440\u044b\u0433\u0438\u0432\u0430\u0435\u0442 \u0437\u0430\u0449\u0438\u0442\u043d\u044b\u0435 \u0437\u043e\u043d\u044b. <\/p>\n<p><code>-fcf-protection<\/code> &#8212; \u0410\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u0430\u044f \u0437\u0430\u0449\u0438\u0442\u0430 (\u043d\u0430 \u043d\u043e\u0432\u044b\u0445 CPU Intel\/AMD) \u043e\u0442 \u0430\u0442\u0430\u043a \u0442\u0438\u043f\u0430 ROP (\u0432\u043e\u0437\u0432\u0440\u0430\u0442\u043d\u043e\u0435 \u043e\u0440\u0438\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435). <\/p>\n<p><code>\u2013-param=ssp-buffer-size=4<\/code> &#8212; \u0423\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442 \u043f\u043e\u0440\u043e\u0433 \u0434\u043b\u044f \u0437\u0430\u0449\u0438\u0442\u044b \u0431\u0443\u0444\u0435\u0440\u043e\u0432. \u0414\u0430\u0436\u0435 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0438\u0435 \u043c\u0430\u0441\u0441\u0438\u0432\u044b \u0434\u0430\u043d\u043d\u044b\u0445 (\u043e\u0442 4 \u0431\u0430\u0439\u0442) \u0431\u0443\u0434\u0443\u0442 \u043f\u043e\u0434 \u0437\u0430\u0449\u0438\u0442\u043e\u0439. \u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0437\u0430\u0449\u0438\u0442\u0430 \u0447\u0430\u0441\u0442\u043e \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u043a\u0440\u0443\u043f\u043d\u044b\u0445 \u043c\u0430\u0441\u0441\u0438\u0432\u043e\u0432 (8 \u0431\u0430\u0439\u0442 \u0438 \u0431\u043e\u043b\u0435\u0435). <\/p>\n<p><code>-Wformat<\/code> &#8212; \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0442\u044c \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0432\u044b\u0432\u043e\u0434\u0430 \u0442\u0435\u043a\u0441\u0442\u0430, \u0442\u0430\u043a\u0438\u0435 \u043a\u0430\u043a <code>printf, scanf<\/code> \u0438\u043b\u0438 <code>syslog<\/code>. <\/p>\n<p><code>-Werror=format-security<\/code> &#8212; \u0417\u0430\u043f\u0440\u0435\u0449\u0430\u0435\u0442 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u044e, \u0435\u0441\u043b\u0438 \u043d\u0430\u0439\u0434\u0435\u043d\u044b \u043e\u043f\u0430\u0441\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0432\u044b\u0432\u043e\u0434\u0430 \u0442\u0435\u043a\u0441\u0442\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0433\u0443\u0442 \u043f\u0440\u0438\u0432\u0435\u0441\u0442\u0438 \u043a \u0443\u0442\u0435\u0447\u043a\u0435 \u043f\u0430\u043c\u044f\u0442\u0438. <\/p>\n<p><code>-Werror=implicit-function-declaration<\/code> &#8212; \u043f\u0440\u0435\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0435 \u043e \u00ab\u043d\u0435\u044f\u0432\u043d\u043e\u043c \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0438\u00bb \u0432 \u043a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u043e\u0448\u0438\u0431\u043a\u0443, \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u044e\u0449\u0443\u044e \u0441\u0431\u043e\u0440\u043a\u0443.<\/p>\n<h4>6.3.4 \u0421\u0431\u043e\u0440\u043a\u0430 \u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 suricata.<\/h4>\n<p>\u041a \u044d\u0442\u043e\u043c\u0443 \u043c\u043e\u043c\u0435\u043d\u0442\u0443 \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u0442\u044c \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u044b \u0432\u0441\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u0434\u043b\u044f \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0445 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u0438 \u043e\u043f\u0446\u0438\u0439.<\/p>\n<p>\u0422\u0430\u043a \u0436\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438: <\/p>\n<p><code>libyaml-dev<\/code> &#8212; \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 YAML-\u043f\u0430\u0440\u0441\u0435\u0440\u0430 (\u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b suricata \u0438\u043c\u0435\u0435\u0442 yaml-\u0444\u043e\u0440\u043c\u0430\u0442). <\/p>\n<p><code>libseccomp-dev<\/code> &#8212; \u0421\u043e\u0437\u0434\u0430\u0435\u0442 \u00ab\u043f\u0435\u0441\u043e\u0447\u043d\u0438\u0446\u0443\u00bb \u0434\u043b\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0445 \u0432\u044b\u0437\u043e\u0432\u043e\u0432. <\/p>\n<p><code>libunwind-dev<\/code> &#8212; \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0432 \u043b\u043e\u0433-\u0444\u0430\u0439\u043b \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u044b\u0439 \u043e\u0442\u0447\u0435\u0442 \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u0430\u0432\u0430\u0440\u0438\u0439\u043d\u043e\u0433\u043e \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u044f suricata. <\/p>\n<p><code>libpcap-dev<\/code> &#8212; \u043d\u0443\u0436\u043d\u0430 \u0434\u043b\u044f \u0437\u0430\u0445\u0432\u0430\u0442\u0430 \u043f\u0430\u043a\u0435\u0442\u043e\u0432 \u0438\u0437 \u0441\u0435\u0442\u0435\u0432\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 \u0438 \u0447\u0442\u0435\u043d\u0438\u0435 \u0444\u0430\u0439\u043b\u043e\u0432 \u0434\u0430\u043c\u043f\u043e\u0432 (.pcap) <\/p>\n<p><code>libnl-3-dev<\/code> &#8212; \u0434\u043b\u044f \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0441 \u044f\u0434\u0440\u043e\u043c Linux \u0447\u0435\u0440\u0435\u0437 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 Netlink. <\/p>\n<p><code>libjemalloc-dev<\/code> &#8212; \u043f\u0440\u043e\u0434\u0432\u0438\u043d\u0443\u0442\u044b\u0439 \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u044c\u044e. \u0411\u043e\u043b\u044c\u0448\u0435 \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u0442 \u0434\u043b\u044f \u0432\u044b\u0441\u043e\u043a\u0438\u0445 \u043d\u0430\u0433\u0440\u0443\u0437\u043e\u043a.<\/p>\n<p>\u0414\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b suricata-update \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c:<\/p>\n<p><code>python3<\/code> \u0438 <code>python3-yaml<\/code><\/p>\n<p>\u0418\u0442\u043e\u0433\u043e\u0432\u0430\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0445 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a \u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c (\u0435\u0441\u043b\u0438 \u0432\u044b \u044d\u0442\u043e \u043d\u0435 \u0441\u0434\u0435\u043b\u0430\u043b\u0438): <\/p>\n<p><code>apt install -y python3 python3-yaml libyaml-dev libseccomp-dev libunwind-dev libpcap-dev libnl-3-dev libnetfilter-queue-dev libnetfilter-queue1 libnfnetlink-dev libnfnetlink0 libcap-ng-dev libnss3-dev libnspr4-dev libhtp-dev zlib1g-dev liblz4-dev libluajit-5.1-dev libssl-dev libmagic-dev libjansson-dev libpcre2-dev libmaxminddb0 libmaxminddb-dev mmdb-bin libhyperscan-dev ragel libhwloc-dev libnet1-dev liblz4-1 linux-libc-dev sudo libjemalloc-dev<\/code><\/p>\n<p>\u0412\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c: <\/p>\n<p> <code># cd \/usr\/local\/src\/<\/code> <\/p>\n<p> <code># wget https:\/\/github.com\/OISF\/suricata\/archive\/refs\/tags\/suricata-8.0.4.zip<\/code> <\/p>\n<p> <code># unzip -tq suricata-8.0.4.zip &amp;&amp; unzip -q suricata-8.0.4.zip<\/code> <\/p>\n<p> <code># mv suricata-suricata-8.0.4 suricata-8.0.4 <\/code><\/p>\n<p> <code># cd suricata-8.0.4<\/code> <\/p>\n<p> <code># .\/scripts\/bundle.sh<\/code>  # \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u043c suricata-update \u0432 \u0441\u043e\u0441\u0442\u0430\u0432 \u0441\u0431\u043e\u0440\u043a\u0438 <\/p>\n<p> <code># .\/autogen.sh<\/code><\/p>\n<p>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0435 \u043e\u043f\u0446\u0438\u0438 \u0434\u043b\u044f configure: <\/p>\n<p><code>--prefix=\/usr --sysconfdir=\/etc --localstatedir=\/var --datarootdir=\/usr\/share<\/code>  &#8212; \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0442 \u043a\u0443\u0434\u0430 \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0444\u0430\u0439\u043b\u044b suricata \u043f\u0440\u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435. \u0421 \u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u043e\u043f\u0446\u0438\u044f\u043c\u0438 \u0444\u0430\u0439\u043b\u044b \u0431\u0443\u0434\u0443\u0442 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u044b \u0432 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0435 \u043c\u0435\u0441\u0442\u0430 (\u043a\u0430\u043a \u0435\u0441\u043b\u0438 \u0431\u044b suricata \u0431\u044b\u043b\u0430 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0430 \u0438\u0437 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u0430\u0440\u0438\u0435\u0432).<\/p>\n<p><code>--enable-nfqueue<\/code>&#8212; \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 \u0434\u0432\u0438\u0436\u043a\u0430 NFQueue.<\/p>\n<p><code>--enable-suricata-update<\/code> &#8212; \u0441\u043e\u0431\u0438\u0440\u0430\u0442\u044c \u0438 \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0442\u044c \u00absuricata\u2011update\u00bb. <\/p>\n<p><code>--enable-ndpi<\/code> &#8212; \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 nDPI. <\/p>\n<p><code>--with-ndpi=\/usr\/local\/src\/nDPI-4.14<\/code> &#8212; \u043f\u0443\u0442\u044c \u043a \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0430\u043c nDPI. <\/p>\n<p><code>LDFLAGS=\"-ljemalloc\"<\/code> &#8212; \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 jemalloc \u043d\u0430 \u044d\u0442\u0430\u043f\u0435 \u043b\u0438\u043d\u043a\u043e\u0432\u043a\u0438.<\/p>\n<p>\u0412\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c: <\/p>\n<p> # <code>.\/configure --prefix=\/usr --sysconfdir=\/etc --localstatedir=\/var --datarootdir=\/usr\/share --enable-nfqueue --enable-suricata-update --enable-libmagic --enable-geoip --enable-hwloc --enable-gccprotect --enable-pie --enable-ndpi --with-ndpi=\/usr\/local\/src\/nDPI-4.14 --enable-gccprotect CFLAGS=\u201c-O3 -march=native -flto=auto -ffat-lto-objects -fstack-protector-strong -fstack-clash-protection -fcf-protection --param=ssp-buffer-size=4 -Wformat -Werror=format-security -Werror=implicit-function-declaration -std=c11\u201d LDFLAGS=\u201c-ljemalloc\u201d<\/code><\/p>\n<p>\u041f\u043e\u0441\u043b\u0435 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u044f configure \u0432\u043d\u0438\u043c\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u044c\u0442\u0435 \u0432 \u0432\u044b\u0434\u0430\u0432\u0430\u0435\u043c\u043e\u0439 \u0441\u0432\u043e\u0434\u043a\u0435, \u0447\u0442\u043e \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u044b \u0432\u0441\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u043e\u043f\u0446\u0438\u0438. \u0415\u0441\u043b\u0438 \u043d\u0435\u0442, \u0442\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u0435 \u043e\u0447\u0438\u0441\u0442\u043a\u0443 <code>\"make clean\"<\/code>, \u0434\u043e\u0431\u0430\u0432\u044c\u0442\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u043e\u043f\u0446\u0438\u0438 \u0434\u043b\u044f <code>configure<\/code> \u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u0435 <code>configure<\/code> \u0441\u043d\u043e\u0432\u0430. \u0415\u0441\u043b\u0438 \u0432\u0441\u0435 \u0443\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u0442, \u0442\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u0441\u0431\u043e\u0440\u043a\u0443:<\/p>\n<p> <code># make -j$(nproc)<\/code><\/p>\n<p>\u041f\u043e\u0441\u043b\u0435 \u0443\u0441\u043f\u0435\u0448\u043d\u043e\u0439 \u0441\u0431\u043e\u0440\u043a\u0438 \u0432\u043d\u0438\u043c\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u044c\u0442\u0435 \u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u0432\u0441\u0435\u0445 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0445 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u0438 \u043e\u043f\u0446\u0438\u0439:<\/p>\n<p> <code># .\/src\/suricata --build-info<\/code><\/p>\n<p>\u0415\u0441\u043b\u0438 \u0447\u0435\u0433\u043e-\u0442\u043e \u043d\u0435 \u0445\u0432\u0430\u0442\u0430\u0435\u0442, \u0442\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u0435 \u043e\u0447\u0438\u0441\u0442\u043a\u0443, \u0434\u043e\u0431\u0430\u0432\u044c\u0442\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u043e\u043f\u0446\u0438\u0438, \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u0435 configure \u0438 \u0441\u0431\u043e\u0440\u043a\u0443.<\/p>\n<p>\u0418\u043c\u0435\u044e\u0449\u0438\u0435\u0441\u044f \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438: <\/p>\n<p><code>make install<\/code> &#8212; \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432 suricata. <\/p>\n<p><code>make install-conf<\/code> &#8212; \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0441\u043e\u0437\u0434\u0430\u0441\u0442\/\u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442 \u0432\u0441\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0438. <\/p>\n<p><code>make install-rules<\/code> &#8212; \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442 \u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u043d\u0430\u0431\u043e\u0440 \u043f\u0440\u0430\u0432\u0438\u043b \u0438\u0437 Emerging Threats, \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0439 \u0434\u043b\u044f suricata. <\/p>\n<p><code>make install-full<\/code> &#8212; \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0438\u0442 \u0432\u0441\u0435 \u0432\u044b\u0448\u0435\u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u043e\u0435 (install, install-conf \u0438 install-rules).<\/p>\n<p>\u0412\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0443:<\/p>\n<p> <code># sudo make install &amp;&amp; sudo make install-conf &amp;&amp; sudo ldconfig<\/code><\/p>\n<\/div>\n<p>\u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/articles\/1027966\/\">https:\/\/habr.com\/ru\/articles\/1027966\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u0427\u0430\u0441\u0442\u044c I \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442: \u043e\u0431\u0449\u0438\u0435 \u0441\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u043e suricata; \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f \u043a \u0436\u0435\u043b\u0435\u0437\u0443; \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0440\u0435\u0436\u0438\u043c\u043e\u0432 \u0440\u0430\u0431\u043e\u0442\u044b; \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435, \u0445\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u0438\u0441\u0442\u0438\u043a\u0438 \u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 nDPI; \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0434\u0432\u0438\u0436\u043a\u043e\u0432.\u0412\u00a0\u044d\u0442\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u0430  \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0438\u0437 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0445 \u043a\u043e\u0434\u043e\u0432. \u0421\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435:6. \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0438\u0437 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0445 \u043a\u043e\u0434\u043e\u0432.   6.1. \u0421\u0431\u043e\u0440\u043a\u0430 nDPI.   6.2 \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 Rust.   6.3. \u0421\u0431\u043e\u0440\u043a\u0430 suricata.      6.3.1 \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u0434\u043b\u044f \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0445 \u0432\u0430\u043c \u0434\u0432\u0438\u0436\u043a\u043e\u0432.      6.3.2 \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u0434\u043b\u044f \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0445 \u0432\u0430\u043c \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u0438 \u043e\u043f\u0446\u0438\u0439.          6.3.2.1 \u041f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u044b\u0435 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b.          6.3.2.2 \u041f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u044b\u0435 \u043e\u043f\u0446\u0438\u0438.      6.3.3 \u041e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u0435 \u0444\u043b\u0430\u0433\u0438 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430 \u0434\u043b\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f suricata.      6.3.4 \u0421\u0431\u043e\u0440\u043a\u0430 \u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 suricata.Suricata, \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u0430\u044f \u0438\u0437\u00a0\u0440\u0435\u043f\u043e\u0437\u0438\u0442\u0430\u0440\u0438\u0435\u0432 Debian \u043d\u0435\u00a0\u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 nDPI. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0434\u043b\u044f\u00a0\u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 nDPI \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0442\u044c suricata \u0438\u0437\u00a0\u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0445 \u043a\u043e\u0434\u043e\u0432. \u0421\u043e\u0445\u0440\u0430\u043d\u044f\u0442\u044c \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0438 \u0431\u0443\u0434\u0435\u043c \u0432\/usr\/local\/src. \/usr\/local\/src\u00a0\u2014 \u044d\u0442\u043e \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439 \u043a\u0430\u0442\u0430\u043b\u043e\u0433 \u0432\u00a0Unix\u2011\u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445, \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u043d\u044b\u0439 \u0434\u043b\u044f\u00a0\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0445 \u043a\u043e\u0434\u043e\u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u0443\u044e\u0442\u0441\u044f \u0438 \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u043e\u043c \u0432\u0440\u0443\u0447\u043d\u0443\u044e, \u0430\u00a0\u043d\u0435\u00a0\u0447\u0435\u0440\u0435\u0437 \u043f\u0430\u043a\u0435\u0442\u043d\u044b\u0439 \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440 \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432\u0430.\u0414\u043b\u044f\u00a0\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u0441\u044f 4\u0413\u0411 \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u043e\u0433\u043e \u043c\u0435\u0441\u0442\u0430 \u0432 \/usr. \u0418\u0437\u00a0\u043d\u0438\u0445 \u043f\u0430\u043f\u043a\u0430 \u0441\u00a0\u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0430\u043c\u0438 \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u043d\u0438\u043c\u0430\u0442\u044c \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e 1,7\u0413\u0411. 6.1. \u0421\u0431\u043e\u0440\u043a\u0430 nDPI.\u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u043d\u0443\u0436\u043d\u043e \u0441\u043e\u0431\u0440\u0430\u0442\u044c nDPI. \u0413\u043b\u0430\u0432\u043d\u0430\u044f \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u044c \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0432\u00a0\u0442\u043e\u043c, \u0447\u0442\u043e\u00a0\u043d\u0430\u043c \u043d\u0443\u0436\u0435\u043d \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u044b\u0439 \u0440\u0435\u043b\u0438\u0437 \u0432\u0435\u0440\u0441\u0438\u0438 4, \u0442\u0430\u043a \u043a\u0430\u043a\u00a0suricata \u043d\u0430\u00a0\u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u043d\u0435\u00a0\u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 nDPI v5.0. \u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 nDPI \u0441\u043e\u0437\u0434\u0430\u043b\u0438 \u043d\u043e\u0432\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e \u0431\u0435\u0437\u00a0\u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0439 \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u0438. \u0412\u00a0\u0438\u0442\u043e\u0433\u0435 \u0441\u0443\u0440\u0438\u043a\u0430\u0442\u043e\u0432\u0446\u044b \u043d\u0435\u00a0\u0445\u043e\u0442\u044f\u0442 \u043c\u0435\u043d\u044f\u0442\u044c \u043a\u043e\u0434 \u043f\u043e\u0434\u00a0\u043d\u043e\u0432\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e, \u043d\u0430\u043f\u0438\u0441\u0430\u043b\u0438 \u043d\u0442\u043e\u043f\u043e\u0432\u0446\u0430\u043c \u0437\u0430\u043f\u0440\u043e\u0441 \u0438 \u0436\u0434\u0443\u0442 \u043f\u043e\u043a\u0430 \u0442\u0435 \u0432\u043d\u0435\u0441\u0443\u0442 \u043d\u0443\u0436\u043d\u044b\u0435 \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f. \u041d\u0442\u043e\u043f\u043e\u0432\u0446\u044b \u0438\u0434\u0443\u0442 \u0432\u043f\u0435\u0440\u0435\u0434 \u0438 \u0441\u0447\u0438\u0442\u0430\u044e\u0442, \u0447\u0442\u043e\u00a0\u043d\u043e\u0432\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f\u00a0\u2014 \u043d\u043e\u0432\u044b\u0435 \u043b\u0443\u0447\u0448\u0438\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438.\u0414\u043b\u044f \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0443\u0441\u043b\u043e\u0432\u0438\u044f:\u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b GNU (autoconf automake libtool pkg-config gettext flex bison)\u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 GNU C (gcc) \u0438\u043b\u0438 clang\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u0438 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u0434\u043b\u044f \u0441\u0431\u043e\u0440\u043a\u0438 nDPI:# sudo apt-get -y install wget curl build-essential git gettext flex bison libtool autoconf automake pkg-config libpcap-dev libjson-c-dev libnuma-dev libpcre2-dev libmaxminddb-dev librrd-dev\u0417\u0430\u0442\u0435\u043c \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u0435:# cd \/usr\/local\/src# wget https:\/\/github.com\/ntop\/nDPI\/archive\/refs\/tags\/4.14.zip# unzip -tq 4.14.zip &amp;&amp; unzip -q 4.14.zip# cd nDPI-4.14# .\/autogen.sh\u0411\u0443\u0434\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u043b\u044f configure \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u043e\u043f\u0446\u0438\u0438 \u0438 \u0444\u043b\u0430\u0433\u0438: &#8212;prefix=\/usr\/local &#8212; \u043f\u0440\u0435\u0444\u0438\u043a\u0441 \u0434\u043b\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438. \u0427\u0442\u043e\u0431\u044b \u0435\u0441\u043b\u0438 \u0432\u044b \u0440\u0435\u0448\u0438\u0442\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c &#8216;make install&#8217;, \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u0430\u044f \u0438\u0437 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u043e\u0432 \u0432\u0435\u0440\u0441\u0438\u044f \u043d\u0435 \u043a\u043e\u043d\u0444\u043b\u0438\u043a\u0442\u043e\u0432\u0430\u043b\u0430 \u0441 \u0432\u0435\u0440\u0441\u0438\u0435\u0439 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u043e\u0439 \u0438\u0437 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u0430\u0440\u0438\u0435\u0432 (\u0435\u0441\u043b\u0438 \u043e\u043d\u0430 \u0431\u0443\u0434\u0435\u0442 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0430 \u0434\u043b\u044f \u043a\u0430\u043a\u0438\u0445-\u043b\u0438\u0431\u043e \u043f\u0430\u043a\u0435\u0442\u043e\u0432). &#8212;with-pic &#8212; \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u0442 \u043f\u043e\u0437\u0438\u0446\u0438\u043e\u043d\u043d\u043e-\u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u044b\u0439 \u043a\u043e\u0434. -march=native &#8212; \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432\u0441\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u0432\u0430\u0448\u0435\u0433\u043e \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430. -flto=auto, -ffat-lto-objects &#8212; \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u044f \u043d\u0430 \u044d\u0442\u0430\u043f\u0435 \u043b\u0438\u043d\u043a\u043e\u0432\u043a\u0438. \u041a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u0430\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u0442 \u0432\u0441\u044e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443 \u0446\u0435\u043b\u0438\u043a\u043e\u043c, \u0430 \u043d\u0435 \u043f\u043e \u043e\u0434\u043d\u043e\u043c\u0443 \u0444\u0430\u0439\u043b\u0443, \u0447\u0442\u043e \u0434\u0430\u0435\u0442 \u043f\u0440\u0438\u0440\u043e\u0441\u0442 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438. -std=c11 &#8212; \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442 \u044f\u0437\u044b\u043a\u0430 C 2011 \u0433\u043e\u0434\u0430.\u0412\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u0435: # .\/configure &#8212;prefix=\/usr\/local &#8212;with-pic CFLAGS=&#187;-march=native -flto=auto -ffat-lto-objects -std=c11&#8243; # make -j$(nproc)\u041f\u043e\u0441\u043b\u0435 \u0443\u0441\u043f\u0435\u0448\u043d\u043e\u0439 \u0441\u0431\u043e\u0440\u043a\u0438 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0441\u043f\u0438\u0441\u043a\u0438 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u044b\u0445 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u043e\u0432: &#171;.\/example\/ndpiReader -a 0&#187;. \u041e\u043f\u0446\u0438\u044f &#171;-a 1&#187; \u043f\u043e\u043a\u0430\u0436\u0435\u0442 \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0438 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u043e\u0432, \u0430\u00a0\u043e\u043f\u0446\u0438\u044f &#171;-a 2&#187; \u043f\u043e\u043a\u0430\u0436\u0435\u0442 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0435 \u0440\u0438\u0441\u043a\u0438. &#171;.\/example\/ndpiReader -H&#187; \u043f\u043e\u043a\u0430\u0436\u0435\u0442 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u043d\u0443\u044e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e\u00a0\u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430\u0445 \u0438 \u0440\u0438\u0441\u043a\u0430\u0445. \u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u0441\u043e\u0431\u0440\u0430\u043d\u043d\u0443\u044e nDPI \u0432\u00a0\u0432\u0430\u0448\u0435\u0439 \u0441\u0435\u0442\u0438:\u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c: .\/example\/ndpiReader -i \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0434\u0430\u0442\u044c \u043f\u043e\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c, \u0437\u0430\u0442\u0435\u043c \u043f\u0440\u0435\u0440\u0432\u0430\u0442\u044c \u0441\u00a0\u043f\u043e\u043c\u043e\u0449\u044c\u044e Ctrl+C\u0412\u00a0\u043f\u0430\u043f\u043a\u0443 .\/utils \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u043f\u043e\u043c\u0435\u0441\u0442\u0438\u043b\u0438 \u043e\u0447\u0435\u043d\u044c \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0435 \u0441\u043a\u0440\u0438\u043f\u0442\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0433\u0443\u0442 \u043f\u0440\u0438\u0433\u043e\u0434\u0438\u0442\u044c\u0441\u044f.\u0412\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0443 nDPI \u043d\u0435\u00a0\u043d\u0443\u0436\u043d\u043e. \u0415\u0441\u043b\u0438 \u0432\u044b \u0435\u0451 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u0435, \u0442\u043e \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u0435 \u0432\u044b\u0432\u043e\u0434 &#8216;make install&#8217;, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e\u00a0\u0432\u00a0\u0441\u043b\u0443\u0447\u0430\u0435 \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u044f \u0432\u0441\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u043f\u0440\u0438\u0434\u0435\u0442\u0441\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u0432\u0440\u0443\u0447\u043d\u0443\u044e (\u0446\u0435\u043b\u0438 &#8216;make unuinstall&#8217; \u043d\u0435\u0442).6.2\u00a0\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 Rust.Suricata 8-\u0439 \u0432\u0435\u0442\u043a\u0438 \u0430\u043a\u0442\u0438\u0432\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 Rust (\u0432\u043a\u043b\u044e\u0447\u0430\u044f \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u043e\u0441\u0442\u044c \u0438 \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043f\u0430\u0440\u0441\u0435\u0440\u044b). \u041d\u043e\u00a0\u0432\u00a0\u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f\u0445 Debian 13\u00a0\u0432\u0435\u0440\u0441\u0438\u044f Rust \u043d\u0438\u0436\u0435, \u0447\u0435\u043c \u0442\u0440\u0435\u0431\u0443\u044e\u0442 \u0441\u0430\u043c\u044b\u0435 \u0441\u0432\u0435\u0436\u0438\u0435 \u0432\u0435\u0440\u0441\u0438\u0438 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u0430\u044f cbindgen \u0442\u0440\u0435\u0431\u0443\u0435\u0442 Rust v1.87.0). \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0434\u043b\u044f\u00a0\u0441\u0431\u043e\u0440\u043a\u0438 suricata \u043d\u0435\u00a0\u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442\u0441\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0439 Rust \u0438\u0437\u00a0\u0440\u0435\u043f\u043e\u0437\u0438\u0442\u0430\u0440\u0438\u0435\u0432. \u0421\u0430\u043c\u044b\u0439 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0439 \u043f\u0443\u0442\u044c \u0434\u043b\u044f\u00a0\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 Rust \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0439 \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438\u00a0\u2014 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0439 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0449\u0438\u043a rustup. \u0422\u043e\u0433\u0434\u0430 \u0432\u0435\u0441\u044c Rust\u2011\u043a\u043e\u0434 \u0432\u043d\u0443\u0442\u0440\u0438 suricata \u0431\u0443\u0434\u0435\u0442 \u0441\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043d \u0441\u00a0\u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u043c\u0438 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u044f\u043c\u0438 (\u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u0435\u0441\u043b\u0438 \u0432\u044b \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u0435 \u0444\u043b\u0430\u0433\u0438 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438 \u0432 config.toml).\u0415\u0441\u043b\u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d Rust \u0438\u0437\u00a0\u0440\u0435\u043f\u043e\u0437\u0438\u0442\u0430\u0440\u0438\u0435\u0432, \u0442\u043e \u0443\u0434\u0430\u043b\u044f\u0435\u043c \u0435\u0433\u043e: # apt remove rustc cargo\u0427\u0442\u043e\u0431\u044b \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c Rust \u0447\u0435\u0440\u0435\u0437 rustup \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u043c \u0434\u043b\u044f\u00a0\u0432\u0441\u0435\u0445 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439, \u0432\u043a\u043b\u044e\u0447\u0430\u044f \u0442\u0435\u0445, \u043f\u043e\u0434\u00a0\u043a\u043e\u0442\u043e\u0440\u044b\u043c\u0438 \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c suricata, \u043d\u0443\u0436\u043d\u043e \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439 \u043f\u0443\u0442\u044c \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 (\u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e rustup \u0441\u0442\u0430\u0432\u0438\u0442 \u0432\u0441\u0451 \u0432 $HOME\/.cargo, \u043d\u043e\u00a0\u043c\u044b \u043f\u0435\u0440\u0435\u043d\u0430\u043f\u0440\u0430\u0432\u0438\u043c \u0435\u0433\u043e \u0432 \/usr\/local). \u0423\u043a\u0430\u0436\u0438\u0442\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0449\u0438\u043a\u0443 \u043d\u043e\u0432\u044b\u0435 \u043f\u0443\u0442\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0435\u00a0\u0437\u0430\u0432\u0438\u0441\u044f\u0442 \u043e\u0442\u00a0\u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0433\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f:# export RUSTUP_HOME=\/usr\/local\/rustup# export CARGO_HOME=\/usr\/local\/cargo\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0439 \u0441\u043a\u0440\u0438\u043f\u0442 \u0441\u00a0\u0444\u043b\u0430\u0433\u043e\u043c -y (\u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u0435) \u0438 \u0431\u0435\u0437\u00a0\u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0444\u0438\u043b\u044f \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f: # curl &#8212;proto &#8216;=https&#8217; &#8212;tlsv1.2 -sSf https:\/\/sh.rustup.rs | sh -s \u2013 -y &#8212;no-modify-path\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u0442\u0435 \u043f\u0443\u0442\u0438 \u0434\u043b\u044f\u00a0\u0432\u0441\u0435\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b\u00a0\u2014 \u0447\u0442\u043e\u0431\u044b \u043b\u044e\u0431\u043e\u0439 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c (\u0438 \u0441\u043a\u0440\u0438\u043f\u0442\u044b \u0441\u0431\u043e\u0440\u043a\u0438) \u0432\u0438\u0434\u0435\u043b\u0438 rustc \u0438 cargo, \u0434\u043e\u0431\u0430\u0432\u044c\u0442\u0435 \u043f\u0443\u0442\u0438 \u0432\u00a0\u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0439 \u043f\u0440\u043e\u0444\u0438\u043b\u044c: \u0421\u043e\u0437\u0434\u0430\u0439\u0442\u0435 \u0444\u0430\u0439\u043b: # nano \/etc\/profile.d\/rust.sh\u0412\u0441\u0442\u0430\u0432\u044c\u0442\u0435 \u0442\u0443\u0434\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0441\u0442\u0440\u043e\u043a\u0438: export RUSTUP_HOME=\/usr\/local\/rustup export CARGO_HOME=\/usr\/local\/cargo export PATH=$PATH:\/usr\/local\/cargo\/bin \u041f\u0440\u0438\u043c\u0435\u043d\u0438\u0442\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f: # source \/etc\/profile.d\/rust.sh\u0421\u043e\u0437\u0434\u0430\u0439\u0442\u0435 \u0444\u0430\u0439\u043b \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 Rust \/usr\/local\/cargo\/config.toml \u0438 \u0432\u043d\u0435\u0441\u0438\u0442\u0435 \u0432\u00a0\u043d\u0435\u0433\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440: # cat \/usr\/local\/cargo\/config.toml[build] rustflags = [ \u201c-C\u201d, \u201ctarget-cpu=native\u201d, \u201c-C\u201d, \u201crelocation-model=pic\u201d, \u201c-C\u201d, \u201ccontrol-flow-guard=yes\u201d, \u201c-C\u201d, \u201clink-arg=-Wl,-z,relro,-z,now\u201d ][profile.release]opt-level = 3 lto = \u201cfat\u201d codegen-units = 1 strip = \u201csymbols\u201d panic = \u201cabort\u201d overflow-checks = true\u0423\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c cbindgen, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0439 \u0434\u043b\u044f\u00a0\u0441\u0431\u043e\u0440\u043a\u0438 suricata: # cargo install cbindgen6.3. \u0421\u0431\u043e\u0440\u043a\u0430 suricata.6.3.1 \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u0434\u043b\u044f \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0445 \u0432\u0430\u043c \u0434\u0432\u0438\u0436\u043a\u043e\u0432.\u0414\u043b\u044f \u0434\u0432\u0438\u0436\u043a\u0430 NFQueue: \u041d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438: libnetfilter-queue-dev, libnetfilter-queue1, libnfnetlink-dev, libnfnetlink0 (libnetfilter-queue \u0434\u043b\u044f \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 \u043e\u0447\u0435\u0440\u0435\u0434\u0435\u0439,libnfnetlink \u0434\u043b\u044f \u0441\u0432\u044f\u0437\u0438 \u0441 \u043f\u043e\u0434\u0441\u0438\u0441\u0442\u0435\u043c\u043e\u0439 Netfilter \u0432 \u044f\u0434\u0440\u0435). \u041e\u043f\u0446\u0438\u044f \u0434\u043b\u044f configure: &#8212;enable-nfqueue6.3.2\u00a0\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u0434\u043b\u044f\u00a0\u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0445 \u0432\u0430\u043c \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u0438 \u043e\u043f\u0446\u0438\u0439.6.3.2.1\u00a0\u041f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u044b\u0435 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b.\u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043a\u0430\u043a\u0438\u0435 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 suricata \u043c\u043e\u0436\u043d\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u0443 (\u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u043a\u00a0\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0435\u00a0\u2014 \u043f\u043e\u0441\u043b\u0435 \u0441\u0431\u043e\u0440\u043a\u0438): # suricata &#8212;build-info | grep FeaturesFeatures: NFQ PCAP_SET_BUFF AF_PACKET HAVE_PACKET_FANOUT LIBCAP_NG LIBNET1.1 HAVE_HTP_URI_NORMALIZE_HOOK PCRE_JIT HAVE_NSS HTTP2_DECOMPRESSION HAVE_LUA HAVE_JA3 HAVE_JA4 HAVE_LIBJANSSON TLS TLS_C11 MAGIC RUST POPCNT64\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u043c \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0431\u0443\u0434\u0435\u0442 \u0441\u043f\u0438\u0441\u043e\u043a \u0444\u043b\u0430\u0433\u043e\u0432. \u0424\u043b\u0430\u0433\u0438 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0442 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0445 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432: \u0441\u00a0\u043a\u0430\u043a\u0438\u043c\u0438 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430\u043c\u0438 \u0441\u043e\u0431\u0440\u0430\u043d\u0430 suricata, \u043a\u0430\u043a\u0438\u0435 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u044b, \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u044f\u0437\u044b\u043a\u0438, \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u044b \u0438 \u0434\u0440. \u043e\u043d\u0430 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0438 \u043a\u0430\u043a\u0438\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 suricata \u043e\u043d\u0438 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u044e\u0442. \u0424\u043b\u0430\u0433 NFQ\u00a0\u2014 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u0447\u0442\u043e\u00a0suricata \u0441\u043e\u0431\u0440\u0430\u043d\u0430 \u0441\u00a0\u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 \u0434\u0432\u0438\u0436\u043a\u0430 NFQueue.AF_PACKET\u00a0\u2014 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u0447\u0442\u043e\u00a0suricata \u0441\u043e\u0431\u0440\u0430\u043d\u0430 \u0441\u00a0\u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 \u0440\u043e\u0434\u043d\u043e\u0433\u043e \u0434\u043b\u044f\u00a0Linux \u0434\u0432\u0438\u0436\u043a\u0430 (\u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u0430 \u0437\u0430\u0445\u0432\u0430\u0442\u0430 \u043f\u0430\u043a\u0435\u0442\u043e\u0432) AF_PACKET.HAVE_PACKET_FANOUT\u00a0\u2014 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u0447\u0442\u043e\u00a0suricata \u0441\u043e\u0431\u0440\u0430\u043d\u0430 \u0441\u00a0\u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u0430 Fanout \u043d\u0430\u00a0\u0443\u0440\u043e\u0432\u043d\u0435 \u044f\u0434\u0440\u0430 Linux (\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0432\u043c\u0435\u0441\u0442\u0435 \u0441\u00a0\u0434\u0432\u0438\u0436\u043a\u043e\u043c AF_PACKET). \u042d\u0442\u043e \u043a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u0430\u0436\u043d\u0430\u044f \u043e\u043f\u0446\u0438\u044f \u0434\u043b\u044f\u00a0\u0440\u0430\u0431\u043e\u0442\u044b \u043d\u0430\u00a0\u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044f\u0445 1\u00a0\u0413\u0431\u0438\u0442\/\u0441 \u0438 \u0432\u044b\u0448\u0435. \u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u0430 Fanout \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0435\u0442:\u042d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e\u0435 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u0432\u0445\u043e\u0434\u044f\u0449\u0435\u0433\u043e \u0442\u0440\u0430\u0444\u0438\u043a\u0430 \u043c\u0435\u0436\u0434\u0443 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u043c\u0438 \u043f\u043e\u0442\u043e\u043a\u0430\u043c\u0438 (\u0432\u043e\u0440\u043a\u0435\u0440\u0430\u043c\u0438) suricata.\u041f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u0443\u044e \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0443: \u0431\u0435\u0437\u00a0\u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u0430 Fanout \u0432\u0441\u044f \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u043f\u043e\u00a0\u0437\u0430\u0445\u0432\u0430\u0442\u0443 \u043f\u0430\u043a\u0435\u0442\u043e\u0432 \u043b\u043e\u0436\u0438\u043b\u0430\u0441\u044c\u00a0\u0431\u044b \u043d\u0430\u00a0\u043e\u0434\u043d\u043e \u044f\u0434\u0440\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430. \u041f\u0440\u0438 1\u00a0\u0413\u0431\u0438\u0442\/\u0441 \u044d\u0442\u043e \u043f\u0440\u0438\u0432\u0435\u043b\u043e\u00a0\u0431\u044b \u043a 100% \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0435 \u043e\u0434\u043d\u043e\u0433\u043e \u044f\u0434\u0440\u0430 \u0438 \u043f\u043e\u0442\u0435\u0440\u0435 \u043f\u0430\u043a\u0435\u0442\u043e\u0432, \u0432\u00a0\u0442\u043e \u0432\u0440\u0435\u043c\u044f \u043a\u0430\u043a\u00a0\u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u044f\u0434\u0440\u0430 \u043f\u0440\u043e\u0441\u0442\u0430\u0438\u0432\u0430\u043b\u0438\u00a0\u0431\u044b.\u0421\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0446\u0435\u043b\u043e\u0441\u0442\u043d\u043e\u0441\u0442\u0438 \u043f\u043e\u0442\u043e\u043a\u043e\u0432 (Flow Integrity): \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c Fanout \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u0443\u0435\u0442, \u0447\u0442\u043e\u00a0\u0432\u0441\u0435 \u043f\u0430\u043a\u0435\u0442\u044b \u043e\u0434\u043d\u043e\u0439 \u0441\u0435\u0441\u0441\u0438\u0438 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0433\u043e TCP\u2011\u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f) \u0432\u0441\u0435\u0433\u0434\u0430 \u043f\u043e\u043f\u0430\u0434\u0443\u0442 \u0432\u00a0\u043e\u0434\u0438\u043d \u0438 \u0442\u043e\u0442\u00a0\u0436\u0435 \u043f\u043e\u0442\u043e\u043a suricata. \u042d\u0442\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0434\u043b\u044f\u00a0\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u0441\u0438\u0433\u043d\u0430\u0442\u0443\u0440, \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u043e\u0432 \u0438 \u0434\u0435\u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438.\u0411\u0430\u043b\u0430\u043d\u0441\u0438\u0440\u043e\u0432\u043a\u0443 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438: \u044f\u0434\u0440\u043e \u0441\u0430\u043c\u043e \u0441\u043b\u0435\u0434\u0438\u0442 \u0437\u0430\u00a0\u0442\u0435\u043c, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u0442\u043e\u043a\u0438\u00a0\u0431\u044b\u043b\u0438 \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u044b \u0440\u0430\u0432\u043d\u043e\u043c\u0435\u0440\u043d\u043e, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u0445\u044d\u0448\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 (\u043e\u0431\u044b\u0447\u043d\u043e \u043f\u043e 5-tuple: IP, \u043f\u043e\u0440\u0442\u044b \u0438 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b). \u041d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u0430\u044f \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430: \u043d\u0435\u0442. \u042d\u0442\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b \u044f\u0434\u0440\u0430 Linux (\u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u043d\u0430\u0447\u0438\u043d\u0430\u044f \u0441\u00a0\u0432\u0435\u0440\u0441\u0438\u0438 3.1). \u0414\u043b\u044f\u00a0\u0441\u0431\u043e\u0440\u043a\u0438 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0445 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u043e\u0432: linux-libc-dev. \u0423\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438, \u0435\u0441\u043b\u0438 \u0432\u044b \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442\u0435 suricata \u043d\u0430\u00a0Linux.LIBCAP_NG\u00a0\u2014 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u0447\u0442\u043e\u00a0suricata \u0441\u043e\u0431\u0440\u0430\u043d\u0430 \u0441\u00a0\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u043e\u0439 POSIX Capabilities. \u042d\u0442\u043e \u043a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u0430\u0436\u043d\u0430\u044f \u043e\u043f\u0446\u0438\u044f \u0434\u043b\u044f\u00a0\u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 \u0432\u0430\u0448\u0435\u0433\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0430. \u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 POSIX \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0435\u0442 \u043f\u0440\u0438\u043d\u0446\u0438\u043f \u00ab\u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0445 \u043f\u0440\u0438\u0432\u0438\u043b\u0435\u0433\u0438\u0439\u00bb. \u0412\u00a0Linux \u043f\u0440\u043e\u0446\u0435\u0441\u0441 root \u0438\u043c\u0435\u0435\u0442 \u0430\u0431\u0441\u043e\u043b\u044e\u0442\u043d\u0443\u044e \u0432\u043b\u0430\u0441\u0442\u044c, \u0447\u0442\u043e\u00a0\u043e\u043f\u0430\u0441\u043d\u043e. \u0415\u0441\u043b\u0438 \u0445\u0430\u043a\u0435\u0440 \u0432\u0437\u043b\u043e\u043c\u0430\u0435\u0442 \u043f\u0430\u0440\u0441\u0435\u0440 suricata, \u043e\u043d \u043f\u043e\u043b\u0443\u0447\u0438\u0442 \u043f\u043e\u043b\u043d\u044b\u0439 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c \u043d\u0430\u0434 \u0441\u0438\u0441\u0442\u0435\u043c\u043e\u0439. \u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 POSIX \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 suricata:\u0421\u0431\u0440\u043e\u0441\u0438\u0442\u044c \u043f\u0440\u0430\u0432\u0430 root: \u0441\u0440\u0430\u0437\u0443 \u043f\u043e\u0441\u043b\u0435 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0438 \u043e\u0442\u043a\u0440\u044b\u0442\u0438\u044f \u0441\u0435\u0442\u0435\u0432\u044b\u0445 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u0432 suricata \u043f\u0440\u0435\u0432\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f \u0432\u00a0\u043e\u0431\u044b\u0447\u043d\u043e\u0433\u043e \u0431\u0435\u0441\u043f\u0440\u0430\u0432\u043d\u043e\u0433\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, suricata).\u0421\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0443\u0436\u043d\u044b\u0435 \u00ab\u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u0438\u00bb: \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u0435\u0431\u0435\u00a0\u043b\u0438\u0448\u044c \u0443\u0437\u043a\u0438\u0435 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u044f, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u0434\u043b\u044f\u00a0\u0440\u0430\u0431\u043e\u0442\u044b: CAP_NET_RAW\u00a0\u2014 \u043f\u0440\u0430\u0432\u043e \u0437\u0430\u0445\u0432\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u00ab\u0441\u044b\u0440\u044b\u0435\u00bb \u043f\u0430\u043a\u0435\u0442\u044b \u0441\u00a0\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430.CAP_NET_ADMIN\u00a0\u2014 \u043f\u0440\u0430\u0432\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0441\u0435\u0442\u0435\u0432\u044b\u043c\u0438 \u043e\u0447\u0435\u0440\u0435\u0434\u044f\u043c\u0438 (\u043d\u0443\u0436\u043d\u043e \u0434\u043b\u044f\u00a0\u0440\u0435\u0436\u0438\u043c\u0430 IPS\/NFQ).CAP_IPC_LOCK\u00a0\u2014 \u043f\u0440\u0430\u0432\u043e \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u0430\u043c\u044f\u0442\u044c (\u043d\u0443\u0436\u043d\u043e \u0434\u043b\u044f\u00a0\u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0432\u044b\u0441\u043e\u043a\u043e\u0441\u043a\u043e\u0440\u043e\u0441\u0442\u043d\u044b\u0445 \u0434\u0432\u0438\u0436\u043a\u043e\u0432 \u0437\u0430\u0445\u0432\u0430\u0442\u0430). CAP_SYS_NICE\u00a0\u2014 \u043f\u0440\u0430\u0432\u043e \u043f\u043e\u0432\u044b\u0448\u0430\u0442\u044c \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432 \u0438 \u043f\u0440\u0438\u0432\u044f\u0437\u044b\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u044b \u043a\u00a0\u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u043c \u044f\u0434\u0440\u0430\u043c \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430.\u041d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u0430\u044f \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430: libcap-ng-dev \u0423\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442\u0441\u044f, \u0435\u0441\u043b\u0438 suricata \u0441\u043e\u0431\u0440\u0430\u043d\u0430 \u0441\u00a0\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u043e\u0439 libcap-ng-dev.LIBNET \u2014 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u0447\u0442\u043e\u00a0suricata \u0441\u043e\u0431\u0440\u0430\u043d\u0430 \u0441\u00a0\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u043e\u0439 libnet. \u0421\u043c. \u00abLibnet support\u00bb \u0432\u00a0\u043f\u0443\u043d\u043a\u0442\u0435 \u00ab6.3.2.2\u00a0\u041f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u044b\u0435 \u043e\u043f\u0446\u0438\u0438\u00bb.PCAP_SET_BUFF\u00a0\u2014 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u0447\u0442\u043e\u00a0suricata \u0441\u043e\u0431\u0440\u0430\u043d\u0430 \u0441\u00a0\u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 pcap_set_buffer_size. \u042d\u0442\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 suricata \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c \u043a\u043e\u043b\u044c\u0446\u0435\u0432\u043e\u0433\u043e \u0431\u0443\u0444\u0435\u0440\u0430 \u0437\u0430\u0445\u0432\u0430\u0442\u0430 \u043f\u0430\u043a\u0435\u0442\u043e\u0432 \u043d\u0430\u00a0\u0443\u0440\u043e\u0432\u043d\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 libpcap.HAVE_HTP_URI_NORMALIZE_HOOK \u2014 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u0447\u0442\u043e\u00a0suricata \u0441\u043e\u0431\u0440\u0430\u043d\u0430 \u0441\u00a0\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u043e\u0439 LibHTP (\u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442\u0441\u044f \u0440\u0430\u0437\u0431\u043e\u0440\u043e\u043c HTTP\u2011\u0442\u0440\u0430\u0444\u0438\u043a\u0430) \u0438 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0432\u043c\u0435\u0448\u0430\u0442\u044c\u0441\u044f \u0432\u00a0\u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0440\u0430\u0437\u0431\u043e\u0440\u0430 URI (\u0430\u0434\u0440\u0435\u0441\u0430&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-477409","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/477409","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=477409"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/477409\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=477409"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=477409"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=477409"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}