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

    上班打酱油中,你懂的; body的margin为8px; webkit默认行高18px:height18px; 默认font-size16px p默认margin是16px 0 16px 0; ul和 ...

  2. xml_MathML的基本知识点__这东西要自己实践最好

    1 : <mi> 一般的字符串 2: <mo> 操作字符串 <mo> ( </mo> <mo>∑</mo> 3:<mn&g ...

  3. 【CodeForces 613B】Skills

    题 题意 给你n个数,可以花费1使得数字+1,最大加到A,最多花费m.最后,n个数里的最小值为min,为A的有k个,给你cm和cf,求force=min*cm+k*cf 的最大值,和n个数操作后的结果 ...

  4. iOS8跳到系统设置页面

    iOS5.1+之后跳转setting页面的方式都失效了,不过在iOS8苹果有提供了一个键值允许app跳转到setting页面,具体代码如下: NSURL *url = [NSURL URLWithSt ...

  5. ORACLE创建表空间、创建用户、更改用户默认表空间以及授权、查看权限

    Oracle创建用户.表空间.导入导出....命令 //创建临时表空间 create temporary tablespace ext_temptempfile 'D:\oracle\product\ ...

  6. POJ1011 Sticks

    Description George took sticks of the same length and cut them randomly until all parts became at mo ...

  7. [转] 计算几何模板Orz

    #include<math.h> #define MAXN 1000 #define offset 10000 #define eps 1e-8 #define PI acos(-1.0) ...

  8. excel公式处理成绩表

    一共有2个需求: 1.平均分:所有每个人的成绩/29;及格率:60分的/29;优秀率:80分/29 2.对总分进行排序,并在另一列中生成排名 平均分:=(c3+c4+.......c31)/29 及格 ...

  9. git分支与版本管理、版本回退、冲突解决记录

    一.基础使用 1.初始化本地仓库 git init 2.关联远程仓库 git remote add origin git@github.com:用户名/仓库名.git 3.添加远程仓库文件到本地 gi ...

  10. 锋利的jQuery-4--图片切换的一个例子(自己理解后写的,以备忘记时看看)

    一个动画切换的效果,如图: 分析步骤: 1.点击左右的箭头图片滚动,左边的小点变化. 2.主要问题是当滚到最后一屏时切换回第一屏,第一屏在向前滚动是切换到最后一屏 :通过判断图片的总数然后除以每屏显示 ...