召隆企博汇论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 386|回复: 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 的功能。
& D! W7 }$ m4 J: h: ^( `
使用 安装 我的 Linux 版本:CentOS 7,编写这篇博客时,DenyHosts 的版本为:denyhosts-2.9-4.el7.noarch
- Q; u; y9 }5 O: T3 z1 K. g6 G. g7 q 如何查看 DenyHosts 的版本?使用命令 $ rpm -qa | grep denyhosts 即可查看。
& S. X( k3 O5 G1 U# ^* n& o$ I 使用以下命令即可安装 DenyHosts! b7 L. @! [2 f2 Q1 e5 l
3 r2 q, K2 @1 O, K% n' S4 b3 U
  1. yum install -y denyhosts
复制代码
配置和使用
  • 打开配置文件
    5 R: |: @/ X- W! R2 d' ^
  1. vim /etc/denyhosts.conf
复制代码
  • 然后配置 DenyHosts(有默认配置,可以按需修改)! _- O+ U, B: h  U. F* i4 F' p
' ]" E% G9 }% A
  1.   SECURE_LOG = /var/log/secure  #ssh日志文件
    / n, \3 O, P3 a# V! k, @
  2.   
    7 G9 ]: c) e  Q
  3.   HOSTS_DENY = /etc/hosts.deny  #将阻止IP写入到hosts.deny
    7 l/ X/ {- R+ n
  4.   
    8 p" `! v) N9 c8 Z( L
  5.   PURGE_DENY = 4w  #过多久后清除已经禁止的IP,其中w代表周,d代表天,h代表小时,s代表秒,m代表分钟% s' s7 Z6 s4 T3 q8 E: L" {
  6.   2 Z, }# [1 V$ m3 B7 n
  7.   BLOCK_SERVICE  = sshd  #阻止服务名
    ; @5 \/ |$ p* X: M+ y# B2 ^" D% C
  8.   
    . y8 I4 U4 `& X
  9.   DENY_THRESHOLD_INVALID = 5  #无效用户名限制登陆次数。 // --> 主要 9 z  M5 k0 o, y8 f4 R4 o2 d
  10.   8 p6 ?) y  T' Y- m3 G
  11.   DENY_THRESHOLD_VALID = 10  #有效用户名限制登陆次数。 // --> 主要 , k$ U6 g( _5 _- A
  12.   # l7 s% ?0 s: v" v" ?
  13.   DENY_THRESHOLD_ROOT = 5  #root限制登陆次数。  // --> 主要
      o: h( I/ J. X. [8 W, j. C
  14.   9 D7 a* {3 x0 I+ |
  15.   DENY_THRESHOLD_RESTRICTED = 1  #受限用户限制登录次数。  // --> 主要
    - I  y! e6 W; {9 x) R* r
  16.   3 o% a( j2 a& K. r- s! z, j$ l
  17.   WORK_DIR = /var/lib/denyhosts  #将deny的host或ip纪录到Work_dir中(限制过的ip和host存下案底,列入受限名单)) l( l2 n( z- |2 d
  18.   9 s6 P  @$ j; X5 a: N% _0 G
  19.   HOSTNAME_LOOKUP=YES  #是否做域名反解
    9 u6 [4 B% F7 _2 S! h8 y* ~- C( M
  20.   
    ' C/ L3 x4 p! L* d
  21.   LOCK_FILE = /var/lock/subsys/denyhosts  #将DenyHOts启动的pid纪录到LOCK_FILE中,已确保服务正确启动,防止同时启动多个服务。
    9 Y6 ~* J/ u; z
  22.   
    & q0 y, l( |. f- ]
  23.   ADMIN_EMAIL = denyhosts@163.com  #设置管理员邮件地址   H% {' q; j5 H3 ~
  24.   SMTP_HOST = localhost
    7 q' A/ X  ~: k! m$ Z0 K4 G9 F
  25.   SMTP_PORT = 25 " V  }: T& C; u) j3 ?
  26.   SMTP_FROM = DenyHosts  
    % R4 T- U' H' U3 S7 E
  27.   SMTP_SUBJECT = DenyHosts Report. m7 E! H3 y3 S/ ]5 }5 Z3 ~
  28.   $ W* [( D5 ^' R
  29.   AGE_RESET_ROOT = 1d  #root用户登录失败计数归零的时间(1d:1天)7 B. c3 r) R, Z% P9 x. ]7 I, C
  30.   , D" {3 r2 N* }; @0 Y" X
  31.   AGE_RESET_RESTRICTED=25d  #受限用户的失败登录计数归零的时间
    & {/ S( I$ m7 ^& v7 U
  32.   ! k) y/ M9 d8 ~9 o
  33.   AGE_RESET_VALID=1d   #有效用户登录失败计数归零的时间, d- N7 {! U8 v# ^* j* I+ V1 m4 p

  34. * x7 f& ~, n' `1 p3 i$ G* @& c# N
  35.   AGE_RESET_INVALID=10d  #无效用户登录失败计数归零的时间4 C& s8 Q8 D; ^/ D3 \/ e) r
  36.   6 L  O$ y4 D; W/ Z3 S3 y
  37.   DAEMON_LOG = /var/log/denyhosts  #自己的日志文件
    & g% A" J3 {6 W6 j- n  t( b5 }: o
  38. - G) G+ v8 u* r) d& k; q5 D. L6 k

  39. 2 h$ g. ~1 v3 b- i. F& b2 {8 L
复制代码

, o6 F, ]; O8 I! C0 x1 y) [4 n: Z: m: X- @
  • 查看和配置 IP 黑名单、白名单
    9 u3 U0 `2 W- D/ P
  1. vi /etc/hosts.deny    //黑名单(拦截记录)
    5 d& S- {6 B0 W/ l
  2.   vii /etc/hosts.allow    //白名单
复制代码
想要解禁一个已经被禁止掉的 IP,并加入到允许主机列表,只在 /etc/hosts.deny 删除是没用的。需要进入 /var/lib/denyhosts 目录,进入以下操作:
7 l/ i9 z# M+ v2 }: v) w
    , k- d& q& @6 i' Y4 B

    % O/ a, b1 K  ?
  • 1、停止 DenyHosts 服务:$ sudo service denyhosts stop
  • 2、在 /etc/hosts.deny 中删除你想取消禁止的主机 IP
  • 3、编辑 DenyHosts 工作目录(配置文件中 WORK_DIR)的所有文件,一个个删除文件中你想取消的主机 IP 所在的行# m8 v6 M6 K/ a. K( B3 [2 `
    /var/lib/denyhosts/hosts' |) m  D! T5 Y2 a3 M) L# n
    /var/lib/denyhosts/hosts-restricted
    7 d- v4 X9 ]! l1 X6 B% e /var/lib/denyhosts/hosts-root0 A# ^: G. ?7 d) J
    /var/lib/denyhosts/hosts-valid; m+ C# z5 @1 E9 ]. y
    /var/lib/denyhosts/users-hosts
  • 不知道有哪些文件包含了这个 IP 地址,可以使用以下命令:
    & Z" J4 }. ]( J$ H $ sudo grep *.*.*.*(IP地址) /var/lib/denyhosts/*5 l* ?/ U3 }: }4 u
    搜索结果可能有$ \) H# g. J" Y4 ~  p% e
    /var/lib/denyhosts/hosts/ i: Z  _, R. y! y3 p' t
    /var/lib/denyhosts/hosts-restricted
    ! Q: Y7 P; q5 P- n) d /var/lib/denyhosts/hosts-root8 r+ `. G. J+ v5 l" T$ d5 X
    /var/lib/denyhosts/hosts-valid
    - |! x( y! p3 |4 n /var/lib/denyhosts/users-hosts
  • 4、添加你想允许的主机 IP 地址到
    3 F8 V& Z3 _* Y4 W4 I3 o% g9 \
  /var/lib/denyhosts/allowed-hosts
$ Y( J6 O7 v0 g8 B6 R) [7 L

      ^8 i7 E( L' n' a& g$ G) z( B- Y" i5 Q. [: Z
  • 在文件中的位置大概在这段代码下方:# J! f7 l& o0 ^9 b

* b% l# B0 V4 k        # We mustn’t block localhost         127.0.0.1         *.*.*.*   //你想添加允许的IP地址     

    3 b" R% j$ _# u% R6 W3 w
    ) x8 _7 @2 _/ A' n$ v* J3 c
  • 5、启动 DenyHosts 服务: service denyhosts start
  • 6、如果不想自己解禁,可以等到一个重置周期后,自动解禁
    ( B+ C: i1 N6 |% A

- a  d& v! ]+ r8 Q0 R( ?8 B/ Z. O5 L  [. j0 e9 P

$ ~! m( U' y' O. o
" g0 F8 R, w2 I; s6 \1 Q) e$ P# |5 }) m0 h9 ]8 N
/ v* Y5 h) y/ B2 [
回复

使用道具 举报

24

主题

5

回帖

199

积分

公司现有员工

积分
199
 楼主| 发表于 2020-3-8 23:37:01 | 显示全部楼层
临时记录
; L7 Z$ m2 e  @/ `; W' h/ @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, 2024-11-24 02:05 , Processed in 0.030549 second(s), 26 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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