linux防止sshd被爆破(安装denyhosts)

简介:

 这是一篇收集在日志里的文档,当初查看服务器sshd日志发现很多不明IP尝试登陆,因此想用什么办法阻止这样的事情发生。网上找了下用denyhosts可以解决这样的问题,因而也就将其收集在日志里了。由于时间较久远,找不到原文的出处,如果你知道原文出处,可以联系我加上。好了,入正题。

  Denyhosts 是一个以Python2.3编写的程序,它主要根据系统日志文件/var/log/secure文件分析,当发现同一IP在进行多次SSH密码尝试时就会记录IP到/etc/hosts.deny文件,从而达到自动屏蔽该IP的目的。

  一、检查安装环境:

    1) 判断系统安装的sshd是否支持tcp_wrappers(默认都支持),命令如下:

ldd /usr/sbin/sshd |grep libwrap.so.0

    如果有输出:libwrap.so.0 => /lib64/libwrap.so.0 则为支持

    2)判断是否有python(centos默认都有):

python -V

    只要系统Python版本不小于2.3版本即可(本机版本为Python 2.6.5)。

  二、安装DenyHosts

    1、下载DenyHosts-2.6.tar.gz并上传到服务器,可以在http://denyhosts.sourceforge.net/上下载最新的程序。

    2、安装

      1)、解压

tar -zxvf DenyHosts-2.6.tar.gz

      2)、安装

cd DenyHosts-2.6
python setup.py install

程序脚本自动安装在:/usr/share/denyhosts目录
库文件安装在:/usr/lib/python2.6/site-packages/DenyHosts目录下
denyhosts.py默认安装在:/usr/bin/目录下

    3、设置启动脚本

cd /usr/share/denyhosts/
cp daemon-control-dist daemon-control
chown root daemon-control
chmod 700 daemon-control

##将denyhosts.cfg-dist中不是以"#"开头的行,写入denyhosts.cfg文件

grep -v "^#" denyhosts.cfg-dist > denyhosts.cfg

      编辑denyhosts.cfg

vi denyhosts.cfg

具体配置项可参考以下的配置:

复制代码
 ############ THESE SETTINGS ARE REQUIRED ############
            ##分析源文件
            SECURE_LOG = /var/log/secure
            ##禁止sshd登陆的IP存放文件
            HOSTS_DENY = /etc/hosts.deny
            
            ##过多久后清除已经禁止的IP
            PURGE_DENY =  1d
            
            
            ##监控的服务名
            BLOCK_SERVICE  = sshd
            
            ##表示允许无效用户登录失败的次数
            DENY_THRESHOLD_INVALID = 3
            
            ##表示允许普通用户登录失败的次数
            DENY_THRESHOLD_VALID = 3
            
            ##表示允许root用户登录失败的次数
            DENY_THRESHOLD_ROOT = 3
            
            
            DENY_THRESHOLD_RESTRICTED = 1
            
            
            WORK_DIR = /usr/share/denyhosts/data
            
            SUSPICIOUS_LOGIN_REPORT_ALLOWED_HOSTS=YES
            
            ##是否做域名反解
            HOSTNAME_LOOKUP=NO
            
            
            LOCK_FILE = /var/lock/subsys/denyhosts
复制代码

    4、将denyhosts添加到系统服务并自动启动

1)、自启动

vi /etc/rc.local 

在末尾添加以下行

/usr/share/denyhosts/daemon-control start

2)、添加至系统服务

ln -s /usr/share/denyhosts/daemon-control /etc/init.d/denyhosts
chkconfig --add denyhosts
chkconfig --level 345 denyhosts on

5、启动denyhosts

service denyhosts start

    6、查看denyhosts是否运行成功

service denyhosts status

    显示:DenyHosts is running with pid = XXXX,即运行成功。

    7、至此,denyhosts也就配置完成了;此外将sshd的默认端口修改掉,再结合denyhosts可以防止大部分sshd的暴力破解了。






本文转自秋楓博客园博客,原文链接:http://www.cnblogs.com/rwxwsblog/p/4590608.html,如需转载请自行联系原作者
目录
相关文章
|
2天前
|
Oracle 关系型数据库 Linux
SuSE linux server 11通过SAP来安装oracle11g
SuSE linux server 11通过SAP来安装oracle11g
|
2天前
|
Linux C语言
suse linux 11 安装GCC开发环境
suse linux 11 安装GCC开发环境
|
4天前
|
关系型数据库 MySQL Linux
在Linux系统上实现高效安装与部署环境的全方位指南
在Linux系统上实现高效安装与部署环境的全方位指南
|
4天前
|
NoSQL Linux Redis
Redis的介绍,以及Redis的安装(本机windows版,虚拟机Linux版)和Redis常用命令的介绍
Redis的介绍,以及Redis的安装(本机windows版,虚拟机Linux版)和Redis常用命令的介绍
17 0
|
4天前
|
Ubuntu 安全 Linux
linux系统详细安装过程,都在这里了
linux系统详细安装过程,都在这里了
12 0
|
4天前
|
JSON Linux 数据格式
在宝塔Linux中安装Docker
在宝塔Linux中安装Docker
|
4天前
|
运维 监控 安全
2023年最详细的:本地Linux服务器安装宝塔面板,并内网穿透实现公网远程登录
2023年最详细的:本地Linux服务器安装宝塔面板,并内网穿透实现公网远程登录
|
5天前
|
安全 Linux Python
Volatility3内存取证工具安装及入门在Linux下的安装教程
Volatility3内存取证工具安装及入门在Linux下的安装教程
Volatility3内存取证工具安装及入门在Linux下的安装教程
|
6天前
|
关系型数据库 MySQL Linux
Linux CentOs7 安装Mysql(5.7和8.0版本)密码修改 超详细教程
Linux CentOs7 安装Mysql(5.7和8.0版本)密码修改 超详细教程
|
6天前
|
Web App开发 安全 Unix
Linux 配置FTP服务器 + vsftpd服务安装配置 (Good篇)
Linux 配置FTP服务器 + vsftpd服务安装配置 (Good篇)