{"id":7781,"date":"2025-06-15T10:57:53","date_gmt":"2025-06-15T02:57:53","guid":{"rendered":"https:\/\/jeng.lifenet.com.tw\/?p=7781"},"modified":"2025-06-16T14:06:40","modified_gmt":"2025-06-16T06:06:40","slug":"%e5%a6%82%e4%bd%95%e9%98%b2%e6%ad%a2%e6%83%a1%e6%84%8f%e9%80%a3%e7%b5%90","status":"publish","type":"post","link":"https:\/\/jeng.lifenet.com.tw\/?p=7781","title":{"rendered":"\u5982\u4f55\u9632\u6b62\u60e1\u610f\u9023\u7d50"},"content":{"rendered":"\n<p><a href=\"https:\/\/chatgpt.com\/share\/684e364e-dd08-8002-b363-a3582babee48\">https:\/\/chatgpt.com\/share\/684e364e-dd08-8002-b363-a3582babee48<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/chatgpt.com\/share\/684e630f-998c-8002-849b-fcb31d1eec86\">https:\/\/chatgpt.com\/share\/684e630f-998c-8002-849b-fcb31d1eec86<\/a><\/p>\n\n\n\n<p>sudo apt install fail2ban # Debian\/Ubuntu<br>sudo systemctl enable &#8211;now fail2ban<br><br>\u65b0\u589e jail<br><br>\/etc\/fail2ban\/jail.local<br><br>[DEFAULT]<br>\u5c01\u9396\u6642\u9593\u3001\u5075\u6e2c\u8996\u7a97\u3001\u5931\u6557\u6b21\u6578<\/p>\n\n\n\n<p>bantime = 1h ; \u5c01 1 \u5c0f\u6642\uff08\u53ef\u5beb 86400 \u6216 1d\uff09<br>findtime = 10m ; 10 \u5206\u9418\u5167<br>maxretry = 5 ; \u5931\u6557 5 \u6b21\u5c31\u5c01<br>ignoreip = 127.0.0.1\/8 192.0.2.10 ; \u767d\u540d\u55ae (\u4f8b: \u4f60\u7684\u56fa\u5b9a IP)<\/p>\n\n\n\n<p>[sshd] ; \u555f\u7528\u9810\u8a2d\u7684 sshd filter<br>enabled = true<br>port = ssh ; \u6216 22,2222 \u7b49\u81ea\u8a02 Port<br>logpath = %(sshd_log)s ; Debian=\/var\/log\/auth.log, RHEL=\/var\/log\/secure<br>backend = systemd ; \u7cfb\u7d71\u7528 systemd journal \u6642\u53ef\u555f\u7528<br><br>[apache-badbots]<br>enabled = true<br>port = http,https<br>filter = apache-badbots<br>logpath = \/var\/log\/apache2\/access.log<br>maxretry = 1<br>bantime = 86400 # \u5c01 1 \u5929<br><br>sudo systemctl restart fail2ban<br><br><br>\u770b\u5168\u5c40<br>sudo fail2ban-client status<br><br>\u770b sshd jail \u8a73\u7d30\u8cc7\u8a0a<br>sudo fail2ban-client status sshd<br><br>\u5168\u57df\u767d\u540d\u55ae\uff08\u6240\u6709 jail \u7686\u751f\u6548\uff09<br>[DEFAULT]<br>ignoreip = 127.0.0.1\/8 192.0.2.10 203.0.113.0\/24 2001:db8::\/32<br><br><br><br>\u81ea\u5b9a\u7fa9\u4e00\u4efd\u9069\u5408\u60a8\u683c\u5f0f\u7684 filter<br>\u5efa\u7acb <code>\/etc\/fail2ban\/filter.d\/apache-custombots.conf<\/code> \u4e26\u52a0\u5165\uff1a<br>[Definition]<br>failregex = ^ .<em>&#8220;(GET|POST|HEAD).<\/em>.env.<em>HTTP.<\/em>&#8221; [45]\\d{2} .+ &#8220;.<em>&#8221; ^ .<\/em>&#8220;(GET|POST|HEAD).<em>.git.<\/em>HTTP.<em>&#8221; [45]\\d{2} .+ &#8220;.<\/em>&#8220;<br>^ .<em>&#8220;(GET|POST|HEAD).<\/em>&#8221; [45]\\d{2} .+ &#8220;.<em>ZmEu.<\/em>&#8220;<br>^ .<em>&#8220;(GET|POST|HEAD).<\/em>&#8221; [45]\\d{2} .+ &#8220;.<em>Hello World.<\/em>&#8220;<br>^ .<em>&#8220;(GET|POST|HEAD).<\/em>&#8221; [45]\\d{2} .+ &#8220;.<em>Keydrop.<\/em>&#8220;<\/p>\n\n\n\n<p>ignoreregex =<br><br>\u7136\u5f8c\u5728 <code>jail.local<\/code> \u52a0\u5165\uff1a<br>[apache-custombots]<br>enabled = true<br>port = http,https<br>logpath = \/var\/log\/apache2\/access.log<br>filter = apache-custombots<br>maxretry = 1<br>findtime = 600<br>bantime = 1h<br><br>\u518d reload\uff1a<br>sudo fail2ban-client reload<br>sudo fail2ban-client status apache-custombots<\/p>\n\n\n\n<p><br><br>\u67e5\u770b iptables<br>sudo iptables -L <\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>https:\/\/chatgpt.com\/share\/684e364e-dd08-8002-b363-a3582 &hellip; <a href=\"https:\/\/jeng.lifenet.com.tw\/?p=7781\" class=\"more-link\">\u95b1\u8b80\u5168\u6587 <span class=\"screen-reader-text\">\u5982\u4f55\u9632\u6b62\u60e1\u610f\u9023\u7d50<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[11,27],"tags":[],"class_list":["post-7781","post","type-post","status-publish","format-standard","hentry","category-linux","category-27"],"_links":{"self":[{"href":"https:\/\/jeng.lifenet.com.tw\/index.php?rest_route=\/wp\/v2\/posts\/7781","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jeng.lifenet.com.tw\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jeng.lifenet.com.tw\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jeng.lifenet.com.tw\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jeng.lifenet.com.tw\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=7781"}],"version-history":[{"count":5,"href":"https:\/\/jeng.lifenet.com.tw\/index.php?rest_route=\/wp\/v2\/posts\/7781\/revisions"}],"predecessor-version":[{"id":7786,"href":"https:\/\/jeng.lifenet.com.tw\/index.php?rest_route=\/wp\/v2\/posts\/7781\/revisions\/7786"}],"wp:attachment":[{"href":"https:\/\/jeng.lifenet.com.tw\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=7781"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jeng.lifenet.com.tw\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=7781"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jeng.lifenet.com.tw\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=7781"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}