使用linux做服务器的你,有没有想过,对于暴露在互联网上的linux系统,其实每天都有很多ip地址过来的尝试登录。
找一台运行着linux服务器的暴露在外网上的服务器,运行如下命令:
sudo grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}' /var/log/secure | sort | uniq -c
可能得到如下结果:
2 103.41.124.13
2 103.41.124.41
32 103.41.124.47
26 103.41.124.64
20 103.41.124.66
120 111.74.238.237
60 118.112.144.132
22 122.225.103.124
48 122.225.109.100
32 122.225.109.198
22 122.225.109.210
16 122.225.109.213
8 122.225.109.220
36 122.225.97.71
14 122.225.97.84
40 122.225.97.86
22 122.225.97.87
3 200.182.126.150
18 202.117.45.207
17 203.100.83.32
14 218.2.0.128
18 218.2.0.130
45 218.2.197.240
102 218.26.11.118
1 27.187.47.225
20 41.214.4.59
1 42.120.142.220
142 58.255.37.236
2 61.128.110.40
128 61.147.103.185
147 61.174.171.198
6 61.174.50.208
6 61.174.50.251
22 61.174.51.198
22 61.174.51.201
6 61.174.51.212
26 61.174.51.214
32 62.210.140.193
第一个数字是链接过来的次数,第二个字符串就是ip地址。
在没有部署denyhosts的时候,第一个数字可能上千或者上万。
那么我们可以通过在linux上部署denyhosts,使这些ip地址尝试登录错误次数超过上限后,拒绝掉他们的ssh连接。
denyhosts安装方法百度搜索一大堆,我就不再叙述了。
denyhosts下载地址:
wget http://jaist.dl.sourceforge.net/sourceforge/denyhosts/DenyHosts-2.6.tar.gz
这里补充一下:可以把denyhosts增加一个守护进程初始化动作:
def daemon_init():
try:
pid = os.fork()
if pid > 0:
sys.exit(0)
#os.chdir("%s" % os.path.abspath(os.getcwd()))
os.setsid()
os.umask(0)
pid = os.fork()
if pid > 0:
sys.exit(0)
except OSError, e:
sys.exit(1)
当然这里需要一定的python基础,懂得python的缩进有严格要求。然后再把daemon_init()放到相应位置。
我在附件提供这个脚本下载,大家可以下载后替换/usr/bin/denyhosts.py
另外附件还带有启动脚本,大家下载后可替换/usr/share/denyhosts/daemon-control,脚本中我增加了对/var/lock/subsys/denyhosts的删除操作。
替换后执行如下操作(root权限):
chkconfig --add denyhosts
chkconfig --list denyhosts
最后一条命令能看到(可能是中文开启、关闭):
denyhosts 0:off 1:off 2:on 3:on 4:on 5:on 6:off
就算成功了。
以后执行service denyhosts start/stop/restart可以手动开关denyhosts,另外,chkconfig已经将其添加至自动启动服务。
这里要提到的是,我在安装了denyhosts以后,发现使用命令启动,是在前台,就是说,denyhosts没有使用守护进程方式启动。
这里建议可以加nohup命令来启动它。
当然,如果把启动命令卸载/etc/init.d/rc.local里,是随系统启动的,也是后台进程。
相关推荐
安全防范。、。。。。。。。。。。。。。。。。。。。。。。。。。。
Ubuntu安装denyhosts防止暴力破解远程SSH.docx
上网被扫描是经常的事,为了避免 ssh 帐号和密码被暴力破解,可以利用 denyhosts 来加强系统安全性。
DenyHosts是用python2.3编写的一个程序,会分析/var/log/secure等文件,当发现同一个ip进行多次ssh登录失败时会将其写入/etc/hosts.dengy文件,达到屏蔽该ip的目的。
linux服务器如何防范ssh暴力破解--denyhosts解决.docx
linux iptables用denyhosts防止黑客入侵.zip
linux下几个比较好用的工具,全部来源于官方下载。这里分享出来。希望能帮助需要的人,谢谢!
DenyHosts安装及配置
当你的linux服务器暴露在互联网之中,该服务器将会遭到互联网上的扫描软件进行扫描,并试图猜测SSH登录口令。 你会发现,每天会有多条SSH登录失败纪录。那些扫描工具将对你的服务器构成威胁,你必须设置复杂登录口令...
denyhosts-2.10.tar.gz SSH防爆程序源码
应用于linux系统,DenyHosts是Python语言写的一个程序,它会分析sshd的日志文件(/var/log/secure),当发现重 复的攻击时就会记录IP到/etc/hosts.deny文件,从而达到自动屏IP的功能。 当你的linux服务器暴露在...
在Linux上怎么安装和配置DenyHosts工具以便进行自动屏ip.docx
linux 安全linux 安全linux 安全linux 安全
特别说明:适合生产环境使用。 LNMP一键安装包是一个用Linux Shell编写的可以为CentOS/RadHat/Fedora、Debian/Ubuntu/Raspbian VPS(VDS)或独立主机安装LNMP(Nginx/MySQL/PHP)、LNMPA(Nginx/MySQL/PHP/Apache)、LAMP...
3. **监控和防护工具**:如文中提到的DenyHosts,它可以自动分析SSH登录日志,当检测到多次失败登录尝试时,会将对应IP地址添加到 `/etc/hosts.deny`,阻止其进一步尝试。此外,还有其他工具如Fail2ban,功能类似,...
DenyHosts是一个python程序,它通过向/etc/hosts.deny中添加条目来自动阻止ssh攻击。
一个简单的Moonshine插件,用于管理denyhosts。 安装 # Rails 2 script/plugin install git://github.com/railsmachine/moonshine_denyhosts.git --force # Rails 3 script/rails plugin install git://github....
做一定的安 全措施,如防火墙iptables的访问控制,用denyhosts防止黑客远程暴力破解,mysql远 程登录权限等等;最后就是服务器监控,也是我主要想讲述的内容。 对于服务器的硬件资源、性能、带宽、端口、进程、服务...
虚拟主机管理、FTP用户管理、Nginx、MySQL/MariaDB、PHP的升级、常见PHP模块exif、fileinfo、ldap、bz2、sodium、imap和swoole的一键安装、常用...重启、日志切割、SSH防护DenyHosts/Fail2Ban、备份等许多实用脚本...