Centos Denyhosts 一键安装配置脚本,centosdenyhosts放置Linux服务器
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地址
评论暂时关闭