52AV手機A片王|52AV.one

 找回密碼
 立即註冊
查看: 1446|回復: 0

[防火牆] 防火牆強化套件fail2ban之安裝與設定

[複製鏈接]
發表於 2016-4-9 12:53:54 | 顯示全部樓層 |閱讀模式
tid=34794& 本帖最後由 IT_man 於 2016-4-9 22:36 編輯 # U2 y0 c/ X" k( R* ?

6 i+ j' E+ \$ x# r7 y我的環境:
" U7 C2 r) w0 wCentOS 6.7    這是RedHat系列的發行版本,與Fedora同系。(發行版本的資料會記錄在 /etc/redhat-release)0 z# Q+ B8 d$ j: V, Y$ x1 A
1.用yum安裝fail2ban
1 O* d5 y1 X! j0 L: |4 y/ ]) d" Yyum -y install fail2ban   (yum安裝的歷程會記錄在 /var/log/yum 中。如有需要確認已安裝的套件,可以回頭查詢這個記錄檔。); G. `+ {! G2 b" I1 B) d
% z4 P5 S# c6 D" N9 S! `4 B& a
如果上述步驟不能安裝fail2ban,那麼yum會顯示找不到該套件的時候,你需要進入這個步驟。) [, S4 K# t/ K1 B

) n! Z* ^' }/ U  F/ R! B  @7 Lyum會掃描套件庫來決定要如何安裝套件。然而由於fail2ban並不在預設的套件庫中,所以我們必須手動加入含有fail2ban的套件庫atrpms。3 Q5 n4 e5 ^1 \' ]' R: k

) m5 r, I# r+ `  d7 n4 z$ ]請編輯 /etc/yum.repos.d/CentOS-Base.repo :( _9 N- O% A  z
" l1 ?/ P2 H. E
vi /etc/yum.repos.d/CentOS-Base.repo
) T2 O$ i4 j6 @/ [在最後加入以下設定:5 I8 I0 \4 X: d( ^- }0 @, G

( G2 F7 M8 l" K[atrpms]
9 ], V* P6 L* S9 ~  `2 zname=Red Hat Enterprise Linux $releasever - $basearch - ATrpms# e/ c5 S* G0 e  U# s
baseurl=http://dl.atrpms.net/el$releasever-$basearch/atrpms/stable
7 y7 O& X7 t0 \) Qgpgkey=http://ATrpms.net/RPM-GPG-KEY.atrpms/ g( ]8 n. y: C8 e
gpgcheck=18 p; |$ m! T! T$ [) A0 E- K; x
enabled=1
/ y: z6 }5 B" T: R
, I9 v" @. F% n0 v8 c2. 設定fail2ban9 c+ y2 [6 V2 \+ I9 b
主要有兩個設定檔:/etc/fail2ban/fail2ban.conf 跟 /etc/fail2ban/jail.conf
2 o6 @5 `. ^- J7 x( rvi /etc/fail2ban/fail2ban.conf, g8 S9 W2 ?& e  }
修改 logtarget 的參數:
5 I3 d5 M6 m) _8 B3 ~! ]
  1. #預設的參數) y$ C+ @+ `0 f% E
  2. #logtarget = SYSLOG8 {; P9 n4 e$ I8 F7 g
  3. #調整後的參數
    + u- @# H- R) Z: I1 H# ?
  4. logtarget = /var/log/fail2ban.log
複製代碼
vi /etc/fail2ban/jail.conf (fail2ban主要的設定檔)1 R. p6 Z% X/ ]; ]5 o
  1. #預設的參數- V7 P5 J! I2 |
  2. #backend = auto 0 |: b5 G* v  M; ]8 O
  3. #調整後的參數( h' h! T) t( |) b
  4. backend = gamin
複製代碼
gamin是Linux的套件之一。如果缺少你可以用yum來安裝它# V$ F. L$ A$ v1 k
  1. [ssh-iptables]( D7 u0 F5 T1 {. Y6 R& ]' G! s) O# l+ i
  2. #是否啟用- X& F- m& v2 ~. N% h8 c
  3. enabled  = true
    ) k6 K' y) I" e$ Y
  4. #過濾名稱,使用預設的即可  o& f; o; ~; o, j0 M7 K8 t
  5. filter   = sshd' v& |; i4 V" g, x& Y9 |8 X& i
  6. #iptables設定& ~& }+ U  L8 M$ f' t
  7. action   = iptables[name=SSH, port=22022, protocol=tcp]5 w, q2 f" X/ x9 x  p) G/ s( Q  C8 r+ k
  8.            #發生阻擋時的寄信設定
    & A9 W/ w* E: v
  9.            sendmail-whois[name=SSH, dest=xxxx@gmail.com, sender=root@xxxx.com]. _* }4 m* R6 G1 d3 A  {) Z1 @0 \

  10.   A. M" P, r7 |/ ^. f
  11. #需要掃描的記錄檔
    " U  e  ~! h. P0 `4 J0 Y! j
  12. logpath  = /var/log/secure( k' ~+ b( W, P( b
  13. #最高嘗試錯誤次數0 w* \) f  `3 P7 n0 Q
  14. maxretry = 2
    5 F- k; K5 W! C9 l# F' g# o0 B3 d
  15. #阻擋的時間,-1表示永久阻擋; ]$ R5 C8 |+ ~, k5 V* k! }
  16. bantime  = -1
複製代碼
讓fail2ban重新啟動時不會重設阻擋IP規則7 [$ Y( \" R# l. P& _. p
在預設的設定中,fail2ban每次重新啟動時都會遺忘被阻擋的IP設定。舉例來說,如果我的電腦因為登入失敗被fail2ban擋掉,那麼只要fail2ban重新啟動,那麼我的電腦又可以繼續嘗試登入server。
4 x3 g5 D# Q" T5 C. s如果要讓fail2ban重新啟動時,不會重設阻擋的IP規則,則修改 /etc/init.d/fail2ban 的內容。0 w( y( |% i" G, @
vi /etc/init.d/fail2ban! C% Y5 n6 l7 L
找到start()的區塊,加入以下有#註解的設定:! Z. _: ?7 l3 W2 B* P& K) g
  1. start() {& E3 \, t2 m: Z
  2.     echo -n [        DISCUZ_CODE_3        ]quot;Starting fail2ban: "! T4 X9 f+ j0 m& G& J
  3.     getpid
    9 S3 @% ]0 L* j# R6 c; N
  4.     if [ -z "$pid" ]; then
    - o! J' x+ V* R
  5.         rm -rf /var/run/fail2ban/fail2ban.sock # unclean in case of restart fal2ban: P* a1 h" Y4 Y3 A. c5 M
  6.         $FAIL2BAN -x start > /dev/null7 Y2 E. @, f8 I9 v
  7.         RETVAL=$?4 @6 W0 J, L1 L" Y8 }! n
  8.     fi4 ~( h) I3 V3 L' p5 h! ?6 r" r1 w
  9.     if [ $RETVAL -eq 0 ]; then
    7 z0 N  q* h$ D7 H
  10.         touch /var/lock/subsys/fail2ban
      y8 m! `9 C# b* q
  11.         echo_success! v2 d: B3 N8 |* ?
  12.         /sbin/service iptables restart # reloads previously banned ip's
    & ~7 P/ v: K1 r
  13.     else: z$ r3 V* Y5 |4 F! w7 C1 J
  14.         echo_failure
    : l1 P1 T3 U. p
  15.     fi8 Q/ h  g' m* e; z
  16. 4 I" h& x8 e* [
  17.     echo: y: f4 _- X, ]
  18.     return $RETVAL
    2 D9 Z; K, J  h$ W, g
  19. }
複製代碼
再找到stop()區塊,加入以下
有#註解的設定:2 s: x* p) V0 R8 y2 I
  1. stop() {
    & I- V; h  E- R3 l. \& S; `( D% `
  2.     echo -n [        DISCUZ_CODE_4        ]quot;Stopping fail2ban: ": e5 J. x! a% Q2 L# K' W/ h
  3.     getpid! {- C6 ^1 ?# g. ~% G' j, y
  4.     RETVAL=$?
    - g- i7 `  K  S; L
  5.     if [ -n "$pid" ]; then
    7 G' O5 G% F6 L2 P5 P' ^
  6.        /sbin/service iptables save # saves banned ip's0 A  m8 ~+ O0 t! j9 l/ O
  7.         $FAIL2BAN stop > /dev/null
    * X+ R& s: s; c% `; j- `) S" u
  8.     sleep 14 J5 D' v$ D- J7 Y
  9.     getpid
    : m( i" W$ r: K* R; P
  10.     if [ -z "$pid" ]; then" f& e8 I6 `6 [; O# n
  11.         rm -f /var/lock/subsys/fail2ban
    - \" Q1 F7 E3 r
  12.         echo_success' j5 t& ~$ H/ u0 @& n( w' e
  13.     else4 x& M6 p! }; Q; B  u* D
  14.         echo_failure7 k4 l" B2 ]9 S, k7 @* r" ^
  15.     fi" o3 n' Z1 E$ \& s8 s& G4 E" c
  16.     else
    ( {. {. L3 B" |' M. F
  17.         echo_failure% n+ Z  t4 `9 R4 e$ m4 u' D
  18.     fi
    # `4 l6 P. C' I4 ?4 h% s
  19.     echo" p* Y6 Y* Q& Y7 }
  20.     return $RETVAL
複製代碼
3. 設定fail2ban開機順序
" ^& V) @, X  u! j; Q
2 S# |( H- p& j2 _9 dchkconfig --add fail2ban3 _. |, K) A+ p4 w, h7 K  x" n

6 G! v/ E1 K2 S$ e+ V7 J% I
5 j- b6 m2 i$ V: i8 }
p.s
  |- V1 j0 `1 z  W5 s, d* |  v以上參考 :
% V, y' i! H2 H( _http://blog.pulipuli.info/2011/07/centosfail2ban.html  $ k' m4 m9 I$ g) Q) U5 {
http://www.vixual.net/blog/archives/252$ l% e( w" e) v% w6 k& v$ c
回復

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即註冊

本版積分規則



中文酷站排行榜

本區塊內容依據『電腦網路內容分級處理辦法』為限制級網站,限定年滿18歲以上或達當地國家法定年齡人士方可進入,且願接受本站各項條款,未滿18歲 謝絕進入瀏覽。為防範未滿18歲之未成年網友瀏覽網路上限制級內容的圖文資訊,建議您可進行網路內容分級組織ICRA分級服務的安裝與設定。 (為還給愛護 本站的網友一個純淨的論壇環境,本站設有管理員)

QQ|小黑屋|手機板| 52AV手機A片王

GMT+8, 2024-12-25 14:45 , Processed in 0.062634 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回復 返回頂部 返回列表