<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: Раздел полезных советов: Пример правил nftables с реализацией port knoсking для открытия доступа к SSH</title>
    <link>https://www.opennet.dev/openforum/vsluhforumID3/130129.html</link>
    <description>Общий набор правил для nftables с реализацией техники &quot;port knoсking&quot;, позволяющей организовать временное открытие сетевого порта к SSH только после предварительной попытки соединения к определённой последовательности портов (порты задаются в параметрах &quot;define ssh_port_knock_&#091;1234&#093;&quot;).&lt;br&gt;&lt;br&gt;&lt;br&gt;   #!/usr/bin/env -S bash -c &apos;nft -cof &quot;$&#123;0&#125;&quot; &amp;&amp; nft -f &quot;$&#123;0&#125;&quot;&apos;&lt;br&gt;&lt;br&gt;   flush ruleset&lt;br&gt;&lt;br&gt;   table inet filter &#123;&lt;br&gt;&lt;br&gt;   define sshd_port = 2299;&lt;br&gt;&lt;br&gt;   set ssh_bad_ipv4_set &#123;&lt;br&gt;   type ipv4_addr;&lt;br&gt;   flags dynamic;&lt;br&gt;   timeout 15m;&lt;br&gt;   &#125;&lt;br&gt;&lt;br&gt;   set ssh_bad_ipv6_set &#123;&lt;br&gt;   type ipv6_addr;&lt;br&gt;   flags dynamic;&lt;br&gt;   timeout 15m;&lt;br&gt;   &#125;&lt;br&gt;&lt;br&gt;   set ssh_clients_ipv4_set &#123;&lt;br&gt;   type ipv4_addr;&lt;br&gt;   flags dynamic;&lt;br&gt;   timeout 3s;&lt;br&gt;   &#125;&lt;br&gt;&lt;br&gt;   set ssh_clients_ipv6_set &#123;&lt;br&gt;   type ipv6_addr;&lt;br&gt;   flags dynamic;&lt;br&gt;   timeout 3s;&lt;br&gt;   &#125;&lt;br&gt;&lt;br&gt;   set ssh_clients_candidates_ipv4_set &#123;&lt;br&gt;   type ipv4_addr . inet_service;&lt;br&gt;   flags dynamic;&lt;br&gt;   timeout 1s;&lt;br&gt;   &#125;&lt;br&gt;&lt;br&gt;   set ssh_clients_candidates_ipv6_set &#123;&lt;br&gt;   type ipv6</description>

<item>
    <title>Пример правил nftables с реализацией port knoсking для открытия доступа к SSH (mikhailnov)</title>
    <link>https://www.opennet.dev/openforum/vsluhforumID3/130129.html#38</link>
    <pubDate>Tue, 01 Aug 2023 17:29:43 GMT</pubDate>
    <description>Ага, чтобы успешный вход злоумышленника вообще не был залогирован?&lt;br&gt;</description>
</item>

<item>
    <title>Пример правил nftables с реализацией port knoсking для открытия доступа к SSH (Пряник)</title>
    <link>https://www.opennet.dev/openforum/vsluhforumID3/130129.html#37</link>
    <pubDate>Fri, 28 Jul 2023 12:50:06 GMT</pubDate>
    <description>Вспоминаем про RateLimit логов.&lt;br&gt;</description>
</item>

<item>
    <title>Пример правил nftables с реализацией port knoсking для открытия доступа к SSH (xen)</title>
    <link>https://www.opennet.dev/openforum/vsluhforumID3/130129.html#36</link>
    <pubDate>Fri, 28 Jul 2023 12:00:35 GMT</pubDate>
    <description>4 гига логов по сравнению с 20 мегабайт. Если места хватает, то не страшно, но на небольших машинках имеет вполне смысл&lt;br&gt;</description>
</item>

<item>
    <title>Пример правил nftables с реализацией port knoсking для открытия доступа к SSH (daWSL)</title>
    <link>https://www.opennet.dev/openforum/vsluhforumID3/130129.html#35</link>
    <pubDate>Fri, 21 Jul 2023 18:08:48 GMT</pubDate>
    <description>Коллеги, прошу прощения если я чего-то &quot;матёро недогоняю&quot;, но вот реально, эта &quot;простыня&quot; правда сильно &quot;православнее&quot; 6-ти строчек в iptables?&lt;br&gt;</description>
</item>

<item>
    <title>Пример правил nftables с реализацией port knoсking для открытия доступа к SSH (Аноним)</title>
    <link>https://www.opennet.dev/openforum/vsluhforumID3/130129.html#34</link>
    <pubDate>Mon, 10 Jul 2023 14:29:57 GMT</pubDate>
    <description>nftables - фаервол курильщика&lt;br&gt;iptables + ipset - фаервол здорового человека&lt;br&gt;</description>
</item>

<item>
    <title>Пример правил nftables с реализацией port knoсking для открытия доступа к SSH (Аноним)</title>
    <link>https://www.opennet.dev/openforum/vsluhforumID3/130129.html#33</link>
    <pubDate>Thu, 06 Jul 2023 14:04:38 GMT</pubDate>
    <description>Вот это и будет как раз именно тот самый день. Когда сильно пожалеешь о усложнении добавлением +1 сервиса веб-сервера и процессов разбора логов. Память там, лимиты на число файлов/соединений, прочие сложности упрощающего решения через добавление сложных процессов.&lt;br&gt;</description>
</item>

<item>
    <title>Пример правил nftables с реализацией port knoсking для открытия доступа к SSH (Страдивариус)</title>
    <link>https://www.opennet.dev/openforum/vsluhforumID3/130129.html#32</link>
    <pubDate>Wed, 05 Jul 2023 18:19:59 GMT</pubDate>
    <description>Логи засираются.&lt;br&gt;</description>
</item>

<item>
    <title>Пример правил nftables с реализацией port knoсking для открытия доступа к SSH (Аноним)</title>
    <link>https://www.opennet.dev/openforum/vsluhforumID3/130129.html#31</link>
    <pubDate>Mon, 26 Jun 2023 14:01:57 GMT</pubDate>
    <description>Такая простыня... проще надо быть.&lt;br&gt;&lt;br&gt;iptables -A INPUT -p tcp -m tcp --dport 1111 -m recent --set --name SSH0 --mask 255.255.255.255 --rsource -m comment --comment &quot;knock-knock port for SSH&quot; -j DROP&lt;br&gt;iptables -A INPUT -p tcp -m tcp --dport 22 -m recent --rcheck --seconds 60 --name SSH0 --mask 255.255.255.255 --rsource -m comment --comment &quot;60 seconds for SSH connect&quot; -j ACCEPT&lt;br&gt;</description>
</item>

<item>
    <title>Пример правил nftables с реализацией port knoсking для открытия доступа к SSH (Аноним)</title>
    <link>https://www.opennet.dev/openforum/vsluhforumID3/130129.html#30</link>
    <pubDate>Fri, 16 Jun 2023 19:49:55 GMT</pubDate>
    <description>Сложно очень. Я бы примерно так действовал для последовательности 1111, 2222, 3333, 4444.&lt;br&gt;&lt;br&gt;# Закрыть доступ к SSH&lt;br&gt;nft add rule filter input tcp dport 22 ct state new reject&lt;br&gt;&lt;br&gt;# Определить последовательность портов для порт-нокинга&lt;br&gt;nft add chain filter port_knocking &#123; type filter hook prerouting priority 0 &#092;; &#125;&lt;br&gt;nft add rule filter port_knocking tcp dport 1111 tcp flags syn counter accept&lt;br&gt;nft add rule filter port_knocking tcp dport 2222 tcp flags syn recent set policy timeout seconds 15 name &quot;knock2&quot; counter accept&lt;br&gt;nft add rule filter port_knocking tcp dport 3333 tcp flags syn recent set policy timeout seconds 15 name &quot;knock3&quot; counter accept&lt;br&gt;nft add rule filter port_knocking tcp dport 4444 tcp flags syn recent set policy timeout seconds 15 name &quot;knock4&quot; counter accept&lt;br&gt;&lt;br&gt;# Добавить временное правило на открытие доступа к SSH&lt;br&gt;nft add rule filter input tcp dport 22 ct state new ip saddr &amp;lt;клиент&amp;gt; recent check seconds 15 name &quot;knock4&quot; counter accept&lt;br&gt;&lt;br&gt;# Установить таймер на закрытие доступа к SSH&lt;br&gt;nft ad</description>
</item>

</channel>
</rss>
