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的暴力破解了。

时间: 2024-11-05 10:42:32

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

Linux ssh登录和软件安装详解

阿哲Style Linux第一天 ssh登录和软件安装详解 Linux学习第一天 操作环境: Ubuntu 16.04 Win10系统,使用putty_V0.63 本身学习Linux就是想在服务器上使用的.实际情况,可能我很难直接到坐在服务器前,使用界面操作系统.事实上,界面对于服务器来说就是一个多于的内容.于是Linux的桌面就像一个程序一样,可以卸载.卸载后怎么用呢?使用shell命令.在哪里使用呢?当然是在遥远的另一方. 于是,我学习的第一个内容就是远程访问Linux系统,进行一系列操作.

在Linux CentOS 6.6上安装Python 2.7.9

在Linux CentOS 6.6上安装Python 2.7.9 CentOS 6.6自带的是Python 2.6.6,而编译llvm需要Python 2.7以上. checking for python... /usr/bin/python checking for python >= 2.7... not found configure: error: found python 2.6.6 (/usr/bin/python); required >= 2.7 yum中最新的也是Python

Linux下非root用户安装软件

下面简要说一下Linux下非root用户安装软件的一般流程:1. 获取源代码,一般是wget方式,ubuntu可以使用apt-get source来获取源代码.2. 解压源代码,一般使用tar -zxvf xxx.tar.gz即可3. 切换到解压后的目录,运行 ./configure.其选项可以通过 ./configure –help来获取,非root用户下最重要的应该是定义安装目录,即应该定义 ./configure –prefix=/path/to/bin, 对于一些依赖库,可能还需要使用

linux源码包的安装

一.基础知识    编译源程序的步骤:     # tar xf testapp-version.tar.{xz|bz2|gz}     # cd testapp-version     # ./configure      还需通过许多选项指定编译特性     # make     # make install    ./configure脚本的使用:     1.获取帮助      ./configure --help     2.较通用的一些选项      安装路径相关:       --

Linux( rhel-server-7.0-x86_64)安装Oracle Database 12c Release 1

1.官方下载安装包:http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html linuxamd64_12102_database_1of2.zip linuxamd64_12102_database_1of2.zip 2.创建oracle用户和组 [[email protected]]# groupadd oinstall [[email protected]]# groupadd dba

在 Linux 系统上源码安装 GTK+ 2.0

在 Linux 系统上源码安装 GTK+ 2.0==================================================Keywords: GTK+, Install, Linux, SourceAuthor:       whyglinux (whyglinux AT hotmail DOT com)Date:          2007-01-07==================================================目录0. 前言1.

Linux学习笔记——虚拟机中安装VMware Tools

0 前言 VMware Tools是VMware虚拟机中自带的一种增强工具,只有在VMware虚拟机中安装好了VMware Tools,才能实现主机与虚拟机之间的文件共享,实现文件在虚拟机之间的复制粘贴. 最近购买了周立功的一款EasyARM开发板,作为树莓派Linux学习的补充.在虚拟机中安装了周立功提供的ubuntu镜像,总觉得在主机和PC机之间直接复制粘贴才爽,所以又安装了Vmware Tools.     [相关博文] [ Linux学习笔记--vmware plarer中安装ubunt

Oracle 10g 10.2.0.1 在Oracle Linux 5.4 32Bit RAC安装手冊(一抹曦阳)

Oracle 10g 10.2.0.1 在Oracle Linux 5.4 32Bit RAC安装手冊(一抹曦阳).pdf下载地址 ,step by step http://download.csdn.net/detail/rlhua/7699223

Linux系统入门之如何安装Linux系统

题目:Linux系统入门之如何安装Linux系统 一.准备工具: 1.Linux 镜像文件(Linux iso文件),直接的在 百度里面输入下载Linux系统版本即可 例如: 2.虚拟机模拟工具,例如:Vmare workstation 10 或者virtualbox虚拟机工具 抑或者vmware palyer虚拟机工具 3.笔记本的硬件要求,一般现在的笔记本几乎都是满足要求的,这个放心 内存至少2G,硬盘大小至少100G,其它的没有什么 二.简单的描述虚拟机的安装(重要点截图) 三.简单的描述