{"id":18159,"date":"2014-01-16T06:04:48","date_gmt":"2014-01-15T22:04:48","guid":{"rendered":"https:\/\/2blog.ilc.edu.tw\/25793\/2014\/01\/16\/%e4%bb%a5-fail2ban-%e5%81%b5%e6%b8%ac%e7%b6%b2%e9%a0%81%e9%80%a3%e7%b7%9a%e6%94%bb%e6%93%8a\/"},"modified":"2021-03-18T17:23:48","modified_gmt":"2021-03-18T09:23:48","slug":"%e4%bb%a5-fail2ban-%e5%81%b5%e6%b8%ac%e7%b6%b2%e9%a0%81%e9%80%a3%e7%b7%9a%e6%94%bb%e6%93%8a","status":"publish","type":"post","link":"https:\/\/2blog.ilc.edu.tw\/25793\/2014\/01\/16\/%e4%bb%a5-fail2ban-%e5%81%b5%e6%b8%ac%e7%b6%b2%e9%a0%81%e9%80%a3%e7%b7%9a%e6%94%bb%e6%93%8a\/","title":{"rendered":"\u4ee5 fail2ban \u5075\u6e2c\u7db2\u9801\u9023\u7dda\u653b\u64ca"},"content":{"rendered":"<p>\u4f7f\u7528 Apache \/ MySQL \/ PHP \u4f86\u67b6\u8a2d\u7db2\u7ad9\u7684\u4eba\uff0c\u53ef\u80fd\u90fd\u6703\u6709\u5b89\u88dd phpMyAdmin \u4f86\u7ba1\u7406\u7db2\u9801\u8cc7\u6599\u5eab\uff0c\u4f46\u56e0\u70ba phpMyAdmin \u9019\u4e00\u500b\u5957\u4ef6\u53ef\u80fd\u5b58\u5728\u4e00\u4e9b\u5b89\u5168\u6027\u4e0a\u7684\u6f0f\u6d1e\uff0c\u6240\u4ee5\u6709\u4e9b\u653b\u64ca\u65b9\u5f0f\uff0c\u5c31\u6703\u641c\u5c0b\u7db2\u9801\u4e0a\u662f\u5426\u6709\u5b89\u88dd phpMyAdmin\uff0c\u4e26\u5617\u8a66\u9032\u884c\u653b\u64ca\u3002<br \/>\u4f86\u81ea\u7db2\u9801\u4e0a\u7684\u653b\u64ca<br \/># <span style=\"color: #ff0000\">grep admin \/var\/log\/httpd\/error_log<\/span><br \/><span style=\"color: #0000ff\">[error] [client 70.87.15.74] File does not exist: \/var\/www\/html\/admin<\/span><br \/><span style=\"color: #0000ff\">[error] [client 70.87.15.74] File does not exist: \/var\/www\/html\/dbadmin<\/span><br \/><span style=\"color: #0000ff\">[error] [client 70.87.15.74] File does not exist: \/var\/www\/html\/myadmin<\/span><br \/><span style=\"color: #0000ff\">[error] [client 70.87.15.74] File does not exist: \/var\/www\/html\/mysqladmin<\/span><br \/><span style=\"color: #0000ff\">[error] [client 70.87.15.74] File does not exist: \/var\/www\/html\/phpadmin<\/span><br \/><span style=\"color: #0000ff\">[error] [client 70.87.15.74] File does not exist: \/var\/www\/html\/phpmyadmin<\/span><br \/><span style=\"color: #0000ff\">[error] [client 70.87.15.74] File does not exist: \/var\/www\/html\/php-my-admin<\/span><br \/><span style=\"color: #0000ff\">[error] [client 70.87.15.74] File does not exist: \/var\/www\/html\/phpmyadmin1<\/span><br \/><span style=\"color: #0000ff\">[error] [client 70.87.15.74] File does not exist: \/var\/www\/html\/phpmyadmin2[@more@]<\/span>\u963b\u64cb\u7684\u65b9\u5f0f<br \/>\u5e95\u4e0b\u6587\u7ae0\u5167\u5bb9\u53c3\u8003 <a href=\"http:\/\/net.nthu.edu.tw\/2009\/security:fail2ban\" target=\"_blank\" rel=\"noopener noreferrer\">\u7db2\u8def\u7cfb\u7d71\u7d44 \/ Network Systems [security:fail2ban]<\/a><br \/>\u4fee\u6539 fail2ban \u8a2d\u5b9a\u6a94\uff0c\u52a0\u5165\u4e0b\u9762\u7684\u8a2d\u5b9a\u6a94<br \/># <span style=\"color: #ff0000\">vim \/etc\/fail2ban\/jail.conf<\/span><br \/><span style=\"color: #0000ff\">[apache-notexist]<\/span><\/p>\n<p><span style=\"color: #0000ff\">enabled\u00a0 = true<\/span><br \/><span style=\"color: #0000ff\">filter\u00a0\u00a0 = apache-notexist<\/span><br \/><span style=\"color: #0000ff\">action\u00a0\u00a0 = iptables[name=HTTP, port=http, protocol=tcp]<\/span><br \/><span style=\"color: #0000ff\">logpath\u00a0 = \/var\/log\/httpd\/*error_log<\/span><br \/><span style=\"color: #0000ff\">maxretry = 3<\/span><br \/><span style=\"color: #0000ff\">bantime\u00a0 = 600<\/span><\/p>\n<p>\u65b0\u589e fail2ban \u7684 apache-noexist filter \u8a2d\u5b9a\u6a94<br \/># <span style=\"color: #ff0000\">vim \/etc\/fail2ban\/filter.d\/apache-notexist.conf<\/span><br \/><span style=\"color: #0000ff\">[Definition]<\/span><\/p>\n<p><span style=\"color: #0000ff\"># Option:\u00a0 failregex<\/span><br \/><span style=\"color: #0000ff\"># Notes.:\u00a0 regex to match the password failure messages in the logfile. The<\/span><br \/><span style=\"color: #0000ff\">#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 host must be matched by a group named &#8220;host&#8221;. The tag &#8220;&lt;HOST&gt;&#8221; can<\/span><br \/><span style=\"color: #0000ff\">#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 be used for standard IP\/hostname matching and is only an alias for<\/span><br \/><span style=\"color: #0000ff\">#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 (?:::f{4,6}:)?(?P&lt;host&gt;S+)<\/span><br \/><span style=\"color: #0000ff\"># Values:\u00a0 TEXT<\/span><br \/><span style=\"color: #0000ff\">#<\/span><br \/><span style=\"color: #0000ff\">failregex = [[]client &lt;HOST&gt;[]] (File does not exist): .*<\/span><\/p>\n<p><span style=\"color: #0000ff\"># Option:\u00a0 ignoreregex<\/span><br \/><span style=\"color: #0000ff\"># Notes.:\u00a0 regex to ignore. If this regex matches, the line is ignored.<\/span><br \/><span style=\"color: #0000ff\"># Values:\u00a0 TEXT<\/span><br \/><span style=\"color: #0000ff\">#<\/span><br \/><span style=\"color: #0000ff\">ignoreregex =<\/span><\/p>\n<p># <span style=\"color: #ff0000\">service fail2ban restart<\/span><br \/><span style=\"color: #0000ff\">Stopping fail2ban:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 [\u00a0 OK\u00a0 ]<\/span><br \/><span style=\"color: #0000ff\">Starting fail2ban:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 [\u00a0 OK\u00a0 ]<\/span><\/p>\n<p># <span style=\"color: #ff0000\">fail2ban-client status<\/span><br \/><span style=\"color: #0000ff\">Status<\/span><br \/><span style=\"color: #0000ff\">|- Number of jail:\u00a0\u00a0\u00a0\u00a0\u00a0 3<\/span><br \/><span style=\"color: #0000ff\">`- Jail list:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <span style=\"color: #ff0000\">apache-notexist, pure-ftpd, ssh-iptables<\/span><\/span><\/p>\n<p>\u5617\u8a66\u5e7e\u6b21\u932f\u8aa4\u9023\u7dda<br \/><a id=\"res_2345714\" href=\"https:\/\/2blog.ilc.edu.tw\/wp-content\/uploads\/sites\/985\/25793\/25793-2345714.png\"><img decoding=\"async\" src=\"https:\/\/2blog.ilc.edu.tw\/wp-content\/uploads\/sites\/985\/25793\/previews-med\/25793-2345714.png\" border=\"0\" alt=\"\" \/><\/a><\/p>\n<p># <span style=\"color: #ff0000\">fail2ban-client status apache-notexist<\/span><br \/><span style=\"color: #0000ff\">Status for the jail: apache-notexist<\/span><br \/><span style=\"color: #0000ff\">|- filter<\/span><br \/><span style=\"color: #0000ff\">|\u00a0 |- File list:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \/var\/log\/httpd\/ssl_error_log \/var\/log\/httpd\/error_log<\/span><br \/><span style=\"color: #0000ff\">|\u00a0 |- Currently failed: 0<\/span><br \/><span style=\"color: #0000ff\">|\u00a0 `- Total failed:\u00a0\u00a0\u00a0\u00a0 3<\/span><br \/><span style=\"color: #ff0000\">`- action<\/span><br \/><span style=\"color: #ff0000\">\u00a0\u00a0 |- Currently banned: 1<\/span><br \/><span style=\"color: #ff0000\">\u00a0\u00a0 |\u00a0 `- IP list:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 192.168.1.1<\/span><br \/><span style=\"color: #ff0000\">\u00a0\u00a0 `- Total banned:\u00a0\u00a0\u00a0\u00a0 1<\/span><\/p>\n<p># <span style=\"color: #ff0000\">iptables -t filter -L fail2ban-HTTP -n<\/span><br \/><span style=\"color: #0000ff\">Chain fail2ban-HTTP (1 references)<\/span><br \/><span style=\"color: #0000ff\">target\u00a0\u00a0\u00a0\u00a0 prot opt source\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 destination<\/span><br \/><span style=\"color: #ff0000\">DROP\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 all\u00a0 &#8212;\u00a0 192.168.1.1\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0.0.0.0\/0<\/span><br \/><span style=\"color: #0000ff\">RETURN\u00a0\u00a0\u00a0\u00a0 all\u00a0 &#8212;\u00a0 0.0.0.0\/0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0.0.0.0\/0<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u4f7f\u7528 Apache \/ MySQL \/ PHP \u4f86\u67b6\u8a2d\u7db2\u7ad9\u7684\u4eba\uff0c\u53ef\u80fd\u90fd\u6703\u6709\u5b89\u88dd phpMyAdmin \u4f86\u7ba1\u7406\u7db2 &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/2blog.ilc.edu.tw\/25793\/2014\/01\/16\/%e4%bb%a5-fail2ban-%e5%81%b5%e6%b8%ac%e7%b6%b2%e9%a0%81%e9%80%a3%e7%b7%9a%e6%94%bb%e6%93%8a\/\" class=\"more-link\">\u95b1\u8b80\u5168\u6587<span class=\"screen-reader-text\">\u3008\u4ee5 fail2ban \u5075\u6e2c\u7db2\u9801\u9023\u7dda\u653b\u64ca\u3009<\/span><\/a><\/p>\n","protected":false},"author":55,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[138,132,137],"tags":[],"class_list":["post-18159","post","type-post","status-publish","format-standard","hentry","category-c-78483","category-c-78477","category-c-78482"],"meta_key":{"_encloseme":["1"],"lt_post_id":["468990"],"_pingme":["1"]},"_links":{"self":[{"href":"https:\/\/2blog.ilc.edu.tw\/25793\/wp-json\/wp\/v2\/posts\/18159"}],"collection":[{"href":"https:\/\/2blog.ilc.edu.tw\/25793\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/2blog.ilc.edu.tw\/25793\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/2blog.ilc.edu.tw\/25793\/wp-json\/wp\/v2\/users\/55"}],"replies":[{"embeddable":true,"href":"https:\/\/2blog.ilc.edu.tw\/25793\/wp-json\/wp\/v2\/comments?post=18159"}],"version-history":[{"count":1,"href":"https:\/\/2blog.ilc.edu.tw\/25793\/wp-json\/wp\/v2\/posts\/18159\/revisions"}],"predecessor-version":[{"id":19833,"href":"https:\/\/2blog.ilc.edu.tw\/25793\/wp-json\/wp\/v2\/posts\/18159\/revisions\/19833"}],"wp:attachment":[{"href":"https:\/\/2blog.ilc.edu.tw\/25793\/wp-json\/wp\/v2\/media?parent=18159"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/2blog.ilc.edu.tw\/25793\/wp-json\/wp\/v2\/categories?post=18159"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/2blog.ilc.edu.tw\/25793\/wp-json\/wp\/v2\/tags?post=18159"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}