这是一篇收集在日志里的文档,当初查看服务器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.

    如果有输出: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 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 = ##表示允许普通用户登录失败的次数
DENY_THRESHOLD_VALID = ##表示允许root用户登录失败的次数
DENY_THRESHOLD_ROOT = DENY_THRESHOLD_RESTRICTED = 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 denyhosts on

5、启动denyhosts

service denyhosts start

    6、查看denyhosts是否运行成功

service denyhosts status

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

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

linux防止sshd被爆破(安装denyhosts)的更多相关文章

  1. Linux ssh登录和软件安装详解

    阿哲Style   Linux第一天 ssh登录和软件安装详解 Linux学习第一天 操作环境: Ubuntu 16.04 Win10系统,使用putty_V0.63 本身学习Linux就是想在服务器 ...

  2. Linux 从源码编译安装 OpenSSH

    https://blog.csdn.net/bytxl/article/details/46639073 Linux 从源码编译安装 OpenSSH以及各问题解决 2015年06月25日 17:37: ...

  3. Linux+apache+mono+asp.net安装教程

    Linux+apache+mono+asp.net安装教程(CentOS上测试的) 一.准备工作: 1.安装linux系统(CentOS,这个就不多讲了) 2.下载所需软件 http-2.4.4.ta ...

  4. Linux平台 Oracle 11gR2 RAC安装Part1:准备工作

    一.实施前期准备工作 1.1 服务器安装操作系统 1.2 Oracle安装介质 1.3 共享存储规划 1.4 网络规范分配 二.安装前期准备工作 2.1 各节点系统时间校对 2.2 各节点关闭防火墙和 ...

  5. Linux平台 Oracle 11gR2 RAC安装Part2:GI安装

    三.GI(Grid Infrastructure)安装 3.1 解压GI的安装包 3.2 安装配置Xmanager软件 3.3 共享存储LUN的赋权 3.4 使用Xmanager图形化界面安装GI 3 ...

  6. Linux平台 Oracle 11gR2 RAC安装Part3:DB安装

    四.DB(Database)安装 4.1 解压DB的安装包 4.2 DB软件安装 4.3 ASMCA创建磁盘组 4.4 DBCA建库 4.5 验证crsctl的状态 Linux平台 Oracle 11 ...

  7. Linux(Ubuntu)下安装NodeJs

    用以下命令来升级系统,并且安装一些Node.JS必要的包. Linux(Ubuntu)下安装NodeJs 安装nodeJS之前,如果没有安装g++ make libssl-dev等, 1.更新系统和依 ...

  8. Linux下apache+phppgadmin+postgresql安装配置

    Linux下apache+phppgadmin+postgresql安装配置 操作系统:CentOS 安装包:httpd(首选yum), php(包括php以及php-pgsql,php-mbstri ...

  9. Linux 中如何卸载已安装的软件(转载)

            Linux 中如何卸载已安装的软件. Linux软件的安装和卸载一直是困扰许多新用户的难题.在Windows中,我们可以使用软件自带的安装卸载程序或在控制面板中的“添加/删除程序”来实 ...

随机推荐

  1. 【CodeForces 618C】Constellation

    题 Cat Noku has obtained a map of the night sky. On this map, he found a constellation with n stars n ...

  2. POJ1364 King

    Description Once, in one kingdom, there was a queen and that queen was expecting a baby. The queen p ...

  3. document.body.scrollTop 各浏览器兼容性解决

    document.compatMode:获取当前浏览器采用的渲染方式.主要是浏览器的模式,有两个:BackCompat,CSS1Compat.其中前者是怪异模式,后者是标准模式. IE默认是BackC ...

  4. RegexBuddy正则表达式工具

    RegexBuddy非常的好用,而且还能生成.net的代码. 我们在使用正则匹配时,毕竟.net提供的方法中,对于多行匹配就不能用单纯的正则去实现,而我们需要把它转换成相应的类库方法进行实现. 那么R ...

  5. NOIP2005提高组 过河

    题目描述 在河上有一座独木桥,一只青蛙想沿着独木桥从河的一侧跳到另一侧.在桥上有一些石子,青蛙很讨厌踩在这些石子上.由于桥的长度和青蛙一次跳过的距离都是正整数,我们可以把独木桥上青蛙可能到达的点看成数 ...

  6. 排序算法(一)(时间复杂度均为O(n*n))

    对于一个int数组,请编写一个选择排序算法,对数组元素排序. 给定一个int数组A及数组的大小n,请返回排序后的数组. 测试样例: [1,2,3,5,2,3],6 [1,2,2,3,3,5] 冒泡排序 ...

  7. hihocoder 1196 高斯消元.二

    传送门 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 在上一回中,小Hi和小Ho趁着便利店打折,买了一大堆零食.当他们结账后,看到便利店门口还有其他的活动. 店主:买了 ...

  8. Linux下J2EE环境搭建

    1.下载MyEclipse 2010的linux安装包. myeclipse-10.1-offline-installer-linux 2.将下载MyEclipse 2010的linux安装包,使用X ...

  9. pthread_detach pthread_join pthread_create

    pthread_create:创建线程以后线程直接开始运行: pthread_detach pthread_join:线程资源的释放方式. 创建一个线程默认的状态是joinable, 如果一个线程结束 ...

  10. tomcat8编码

    web工程,本机能跑的代码放到生产环境中后能跑但是得不到预期的结果,十有八九的原因是 编码问题