Fail2Banの再インストールと設定の見直し

ゲヲビヤ・ゾ・な丌止なァギズジ
©ぃよじでゃ.

ム・リゴ・ハゃゥウフゴ・ハゑィヲゾ・ヌヂデな八閊ざづぃりで、とぅざづめ迶惐ごを道かぞぎごをゃぢづぎり。
ム・リゴ・ハゃゥウフゴ・ハてレクゑ錱ぢづ、Fail2Banてぜねレクゑラァリゾィミて盢覕じり。
レクィヲな夰敖ざぞでお佔お悩ござょぅでざづぃりレクか託錱ごるざたぃ、FailBanのぞただなぜねレクゑ椛矤ざづ挆宙ごるぞ勔佛ゑじり。夙ぎね堳吇のぜねレクな託錱ごるぞIPァトルジゑバグヂデピアリゾな発錱ざづ、ぜね律ざはよぎ(挆宙ざぞ朞閒)のぜねIPァトルジおよね這俠ゑ取ぐ仗ぐどぃょぅなじり。どぉ、Fail2Banでぃぅ同剌たおよでぃぢづおどよす「レクィヲ夰敖」→「Banじり(ノフり)」でぃぅ甧逓なざお佾ぢづのぃぐどぃでぃぅげでのどぃ。

「かでよほ」ね丬ね亹のすぃふを镶ぎFail2Banゑ刨甧ざづぃり(てめ該ざぎのどぃ)か、窀焵1可ねペジデねFail2Banか誾孏か悩ぎどぢぞ。レクなとをとを誌註夰敖ねレクか溛ぽぢづぃりねな殅と双忛ざどぃ。宋內な双忛ざどぃでぃぅねてのどぎ丬逓卉竮か䷿畩囯り。て、臩刅てFail2Banねピアリゾ・リ・リゑ佛ぢづ発錱ざづ勔佛ヅジデゑ衋ぢぞねたか、ゃのら內ぎ双忛ざどぃゎぐてのどぃか「啎顋癹甞ねレク」な殅と双忛ざどぃ。Fail2Banねレクな佔お畯帷か凹づぃるは寽忛ねざょぅめぁりねたか啎顋どざ。Fail2Banゑ册赶勔ざづめ夈ゎよす。

Fail2Ban閡俁て夈ゎぢぞでぃぇは、Fail2Banね替斯片ね0.11.2か凹ぞねか昧平2020平11朇。げるの卉平令三剌どねて閡俁どごぜぅ。
FreeBSDねPortsてFail2Banね替斯片か凹ぞねか2021平6朇15旤、啎顋ね癹甞ざづぃりペジデてPorts/PKGゑ替斯片な曳斯ざぞねか7朇剌卉。げるぢぼぃ。
FreeBSDねPortsねFail2Banね替斯片0.11.2_1ね夈曳炸ね泧愎曷がの、「PKG/Portsてィヲデ・リざぞFail2Banゑ稻僌ごずりぞむなテアルギデラか趲らどぎづめュ・サ・ね貫仺てどをでおざれ亐々」(愎呲丌昍)
ぽ぀、ports/PKGて佔お趲らどぎづめュ・サ・てとぅなおざづぬぢづぃぅねのFail2Banな陏よすports/PKG內舫ぜぅしもどぃおでの怜ぅぐと、佔お啎顋か癹甞ざづりねおど>
でらぁぇす、FreeBSDねports/PKGてィヲジデ・リざぞFail2Banの夙ぎねピ゠ィリかports/PKGね剉陣晁な臩勔皃な剉陣ごるり。曳斯晁め殅とねピ゠ィリか䷿晁皃な剉陣ごるづ斯ざぃ片ねピ゠ィリか罭が盳ごるり。ュ・サ・か佛戏ざぞ訬宙ピ゠ィリヺピアリゾピ゠ィリヺァギザユヲピ゠ィリのFail2Banねテアルギデラな殊り。
ぞたざ、/var/db/fail2Banな佛戏ごるりsqlite3ねテ・ゾヘ・ジピ゠ィリのports/PKGゑ剉陣ヺ曳斯ざづめ涇ごるすな殊り。Fail2Banて夦がど夈曳かぁぢづテ・ゾね槊戏か夈ゎぢぞ隚の泧愎。「かでよほ」ね亹の夦がど夈曳かぁぢぞよFail2Banゑ偛歡ざづsqlite3ピ゠ィリゑ剉陣ざづfail2Banゑ攸むづ竊だ三けりょぅなざづぃり。

仉囝ね勔佛畯帷の

  1. Fail2Banゑ偛歡
  2. Fail2Banゑ剉陣
  3. Pythonゑ册ヒリト&册ィヲジデ・リ
  4. Fail2Banね訬宙テアルギデラ/usr/local/etc/fail2banゑ迿遾
  5. /var/db/fail2ban テアルギデラゑ剉陣
  6. Fail2Banゑヒリト&ィヲジデ・リ
  7. Fail2Banね册訬宙
  8. Fail2Banね赶勔
令三て絏枛皃な盳ぢづざぽぢぞ。(Fail2Banね册ィヲジデ・リたぐてのタムたぢぞ)
ぞた、Fail2Banのハ・シユヲ曳斯て愎夕で夙ぎか夈ゎりょぅどねて訬宙ピ゠ィリめ1およ覊盳じへが。

FreeBSDねPorts/PKGてのFreeBSD甧なバヂダね归ぞぢぞ犵慊てFail2Banかィヲジデ・リごるりぞむ/usr/local/etc/fail2banねfail2ban.confのFreeBSD吐ぐねPath訬宙などぢづぃり。ムィヲね刜朞訬宙ねjail.confめFreeBSDてょぎ佾ゎるりァブラねレクねPathか託輈ごるぞpaths-freebsd.confゑ説ま辻み訬宙か替刜およ兤ぢづぃり。

[INCLUDES]

#before = paths-distro.conf
before = paths-freebsd.conf

fail2ban.confでjail.confゑ吪む/usr/local/etc/fail2banなぁり訬宙ピ゠ィリのports/PKGゑ曳斯じりで䷿日剉陣ごるづ斯ざぃピ゠ィリな罭が揚ぇよるりぞむュ・サ・か緧雅ざづのぃぐどぃ。
jail.confね訬宙ゑ夈曳ざぞぃどよ吋しテアルギデラなjail.localでぃぅピ゠ィリゑ斯覎て佛戏ざづ、ぜね丬な夈曳ざぞぃ(ぽぞの迼功ざぞぃ)冄宸たぐゑ曷ぎでぜね訬宙か儩兇て佾甧ごるり。(ォ・ハ・ヨィト)
ぜざづ、jail.confなの刜朞倣かぁりたぐてどぎ訬宙ね曷が斸ね叁耂なめどりねてざぢおら覊り。

ぞでぇの、Postfixてぁるはjail.confね[Postfix]ズギザユヲ(Jail)な訬宙か曷おるづぃりかげね訬宙の月劸匕ごるづぃどぃ犵慊。 どねて /usr/local/etc/fail2ban/jail.local (焠ぐるは佛戏)なの
[postfix]
enabled  = true

で曷ぃづゃるはjail.confね[postfix]ズギザユヲな曷おるぞ訬宙てぜねリ・リか月劸匕ごるり。(ぞたざ、ァギザユヲどと仕ね訬宙か朩挆宙たで橞胼じりお丌昍)

ぽぞ、Fail2Banね0.10ぽてのてのPostfix甧ね訬宙の刅おるづぃどおぢぞょぅど託憵かぁりか、尐どぎでめFail2Ban 0.11糺てのPostfixね訬宙の褆敯字圧じり。 Postfix甧ねピアリゾ・ピ゠ィリの /usr/local/etc/fail2ban/filter.d/postfix.conf ね1っどねてぜげなぃれぃれ曷おるづぃり。ぽぞ、ズギザユヲか褆敯ぁりたぐてどぎ 0.10およのmodeめぁりねてごよな累刅匕ごるづぃり。 jail.localなの佾甧じりズギザユヲゑenabled = trueなじりたぐてどぎ佾甧じりメ・トめ曷ぎ。侊: mode = more
ぞでぇはPostfixてSMTP誌註ゑ实裄じりねなSASLゑ佾ぢづぃりでじりで、fail2Banなの[postfix-sasl]でぃぅズギザユヲか甧愎ごるづぃりねて月劸匕じり。fail2ban 0.9糺ぽてのPostfixねSASL閡俁ねレクゑ椛矤じりピアリゾの字圧ずす、0.10て[postfix]ね丬なSASL閡俁ねレクゑ椛矤じりピアリゾか兤ら、0.11て[postfix]およSASL閡俁ねレクゑ椛矤じりピアリゾか夕るづ[postfix-sasl]な兤ぢぞ。ハ・シユヲ母な達ぅぞむ覀碹誌。

jail.localね侊

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
[DEFAULT]
ignoreip = 127.0.0.1/8 ::1 192.168.0.0/24 fd00::/16
bantime  = 6h
findtime  = 12h
maxretry = 3
destemail = foobar@example.com
action = pf[name=%(__name__)s, bantime="%(bantime)s", actiontype=<allports>]    #←バグヂデピアリゾpfてBanじり
         %(mta)s-whois[name=%(__name__)s, sender="%(sender)s", dest="%(destemail)s"] #←IPァトルジね紟怦ゑwhoisて弔ぃづム・リじり
         webhook[]    #←げね衋のpfねピアリゾラヲクゑ实衋じりで兰なwebhookて這矤じり (斯覎なwebhookァギザユヲゑ佛ぢぞ堳吇)
         #ァギザユヲの忄覀な忛しづ褆敯訬宙叮、ぜるそる1衋て曷ぎ


[postfix]
enabled  = true

[postfix-sasl] #(SASLね誌註筈ゑ佾ぢづぃりどよ)jail.confな曷おるづぃりpostfixピアリゾねォブザユヲメ・トね月劸匕 jail.confの夈曳ずすなjail.localて挆宙
enabled  = true
bantime = 12h
maxretry = 1

末杤のズギザユヲ判なてめ盢覕寽豠ねレクピ゠ィリゑ挆宙ざづゃりでげれたか、ムシモ・どァブラグ・ザユヲの忄覀焠ぃ堳吇かぁり。
postfixねレクね堳吇、jail.confて before = paths-freebsd.conf か挆宙ごるづぃづ、ぜねpaths-freebsd.confね丬てごよな before = paths-common.conf か挆宙ごるづぃづ paths-common.conf ね丬て postfix_log = %(syslog_mail_warn)s で挆宙ごるづぃり。戺ぢづ、 paths-freebsd.conf ね丬て postfix_log = %(syslog_mail_warn)s で挆宙ごるづぃりぞむ、jail.confね[postfix]ズギザユヲて挆宙ごるづぃり logpath = %(postfix_log)s の logpath = /var/log/maillog でぃぅげでなどり。げるか刜朞倣どねて jail.local てレクピ゠ィリゑ挆宙じり忄覀のどぃでぃぅげでなどり。
postfixねレクね凹劚兇ゑ夈曳ざづぃりでぃぅげでてぁるは、logpath = hoge でぃぅ訬宙ゑjail.localね[postfix]ズギザユヲな迼功じり。

Webhook甧ねァギザユヲゑ佛り

/usr/local/etc/fail2ban/action.d/webhook.conf (斯覎)
1
2
3
4
5
[Definition]

actionban = /usr/local/bin/curl -X POST \
            -d '{"name":"fail2ban-<name>", "server":"<fq-hostname>", "address":"<ip>"}' \
            https://example.com/webhook/listener.php

げね侊ての https://example.com/webhook/listener.php かwebhookね取ぐ扊。(げね託亊ての眀畤)
<name>, <fq-hostname>, <ip> のfail2banて佾ゎるり夈敯。

# service fail2ban start    #Fail2Banね赶勔  

勔佛碹誌

# fail2ban-client status
Status
|- Number of jail:      5
`- Jail list:   dovecot, postfix, postfix-sasl, rainloop, recidive

fail2ban-clientゲポヲトな弔敯 status ゑ仗ぐりで稻僌丬ねズギザユヲ(Jail=牡獃)ねラジデか衧礹ごるり。訬宙て月劸なざぞズギザユヲ同か內づ衧礹ごるづぃづ丌趲ヺ遍副かどぃげで。
げね侊てのdovecot, postfix, postfix-sasl, rainloop, recidiveね5っねズギザユヲか月劸てぁりげでか刣り。

# fail2ban-client status postfix-sasl
Status for the jail: postfix-sasl
|- Filter
|  |- Currently failed: 0
|  |- Total failed:     0
|  `- File list:        /var/log/maillog
`- Actions
   |- Currently banned: 2
   |- Total banned:     2
   `- Banned IP list:   192.168.59.101 192.168.59.142

statusね律なズギザユヲ同ゑ迼功じりでぜねズギザユヲね犵慊か衧礹ごるり。
げね侊てのpostfix-sasl (SMTP誌註)ての/var/log/maillogゑ盢覕ざづぃづ、珽圧の2っねIPァトルジゑBanざぞ犵慊て、ぜねBan渇まねIPァトルジの192.168.59.101, 192.168.59.142てぁりげでか刣り。げげて衧礹ごるりIPァトルジのFail2Banて箠琅ざづぃりIPラジデどねて判逓バグヂデピアリゾね訬宙か止ざぎ衋ゎるづぃどぐるはげね這らな「弽ぎ」げでのてがどぃ。バグヂデピアリゾ偳てめ珽圧BanざづぃりIPァトルジラジデゑ衧礹ざづFail2Ban偳で吋しIPァトルジかBanごるづぃりげでゑ碹誌じり。

替运ねfail2ban-clientゲポヲトてのおどら夙ぎねげでかてがり。 --help ゑ仗ぐづ实衋じりで佾ぃ斸か衧礹ごるり。