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

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

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

[複製鏈接]
發表於 2016-4-9 12:53:54 | 顯示全部樓層 |閱讀模式
tid=34794& 本帖最後由 IT_man 於 2016-4-9 22:36 編輯 . }, s% w2 ?6 }( Z9 l0 i' o6 s

& i; K3 r2 [- s% g我的環境:
: L5 S/ E5 S/ u( O  ]+ aCentOS 6.7    這是RedHat系列的發行版本,與Fedora同系。(發行版本的資料會記錄在 /etc/redhat-release)* L, Q: j' x5 j2 m+ z; S7 W
1.用yum安裝fail2ban" a* D" F* A2 X1 J4 y% s+ j
yum -y install fail2ban   (yum安裝的歷程會記錄在 /var/log/yum 中。如有需要確認已安裝的套件,可以回頭查詢這個記錄檔。)6 ], O/ T7 g/ h* L- o

3 p) ?' Y" q; |9 p, _. N4 S如果上述步驟不能安裝fail2ban,那麼yum會顯示找不到該套件的時候,你需要進入這個步驟。
7 S6 v9 J& T+ v) A, \
, ~4 x  F" L" _" H% r7 c& f& A% w( \yum會掃描套件庫來決定要如何安裝套件。然而由於fail2ban並不在預設的套件庫中,所以我們必須手動加入含有fail2ban的套件庫atrpms。
5 a) E' [( V: V1 q% Q/ s7 r4 b& }
8 H/ _* q# i3 A5 z  B4 I! v/ Q0 ?請編輯 /etc/yum.repos.d/CentOS-Base.repo :0 o" j) y. f$ T6 B' A

; o( ^# t) n- \$ r4 F% fvi /etc/yum.repos.d/CentOS-Base.repo  C" t" c; N6 M5 |) U4 H
在最後加入以下設定:3 T8 |% e+ c& s
: @9 E" v7 v+ ~8 d' P) b
[atrpms]8 _0 y/ p; L4 N( \, O# H
name=Red Hat Enterprise Linux $releasever - $basearch - ATrpms
5 O6 v5 A$ E2 f/ T/ c: W% Qbaseurl=http://dl.atrpms.net/el$releasever-$basearch/atrpms/stable
( R8 ~! r# ~  C( r$ [% S8 Igpgkey=http://ATrpms.net/RPM-GPG-KEY.atrpms
3 A) L) s! t8 k$ y( k1 bgpgcheck=1: J! r9 Q/ Y" f
enabled=13 D( z4 o. y9 q$ {! L! y; R. S

! M" m1 \% C) m+ q2. 設定fail2ban6 Y/ q# \& R. P
主要有兩個設定檔:/etc/fail2ban/fail2ban.conf 跟 /etc/fail2ban/jail.conf
+ Y( I* r& m8 Bvi /etc/fail2ban/fail2ban.conf. I5 R' @+ D" `1 j, x: T  ]
修改 logtarget 的參數:" i, r, {( }1 I! O% P& Q; t
  1. #預設的參數$ E9 J5 m1 Q, G( ~. k0 F
  2. #logtarget = SYSLOG( j& }; Z6 j) [% [! W
  3. #調整後的參數2 o2 l9 S! X8 ^1 \! G6 t6 q  N  r
  4. logtarget = /var/log/fail2ban.log
複製代碼
vi /etc/fail2ban/jail.conf (fail2ban主要的設定檔)
6 r* m( X6 y1 g% d
  1. #預設的參數
    % Q9 P2 O, [9 z+ e  a, p* @
  2. #backend = auto
    9 }7 y5 E5 T0 q3 M! Q
  3. #調整後的參數
    " e  B5 R7 e+ Q' H
  4. backend = gamin
複製代碼
gamin是Linux的套件之一。如果缺少你可以用yum來安裝它
- f- d; C$ U/ U  ?' v# n& j
  1. [ssh-iptables]
    # f7 A( G6 q. X6 U- r
  2. #是否啟用# W- X- p& }$ J. g7 g+ k! w" M( m
  3. enabled  = true
    / B1 N% a3 g4 f3 D( a
  4. #過濾名稱,使用預設的即可1 v& H1 K) L$ F- ~( o: r+ |, ^
  5. filter   = sshd! t( [" J; _  @& q& u
  6. #iptables設定
    9 ]7 }# V$ M% v
  7. action   = iptables[name=SSH, port=22022, protocol=tcp]
    4 L+ D& g" c, x# n9 A% T: \6 e
  8.            #發生阻擋時的寄信設定
    8 J) r8 r$ \4 M
  9.            sendmail-whois[name=SSH, dest=xxxx@gmail.com, sender=root@xxxx.com]
    2 ]! J- z1 G! D; R3 V
  10. . y' W& U7 l6 @# v  \
  11. #需要掃描的記錄檔
    8 F- b- w- O  u3 L6 Y& U
  12. logpath  = /var/log/secure) O: H  i7 E" M; m9 o
  13. #最高嘗試錯誤次數8 r0 E: e1 I8 K. X( e5 Y$ _
  14. maxretry = 2
    0 M' e* I; T) V& C$ H; a- {5 w, V
  15. #阻擋的時間,-1表示永久阻擋* Y8 ?/ Q( W* F* X6 m
  16. bantime  = -1
複製代碼
讓fail2ban重新啟動時不會重設阻擋IP規則0 E0 N. e' [' _8 e0 p- ^. d5 M  L$ W
在預設的設定中,fail2ban每次重新啟動時都會遺忘被阻擋的IP設定。舉例來說,如果我的電腦因為登入失敗被fail2ban擋掉,那麼只要fail2ban重新啟動,那麼我的電腦又可以繼續嘗試登入server。
, u  r0 G6 k$ z& k如果要讓fail2ban重新啟動時,不會重設阻擋的IP規則,則修改 /etc/init.d/fail2ban 的內容。# U" f1 K3 f& O. ~
vi /etc/init.d/fail2ban
6 A% w8 {- I- T8 p3 w找到start()的區塊,加入以下有#註解的設定:, Y2 v( a0 a) E* }
  1. start() {
    + }2 o8 C8 h# O8 i; o* m  u
  2.     echo -n [        DISCUZ_CODE_3        ]quot;Starting fail2ban: "( Q# K. ~. i5 g% p% s
  3.     getpid4 o% R/ a; D& `; s' u6 r) z
  4.     if [ -z "$pid" ]; then/ N8 r8 D8 v* y! C) Q% V1 R* K2 z
  5.         rm -rf /var/run/fail2ban/fail2ban.sock # unclean in case of restart fal2ban7 c+ I9 u  ^- m1 ^2 X$ a
  6.         $FAIL2BAN -x start > /dev/null
    5 P9 H- D! s: T4 Z
  7.         RETVAL=$?
    - D+ ?2 A* ]6 J- Q& g
  8.     fi7 P7 c- J) U% o0 i" n6 f
  9.     if [ $RETVAL -eq 0 ]; then
    9 G! X1 E1 P/ R* _/ k$ X
  10.         touch /var/lock/subsys/fail2ban3 }2 D5 B' \: o1 Y& K3 p: _
  11.         echo_success* c2 R" q1 `8 o' z# l* o2 _
  12.         /sbin/service iptables restart # reloads previously banned ip's
    2 `. N: ?. H1 F+ G! C- O
  13.     else
    * V) V! h- y! w! @3 R
  14.         echo_failure' K: F1 E0 j% @6 K/ t) @
  15.     fi
    3 e; F6 _- T+ k( q/ ~

  16. . X# _0 o3 P0 U
  17.     echo
    . w" m( [4 Q' T% N9 ^0 h( w
  18.     return $RETVAL( O6 ~$ P# Z9 z7 J* J" i
  19. }
複製代碼
再找到stop()區塊,加入以下
有#註解的設定:
/ B3 J7 D2 o7 O) D. W
  1. stop() {8 q' L+ [4 z- G
  2.     echo -n [        DISCUZ_CODE_4        ]quot;Stopping fail2ban: "
    * z1 V/ L8 s$ B$ `2 `
  3.     getpid
    , Q$ a2 ^  O5 k' }
  4.     RETVAL=$?+ [8 I2 @0 U( {8 C8 v; R
  5.     if [ -n "$pid" ]; then
    * `- f7 A: w+ l
  6.        /sbin/service iptables save # saves banned ip's7 m8 J7 S% N5 ^3 H
  7.         $FAIL2BAN stop > /dev/null# V; N) [8 r( Q1 M. B4 M( u
  8.     sleep 1
    ! d/ |0 C7 ?6 _9 K
  9.     getpid
    ) P- H; k/ g- i: i, ]- g9 ^* w
  10.     if [ -z "$pid" ]; then3 h' w9 q- k, Z' W+ j! ^
  11.         rm -f /var/lock/subsys/fail2ban- V$ \3 N1 V/ U3 z
  12.         echo_success
    # `! Y8 u; Y# `0 _1 h9 ?! Q
  13.     else0 n( G1 A3 |0 w
  14.         echo_failure
    # J) Y, X* d# M/ a7 ]. z
  15.     fi3 J. F* q4 e7 w0 ^% k; S& ]# [
  16.     else
    ' ^- @2 l$ t, A# c2 e( J6 Z
  17.         echo_failure
    / e& p5 x: ?" L, l/ v- u
  18.     fi* M" R4 J, F8 o0 H9 x
  19.     echo
    . s) l0 ]4 U, z" n/ O
  20.     return $RETVAL
複製代碼
3. 設定fail2ban開機順序
( E; l( N6 F4 E0 O6 ~. n5 w# ?& C; J5 d2 X$ S" p( O
chkconfig --add fail2ban
) y9 D: j3 [. a% r% @& S: b' Y. x0 {* G6 j" T. J4 }
' k- l* w' T) \0 m! j9 r  x7 ^5 I
p.s
! w4 G$ Q& [$ ]1 Q/ g以上參考 :
7 h7 C7 }  u  t, Jhttp://blog.pulipuli.info/2011/07/centosfail2ban.html  
1 s; w/ o7 Z1 E4 W1 S4 @http://www.vixual.net/blog/archives/252
% D  k9 M1 |! \8 `7 Q! Z
回復

使用道具 舉報

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

本版積分規則



中文酷站排行榜

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

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

GMT+8, 2026-2-5 04:08 , Processed in 0.067848 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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