{"id":18154,"date":"2014-01-12T06:44:28","date_gmt":"2014-01-11T22:44:28","guid":{"rendered":"https:\/\/2blog.ilc.edu.tw\/25793\/2014\/01\/12\/%e4%bb%a5-fail2ban-%e5%81%b5%e6%b8%ac-ftp-%e9%80%a3%e7%b7%9a%e6%94%bb%e6%93%8a-vsftpd-%e7%af%87\/"},"modified":"2021-03-18T17:23:48","modified_gmt":"2021-03-18T09:23:48","slug":"%e4%bb%a5-fail2ban-%e5%81%b5%e6%b8%ac-ftp-%e9%80%a3%e7%b7%9a%e6%94%bb%e6%93%8a-vsftpd-%e7%af%87","status":"publish","type":"post","link":"https:\/\/2blog.ilc.edu.tw\/25793\/2014\/01\/12\/%e4%bb%a5-fail2ban-%e5%81%b5%e6%b8%ac-ftp-%e9%80%a3%e7%b7%9a%e6%94%bb%e6%93%8a-vsftpd-%e7%af%87\/","title":{"rendered":"\u4ee5 fail2ban \u5075\u6e2c ftp \u9023\u7dda\u653b\u64ca &#8211; vsFTPd \u7bc7"},"content":{"rendered":"<p>\u4fee\u6539 vsFTPd FTP Server \u8a2d\u5b9a<br \/># <span style=\"color: #ff0000\">vim \/etc\/vsftpd\/vsftpd.conf<\/span> <br \/><span style=\"color: #0000ff\"># The target log file can be vsftpd_log_file or xferlog_file.<\/span><br \/><span style=\"color: #0000ff\"># This depends on setting xferlog_std_format parameter<\/span><br \/><span style=\"color: #0000ff\">xferlog_enable=YES<\/span><br \/><span style=\"color: #0000ff\">#<\/span><br \/><span style=\"color: #0000ff\"># The name of log file when xferlog_enable=YES and xferlog_std_format=YES<\/span><br \/><span style=\"color: #0000ff\"># WARNING &#8211; changing this filename affects \/etc\/logrotate.d\/vsftpd.log<\/span><br \/><span style=\"color: #0000ff\">xferlog_file=\/var\/log\/xferlog<\/span><br \/><span style=\"color: #0000ff\">#<\/span><br \/><span style=\"color: #0000ff\"># Switches between logging into vsftpd_log_file and xferlog_file files.<\/span><br \/><span style=\"color: #0000ff\"># NO writes to vsftpd_log_file, YES to xferlog_file<\/span><br \/><span style=\"color: #0000ff\">#xferlog_std_format=YES<\/span><\/p>\n<p>\u91cd\u65b0\u555f\u52d5 vsFTPd FTP Server<br \/># <span style=\"color: #ff0000\">service vsftpd restart<\/span><br \/>[@more@]\u4fee\u6539 fail2ban \u8a2d\u5b9a<br \/># <span style=\"color: #ff0000\">vim \/etc\/fail2ban\/jail.conf<\/span><br \/><span style=\"color: #0000ff\">[vsftpd-iptables]<\/span><\/p>\n<p><span style=\"color: #0000ff\">enabled\u00a0 = true<\/span><br \/><span style=\"color: #0000ff\">filter\u00a0\u00a0 = vsftpd<\/span><br \/><span style=\"color: #0000ff\">action\u00a0\u00a0 = iptables[name=VSFTPD, port=ftp, protocol=tcp]<\/span><br \/><span style=\"color: #0000ff\">#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 sendmail-whois[name=VSFTPD, dest=you@example.com]<\/span><br \/><span style=\"color: #0000ff\">logpath\u00a0 = \/var\/log\/vsftpd.log<\/span><br \/><span style=\"color: #0000ff\">maxretry = 3<\/span><br \/><span style=\"color: #0000ff\">bantime\u00a0 = 86400<\/span><\/p>\n<p>\u91cd\u65b0\u555f\u52d5 fail2ban<br \/># <span style=\"color: #ff0000\">service fail2ban restart<\/span><\/p>\n<p>\u76ee\u524d\u5df2\u7d93\u6709\u4e8c\u500b\u963b\u64cb\u7684\u898f\u5247 ssh-iptables, vsftpd-iptables<br \/># <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 2<\/span><br \/><span style=\"color: #0000ff\">`- Jail list:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <span style=\"color: #ff0000\">ssh-iptables, vsftpd-iptables<\/span><\/span><\/p>\n<p>\u4ee5 Client IP 192.168.1.1 \u9023\u7dda Server IP 192.168.1.9 \u505a\u932f\u8aa4\u9023\u7dda<br \/><a id=\"res_2345712\" href=\"https:\/\/2blog.ilc.edu.tw\/wp-content\/uploads\/sites\/985\/25793\/25793-2345712.png\"><img decoding=\"async\" src=\"https:\/\/2blog.ilc.edu.tw\/wp-content\/uploads\/sites\/985\/25793\/previews-med\/25793-2345712.png\" border=\"0\" alt=\"\" \/><\/a><\/p>\n<p>\u53ef\u4ee5\u5728 vsftpd-iptables \u5217\u51fa\u6709\u5075\u6e2c\u5230\u7684\u9023\u7dda\u653b\u64ca<br \/># <span style=\"color: #ff0000\">fail2ban-client status vsftpd-iptables<\/span><br \/><span style=\"color: #0000ff\">Status for the jail: vsftpd-iptables<\/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\/vsftpd.log<\/span><br \/><span style=\"color: #0000ff\">|\u00a0 |- Currently failed: 0<\/span><br \/><span style=\"color: #0000ff\">|\u00a0 `- Total failed:\u00a0\u00a0\u00a0\u00a0 5<\/span><br \/><span style=\"color: #0000ff\">`- action<\/span><br \/><span style=\"color: #0000ff\">\u00a0\u00a0 |- Currently banned: 1<\/span><br \/><span style=\"color: #0000ff\">\u00a0\u00a0 |\u00a0 `- <span style=\"color: #ff0000\">IP list:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 192.168.1.1<\/span><\/span><br \/><span style=\"color: #0000ff\">\u00a0\u00a0 `- Total banned:\u00a0\u00a0\u00a0\u00a0 1<\/span><\/p>\n<p>\u5728\u9632\u706b\u7246\u898f\u5247\u4e0a\u7684\u898f\u5247<br \/># <span style=\"color: #ff0000\">iptables -t filter -L fail2ban-VSFTPD -n<\/span><br \/><span style=\"color: #0000ff\">Chain fail2ban-VSFTPD (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>\u4fee\u6539 vsFTPd FTP Server \u8a2d\u5b9a# vim \/etc\/vsftpd\/vsftpd.conf # &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/2blog.ilc.edu.tw\/25793\/2014\/01\/12\/%e4%bb%a5-fail2ban-%e5%81%b5%e6%b8%ac-ftp-%e9%80%a3%e7%b7%9a%e6%94%bb%e6%93%8a-vsftpd-%e7%af%87\/\" class=\"more-link\">\u95b1\u8b80\u5168\u6587<span class=\"screen-reader-text\">\u3008\u4ee5 fail2ban \u5075\u6e2c ftp \u9023\u7dda\u653b\u64ca &#8211; vsFTPd \u7bc7\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,130,132],"tags":[],"class_list":["post-18154","post","type-post","status-publish","format-standard","hentry","category-c-78483","category-c-78475","category-c-78477"],"meta_key":{"_encloseme":["1"],"lt_post_id":["468985"],"_pingme":["1"]},"_links":{"self":[{"href":"https:\/\/2blog.ilc.edu.tw\/25793\/wp-json\/wp\/v2\/posts\/18154"}],"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=18154"}],"version-history":[{"count":1,"href":"https:\/\/2blog.ilc.edu.tw\/25793\/wp-json\/wp\/v2\/posts\/18154\/revisions"}],"predecessor-version":[{"id":19830,"href":"https:\/\/2blog.ilc.edu.tw\/25793\/wp-json\/wp\/v2\/posts\/18154\/revisions\/19830"}],"wp:attachment":[{"href":"https:\/\/2blog.ilc.edu.tw\/25793\/wp-json\/wp\/v2\/media?parent=18154"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/2blog.ilc.edu.tw\/25793\/wp-json\/wp\/v2\/categories?post=18154"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/2blog.ilc.edu.tw\/25793\/wp-json\/wp\/v2\/tags?post=18154"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}