召隆企博汇论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1332|回复: 2

DenyHosts让你的linux服务器少受点攻击

[复制链接]

24

主题

5

回帖

199

积分

公司现有员工

积分
199
发表于 2020-3-8 22:50:16 | 显示全部楼层 |阅读模式
DenyHosts 是 Python 语言写的一个程序软件,运行于 Linux 上预防 SSH 暴力破解的,它会分析 sshd 的日志文件(/var/log/secure),当发现重复的攻击时就会记录 IP 到/etc/hosts.deny 文件,从而达到自动屏 IP 的功能。
4 _7 K* d) F& c6 X: @1 s. O4 @8 f
使用 安装 我的 Linux 版本:CentOS 7,编写这篇博客时,DenyHosts 的版本为:denyhosts-2.9-4.el7.noarch, S8 y0 r# t2 C, T  S
如何查看 DenyHosts 的版本?使用命令 $ rpm -qa | grep denyhosts 即可查看。, U3 z* J) K" T# v" B
使用以下命令即可安装 DenyHosts
) h& a9 Q& C1 R$ x) C
: F# t- i! w% n0 f+ O1 Y0 |
  1. yum install -y denyhosts
复制代码
配置和使用
  • 打开配置文件
    $ u2 A7 O* Q2 B8 H  f
  1. vim /etc/denyhosts.conf
复制代码
  • 然后配置 DenyHosts(有默认配置,可以按需修改)( U7 I& M" b& I3 N. E9 K( h& W6 A

) ~  {% Y3 u( u" W
  1.   SECURE_LOG = /var/log/secure  #ssh日志文件3 I$ E) m0 x7 V2 K) Z3 K& M
  2.   1 u/ h5 g' L) d8 k
  3.   HOSTS_DENY = /etc/hosts.deny  #将阻止IP写入到hosts.deny
    ) `* v: ^, I* H" F5 ?
  4.   
    % G1 ]/ b/ y; D+ j. \
  5.   PURGE_DENY = 4w  #过多久后清除已经禁止的IP,其中w代表周,d代表天,h代表小时,s代表秒,m代表分钟
    8 }+ Q  w. o- K8 ^  G! B
  6.   . K, L; \. [  j/ k. N: x
  7.   BLOCK_SERVICE  = sshd  #阻止服务名
    ( n) U, k( N* v1 d
  8.   $ I' Y0 Z3 V7 `! d; z
  9.   DENY_THRESHOLD_INVALID = 5  #无效用户名限制登陆次数。 // --> 主要 8 w0 Z9 f1 j' M4 Q
  10.   
    7 o2 `5 V$ `5 w' D8 p* i- g
  11.   DENY_THRESHOLD_VALID = 10  #有效用户名限制登陆次数。 // --> 主要 & A& ]+ y& q1 D- r# `
  12.   " s1 T$ h. h: \! F/ R0 t
  13.   DENY_THRESHOLD_ROOT = 5  #root限制登陆次数。  // --> 主要
    2 u' X+ J. N) g! }
  14.   9 y9 f" {; u1 l$ C
  15.   DENY_THRESHOLD_RESTRICTED = 1  #受限用户限制登录次数。  // --> 主要   i+ ~1 X& r0 h$ x0 g
  16.   0 t" B4 c; M4 `" V% z# X
  17.   WORK_DIR = /var/lib/denyhosts  #将deny的host或ip纪录到Work_dir中(限制过的ip和host存下案底,列入受限名单)% N( O- s; y' m% A6 q, z
  18.   
    " |; P: r. t! k/ B
  19.   HOSTNAME_LOOKUP=YES  #是否做域名反解
    - ?- A2 o1 d2 Y3 ?0 [
  20.   
    1 {0 U1 n% B( r, a; I4 @
  21.   LOCK_FILE = /var/lock/subsys/denyhosts  #将DenyHOts启动的pid纪录到LOCK_FILE中,已确保服务正确启动,防止同时启动多个服务。
    ! l4 C) i# R2 C# P+ Z2 h1 Z  V
  22.   
    " ~: J2 }# S, A: O
  23.   ADMIN_EMAIL = denyhosts@163.com  #设置管理员邮件地址 # l4 K# }0 b& Z& z8 w. r
  24.   SMTP_HOST = localhost * r4 I" }) O3 s0 A( W( E7 ]4 Y
  25.   SMTP_PORT = 25
    & W/ U1 Q9 }- F, T2 o
  26.   SMTP_FROM = DenyHosts  3 j# I+ n: `% i0 Z$ @+ F- A: _% b" W
  27.   SMTP_SUBJECT = DenyHosts Report0 h6 e. X! S* E- ?6 `4 p
  28.   + j5 K2 S, F2 V- w
  29.   AGE_RESET_ROOT = 1d  #root用户登录失败计数归零的时间(1d:1天)
    ( Q+ Z: @. z) v" J! j( q* K
  30.   
    & H8 C/ I* ]' x  I3 `
  31.   AGE_RESET_RESTRICTED=25d  #受限用户的失败登录计数归零的时间
    ' E' M  p; G! g' p( T
  32.   2 J0 \+ W+ l- c; }
  33.   AGE_RESET_VALID=1d   #有效用户登录失败计数归零的时间
    , N+ \) U" k7 o7 R
  34. , V) O, _* s, G/ U# @9 d
  35.   AGE_RESET_INVALID=10d  #无效用户登录失败计数归零的时间, q. ]' J' k7 L/ v3 P
  36.   + |+ R% k4 b: y, ?/ h' D7 K% O9 @( X& E
  37.   DAEMON_LOG = /var/log/denyhosts  #自己的日志文件
    ' U( t6 o) P4 }- [. @

  38. 2 b/ v+ d9 U8 }$ ^) E  U
  39. - }0 o5 @2 e7 m9 }6 V5 Z* O
复制代码
% l" |' I* \3 Y$ l0 A+ T
5 C6 w; H& w3 c
  • 查看和配置 IP 黑名单、白名单
    8 s9 V8 J; k5 j* H! M+ b1 C
  1. vi /etc/hosts.deny    //黑名单(拦截记录)
    + m7 W& n; l4 w
  2.   vii /etc/hosts.allow    //白名单
复制代码
想要解禁一个已经被禁止掉的 IP,并加入到允许主机列表,只在 /etc/hosts.deny 删除是没用的。需要进入 /var/lib/denyhosts 目录,进入以下操作:( s7 A$ ^& X. P  K7 s' ?
      ?1 z2 j* }, T3 Q' ~- C7 D- F
    6 X* w1 v# e2 E* B1 A5 v0 p8 a
  • 1、停止 DenyHosts 服务:$ sudo service denyhosts stop
  • 2、在 /etc/hosts.deny 中删除你想取消禁止的主机 IP
  • 3、编辑 DenyHosts 工作目录(配置文件中 WORK_DIR)的所有文件,一个个删除文件中你想取消的主机 IP 所在的行
    8 \3 `6 O9 ~# G. V! ]' m /var/lib/denyhosts/hosts; g. @9 e* i# z$ E; ^5 D
    /var/lib/denyhosts/hosts-restricted+ O/ h5 L7 X+ I3 \
    /var/lib/denyhosts/hosts-root; H7 R2 x$ x8 ~3 N. L
    /var/lib/denyhosts/hosts-valid' W6 J8 N( }' a' T* W& E
    /var/lib/denyhosts/users-hosts
  • 不知道有哪些文件包含了这个 IP 地址,可以使用以下命令:: M5 d5 ?" H1 @% _. b( F
    $ sudo grep *.*.*.*(IP地址) /var/lib/denyhosts/*
      X+ e  {* f3 ?$ F% Y" o 搜索结果可能有) m$ g- C+ l2 l% ]  m: Q
    /var/lib/denyhosts/hosts9 ^; m6 S  X+ \% U" E1 N
    /var/lib/denyhosts/hosts-restricted
    % x% d, D, R7 I* h: q& L /var/lib/denyhosts/hosts-root$ @# C+ ]) Y6 W8 R) G7 V3 r
    /var/lib/denyhosts/hosts-valid5 K7 Z4 O$ C" g8 s; I
    /var/lib/denyhosts/users-hosts
  • 4、添加你想允许的主机 IP 地址到/ c! ~1 A4 n/ M
  /var/lib/denyhosts/allowed-hosts
( H; _3 _- j$ i$ D7 D" u) _
    7 o4 Y) g( g2 E

    $ Q, j( A% h" h( k
  • 在文件中的位置大概在这段代码下方:
    + E$ {! p$ f( g3 U2 A
( D( V  J8 _/ r- ?7 W+ d
        # We mustn’t block localhost         127.0.0.1         *.*.*.*   //你想添加允许的IP地址     
    & o) a% |' V2 U7 X
    0 m  }# J- z5 d) C! }
  • 5、启动 DenyHosts 服务: service denyhosts start
  • 6、如果不想自己解禁,可以等到一个重置周期后,自动解禁7 \# k  B6 l  x% B* m+ W* z; W

6 c% N9 }: z9 R( K
# M% C+ E0 ~! K& x3 \, ]5 Y5 _7 r
( b. {+ v, e. J% V4 n1 V7 V1 ^% p( f

, Y$ H: K* _4 c1 d7 A- W( `* r8 |( G/ q! O
回复

使用道具 举报

24

主题

5

回帖

199

积分

公司现有员工

积分
199
 楼主| 发表于 2020-3-8 23:37:01 | 显示全部楼层
临时记录& B5 A, A: h7 \* q
https://www.cnblogs.com/l-hh/p/11204251.html
回复 支持 反对

使用道具 举报

24

主题

5

回帖

199

积分

公司现有员工

积分
199
 楼主| 发表于 2020-3-8 23:39:21 | 显示全部楼层
另外Centos7以上版本可以使用Fail2ban
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|召隆企博汇 ( 粤ICP备14061395号 )

GMT+8, 2025-6-27 08:25 , Processed in 0.030527 second(s), 25 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表