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

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

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

[複製鏈接]
發表於 2016-4-9 12:53:54 | 顯示全部樓層 |閱讀模式
tid=34794& 本帖最後由 IT_man 於 2016-4-9 22:36 編輯
0 f$ [4 r9 D+ B9 O* @3 i( r/ H; ?9 W. G8 p
我的環境:
/ V7 v* ?* b3 q2 f( I" q3 r  m& FCentOS 6.7    這是RedHat系列的發行版本,與Fedora同系。(發行版本的資料會記錄在 /etc/redhat-release)% u3 I. I2 G) x8 f; {# ]* \1 H
1.用yum安裝fail2ban9 O. \4 a. A7 F. o- s+ w
yum -y install fail2ban   (yum安裝的歷程會記錄在 /var/log/yum 中。如有需要確認已安裝的套件,可以回頭查詢這個記錄檔。)0 ]) L9 r5 v7 I$ R# I
0 k% P3 l. }' }/ j
如果上述步驟不能安裝fail2ban,那麼yum會顯示找不到該套件的時候,你需要進入這個步驟。2 [( B1 d& H% k  b. M4 a' U% Q
: x" K' h! p& t4 k5 c+ ^# X
yum會掃描套件庫來決定要如何安裝套件。然而由於fail2ban並不在預設的套件庫中,所以我們必須手動加入含有fail2ban的套件庫atrpms。
- D4 Z3 O. U. s7 [" a" |
! b8 g' i5 b0 `  {+ O2 z: |5 R4 h請編輯 /etc/yum.repos.d/CentOS-Base.repo :
; y0 i" [& R2 j8 n/ B- ^! G' Q, n6 _
3 G# f/ e! x8 R3 X* a  Svi /etc/yum.repos.d/CentOS-Base.repo; }7 w% u$ u2 ]' e+ f0 H
在最後加入以下設定:( {7 Z$ m4 ~, l' |
* T* \1 a: t5 p0 J
[atrpms]
1 `3 z* s7 J; l# _name=Red Hat Enterprise Linux $releasever - $basearch - ATrpms
% u" F7 g( W$ U) \: Obaseurl=http://dl.atrpms.net/el$releasever-$basearch/atrpms/stable
6 l/ a5 s4 c; z0 Mgpgkey=http://ATrpms.net/RPM-GPG-KEY.atrpms2 s1 Z. d& c/ C
gpgcheck=1
' e/ I7 j6 n- W: x& nenabled=1
2 ]2 ^8 ^2 {7 X% N1 Q$ [3 X4 D' D% J  p# h! {' s2 I  c6 k
2. 設定fail2ban* G) a7 }! h! C; ]6 A/ N9 c5 x# A
主要有兩個設定檔:/etc/fail2ban/fail2ban.conf 跟 /etc/fail2ban/jail.conf( I7 n8 [4 o  O% w5 |
vi /etc/fail2ban/fail2ban.conf
; D! K2 G6 a, M: l8 L+ p! c修改 logtarget 的參數:
7 l8 d' }( X" o
  1. #預設的參數
    1 r5 @. }7 L2 y& X) c
  2. #logtarget = SYSLOG
    5 Y; l+ l* r. k8 M' ^# O
  3. #調整後的參數
    ; a% A( Q. W) O  m7 p5 w
  4. logtarget = /var/log/fail2ban.log
複製代碼
vi /etc/fail2ban/jail.conf (fail2ban主要的設定檔)1 S) H: M# k: y: k$ k
  1. #預設的參數
    # l5 x, j! D8 w4 f8 X7 P5 `
  2. #backend = auto ' N) X' a: f7 j6 U! U
  3. #調整後的參數+ f" j# l! t: E  r
  4. backend = gamin
複製代碼
gamin是Linux的套件之一。如果缺少你可以用yum來安裝它
3 _. f% ^0 R5 _5 {- }$ d7 X
  1. [ssh-iptables]
    % I0 G. v% h! p. G( {; p
  2. #是否啟用
    " B' c1 y& ?+ O8 Q0 i: y5 O
  3. enabled  = true! ?; I% _2 z: L7 ]$ n- S# q
  4. #過濾名稱,使用預設的即可
    2 Y& N$ }: x+ Z3 n* a+ t
  5. filter   = sshd
    # w" T' f9 m, P$ }0 x% j, E
  6. #iptables設定3 @4 E- N" |2 d% j+ b, n: ^
  7. action   = iptables[name=SSH, port=22022, protocol=tcp]: Z9 r- d- O0 C. G/ R. v1 A
  8.            #發生阻擋時的寄信設定
    8 K. R& b  @& {# C6 ~) b/ k) g' N
  9.            sendmail-whois[name=SSH, dest=xxxx@gmail.com, sender=root@xxxx.com]) X9 k' w4 z3 `0 }1 {* S1 V

  10. $ Q( q- W7 [8 L6 Y* ], U
  11. #需要掃描的記錄檔+ h  [6 z: ~2 U
  12. logpath  = /var/log/secure
    . O3 [% r9 N2 t& W, ~
  13. #最高嘗試錯誤次數
    % f+ |. U: |7 i/ |2 [8 o  P* h
  14. maxretry = 2
    . P7 {8 {" D0 d& i0 s% `3 O  M
  15. #阻擋的時間,-1表示永久阻擋
    - d8 w, ~& D" y
  16. bantime  = -1
複製代碼
讓fail2ban重新啟動時不會重設阻擋IP規則
3 Y$ F6 O8 D' P0 B  P, G+ ]在預設的設定中,fail2ban每次重新啟動時都會遺忘被阻擋的IP設定。舉例來說,如果我的電腦因為登入失敗被fail2ban擋掉,那麼只要fail2ban重新啟動,那麼我的電腦又可以繼續嘗試登入server。
8 K7 S3 P$ \& P. X  @如果要讓fail2ban重新啟動時,不會重設阻擋的IP規則,則修改 /etc/init.d/fail2ban 的內容。& B/ R  M' l9 @% R) g- l
vi /etc/init.d/fail2ban
0 H5 F& S" ^, _( t) h找到start()的區塊,加入以下有#註解的設定:
; v( C% c* h) e6 e7 y, `; L
  1. start() {
    : ~0 z. x9 o; y5 e" M9 s: W. {
  2.     echo -n [        DISCUZ_CODE_3        ]quot;Starting fail2ban: "& x) ]& U' F. B
  3.     getpid
    ! {& J7 n+ p8 f9 o* Z) ^3 j
  4.     if [ -z "$pid" ]; then
    ( S' K7 y: O9 F# b. k5 l$ D' t
  5.         rm -rf /var/run/fail2ban/fail2ban.sock # unclean in case of restart fal2ban
    % P8 Y5 C; f: n. |) Y. n. n
  6.         $FAIL2BAN -x start > /dev/null  e3 w5 C2 S( \# Q+ X& v% x
  7.         RETVAL=$?
    3 p4 w& T7 T6 b4 H* d# R0 R
  8.     fi( X- ^, ?4 c- Y! Q. x# e
  9.     if [ $RETVAL -eq 0 ]; then
    * c/ Q) m3 H) b6 w3 u& }
  10.         touch /var/lock/subsys/fail2ban+ x( V# f7 M* E: ^0 a& h
  11.         echo_success
    ! ^/ D% Z9 r, u, p5 e
  12.         /sbin/service iptables restart # reloads previously banned ip's
    - n5 y: b$ F) @7 @: c) s" W& M
  13.     else( q  f% i& \2 |
  14.         echo_failure7 M& M  a5 r, L; x* m& g' \
  15.     fi' \& ~" A: P5 J2 v
  16. , R: P. \8 S/ b! S& E! x$ T0 h
  17.     echo
    9 D6 ^% S  r2 W. D5 I5 v
  18.     return $RETVAL3 ^7 q, a1 M) _3 F; k* B* S
  19. }
複製代碼
再找到stop()區塊,加入以下
有#註解的設定:) ^' A9 u* Q) M/ F  a4 d0 {6 p
  1. stop() {
    - y5 R+ F$ i* X* ^* a  C% t
  2.     echo -n [        DISCUZ_CODE_4        ]quot;Stopping fail2ban: "
    1 [4 i2 \9 q3 G9 V
  3.     getpid
    " w0 {- F. ~$ L+ }
  4.     RETVAL=$?
    * M/ D1 j4 U: m/ w7 k
  5.     if [ -n "$pid" ]; then7 q# M2 U8 Z# n+ Y, h6 `1 b
  6.        /sbin/service iptables save # saves banned ip's
    ; ~; g% ]4 E& H- [( a
  7.         $FAIL2BAN stop > /dev/null  Q0 D7 y2 x  W7 h2 m
  8.     sleep 15 ^; t& ^$ v* y+ Q! {; a
  9.     getpid
    ) z! O! r# h6 f9 g1 d) Y) e
  10.     if [ -z "$pid" ]; then
    6 }: T% r9 B/ P6 w$ [
  11.         rm -f /var/lock/subsys/fail2ban
    + v; ~+ S( T  {8 \$ y
  12.         echo_success0 w- W( {4 b4 n* A
  13.     else
    8 e& U. ]% f' s! v$ P- K) F! j' D
  14.         echo_failure/ _  Z$ E9 z+ a7 w0 P
  15.     fi/ h6 b) z& m( p0 n2 P8 M# ?
  16.     else) V2 w' ~8 ]1 z4 l
  17.         echo_failure
    / u# T. b# ]' e( X  d
  18.     fi
    ( q9 g$ v9 g% E1 E: x* X# ]
  19.     echo) ^' d+ b% J# ~' ?8 p* F
  20.     return $RETVAL
複製代碼
3. 設定fail2ban開機順序
5 f/ a0 z. L! _7 S: G* b8 x
: Y) E0 ^# [1 n$ D( [& a9 ~+ @1 Lchkconfig --add fail2ban
6 n3 H1 R) i! N* c4 r% p3 s5 B# R* C" w/ i4 c5 d
+ f) [  c. G0 M/ j( v4 P' g
p.s
0 ~- I+ p4 R  @以上參考 :) c1 h& ]7 H4 l8 u' c( U
http://blog.pulipuli.info/2011/07/centosfail2ban.html  
  c, O4 Z0 @4 Jhttp://www.vixual.net/blog/archives/252
1 Q$ K+ N" I- {9 J) U8 @6 O. d0 g) q
回復

使用道具 舉報

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

本版積分規則



中文酷站排行榜

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

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

GMT+8, 2024-10-29 04:29 , Processed in 0.076538 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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