Centos Denyhosts 一键安装配置脚本,centosdenyhosts放置Linux服务器


Centos Denyhosts 一键安装配置脚本

一键安装denyhosts脚本并配置为常用配置。放置Linux服务器被暴力破解

由于不能上传tar文件。所以改为zip压缩。

将附件的zip压缩包解压后将整个文件夹上传到服务器。

然后进入denyhost文件夹

赋予脚本执行权限。

chmod700denyhosts.sh

./denyhosts.sh

脚本内容是:

denyhosts.sh

#!/bin/bash

#Copyright(c)2015.6Fenei

#BY:封飞

#2015年6月29日23点

#denyhostsautoinstallandconfigureshell

#VER.1.1.0-http://www.fenei.net

#自动安装配置denyhosts脚本

#2015年6月29日23点

#

#本程序是专为Redhat、Centos等系统制作的自动安装配置denyhosts的脚本。

#本程序为西普网络专用,默认添加西普网络IP到"/usr/share/denyhosts/allowed-hosts"文件。

#其他人员如果使用必须将自己的远程办公IP手动添加至"/usr/share/denyhosts/allowed-hosts"文件。

#本脚本为开源,初次制作,如有不足之处,可以联系修改。

#

#Copyright(c)2015.6Fenei

#BY:封飞

#2015年6月29日23点

#

#Fenei@SinpulNetwork

#VER.1.1.0-http://www.fenei.net

#

#Thisprogramisfreesoftware;youcanredistributeitand/ormodify

#itunderthetermsoftheGNUGeneralPublicLicenseaspublishedby

#theFreeSoftwareFoundation;eitherversion2oftheLicense,or

#(atyouroption)anylaterversion.

#=====================================================================

sttyerase^h

sttyerase^H

#将shell运行过程中读取退格键替换为退格命令,否则会输出^H!

chmod700denyhosts_removeip.sh

cp-a*/tmp

cd/tmp

tarzxfDenyHosts-2.6.tar.gz

cdDenyHosts-2.6

pythonsetup.pyinstall

cd/usr/share/denyhosts/

cpdaemon-control-distdaemon-control

chownrootdaemon-control

chmod700daemon-control

#复制我已经配置好的配置文件,默认为登录5次拒绝登录10分钟。

cp/tmp/denyhosts.cfg.

cp-a/tmp/denyhosts_removeip.sh.

#配置denyhosts的开机启动

echo"/usr/share/denyhosts/daemon-controlstart">>/etc/rc.local

cd/etc/init.d

ln-s/usr/share/denyhosts/daemon-controldenyhosts

chkconfig--adddenyhosts

chkconfig--level345denyhostson

#添加远程登录IP至"/etc/hosts.allow"文件。

echo"127.0.0.1">>/usr/share/denyhosts/allowed-hosts

#这里输入您的管理IP地址,将您的地址添加到白名单。

echo"你的IP">>/usr/share/denyhosts/allowed-hosts

#重启denyhosts服务

servicedenyhostsrestart

如果IP被禁止后想解封IP请使用一下脚本

denyhosts_removeip.sh

#!/bin/bash

HOST=$1

if[-z"${HOST}"];then

echo"Usage:$0IP"

exit1

fi

/etc/init.d/denyhostsstop

echo'

/etc/hosts.deny

/usr/share/denyhosts/data/hosts

/usr/share/denyhosts/data/hosts-restricted

/usr/share/denyhosts/data/hosts-root

/usr/share/denyhosts/data/hosts-valid

/usr/share/denyhosts/data/users-hosts

'|grep-v"^$"|xargssed-i"/${HOST}/d"

/etc/init.d/denyhostsstart

我脚本内配置好的denyhosts.cfg文件

denyhosts.cfg

############THESESETTINGSAREREQUIRED############

SECURE_LOG=/var/log/secure

#ssh日志文件

HOSTS_DENY=/etc/hosts.deny

#将阻止IP写入到hosts.deny

PURGE_DENY=10m

#过多久后清除已经禁止的,其中w代表周,d代表天,h代表小时,s代表秒,m代表分钟

BLOCK_SERVICE=sshd

#阻止服务名

DENY_THRESHOLD_INVALID=5

#允许无效用户(在/etc/passwd未列出)登录失败次数,允许无效用户登录失败的次数.

DENY_THRESHOLD_VALID=5

#允许普通用户登录失败的次数

DENY_THRESHOLD_ROOT=5

#允许root登录失败的次数

DENY_THRESHOLD_RESTRICTED=1

#设定denyhost写入到该资料夹

WORK_DIR=/usr/share/denyhosts/data

#将deny的host或ip纪录到Work_dir中

SUSPICIOUS_LOGIN_REPORT_ALLOWED_HOSTS=YES

HOSTNAME_LOOKUP=YES

#是否做域名反解

LOCK_FILE=/var/lock/subsys/denyhosts

#将DenyHOts启动的pid纪录到LOCK_FILE中,已确保服务正确启动,防止同时启动多个服务。

ADMIN_EMAIL=denyhosts@163.com

############THESESETTINGSAREOPTIONAL############

#设置管理员邮件地址

SMTP_HOST=localhost

SMTP_PORT=25

SMTP_FROM=DenyHosts

SMTP_SUBJECT=DenyHostsReport

ALLOWED_HOSTS_HOSTNAME_LOOKUP=YES

#启用allow-hosts白名单文件功能

AGE_RESET_VALID=1d

#有效用户登录失败计数归零的时间

AGE_RESET_ROOT=1d

#root用户登录失败计数归零的时间

AGE_RESET_RESTRICTED=5d

#用户的失败登录计数重置为0的时间(/usr/share/denyhosts/data/restricted-usernames)

AGE_RESET_INVALID=10d

#无效用户登录失败计数归零的时间

DAEMON_LOG=/var/log/denyhosts

#自己的日志文件

DAEMON_SLEEP=30s

#########THESESETTINGSARESPECIFICTODAEMONMODE##########

DAEMON_PURGE=5m

#该项与PURGE_DENY设置成一样,也是清除hosts.deniedssh用户的时间

运行成功以后,提示将目前存在的暴力破解IP自动添加到hosts.deny文件

hosts.deny文件内的内容,显示封禁IP列表(我这里配置的是10分钟后清空此文件)

/var/log/denyhosts 文件的记录

/var/log/secure 文件的登陆记录

使用

1

cat/var/log/secure|awk'/Failed/{print$(NF-3)}'|sort|uniq-c|awk'{print$2"="$1;}'

查看secure文件内统计的失败登陆IP地址

相关内容

    暂无相关文章