Linux 防止SSH暴力破解

使用的日本的vpn 每次登陆都显示

There were XXXX failed login attempts since the last successful login.

看着好不爽,查看日志/var/log/secure一直被尝试登陆,估计是跑字典呢

wget http://freefr.dl.sourceforge.net/project/denyhosts/denyhosts/2.6/DenyHosts-2.6.tar.gz
tar xvf DenyHosts-2.6.tar.gz
cd DenyHosts-2.6
python setup.py install
ls /usr/share/denyhosts/
cd /usr/share/denyhosts/
cp denyhosts.cfg-dist denyhosts.cfg
vi denyhosts.cfg 

denyhosts.cfg内容

PURGE_DENY = 50m #过多久后清除已阻止IP 
HOSTS_DENY = /etc/hosts.deny #将阻止IP写入到hosts.deny 
BLOCK_SERVICE = sshd #阻止服务名 
DENY_THRESHOLD_INVALID = 1 #允许无效用户登录失败的次数 
DENY_THRESHOLD_VALID = 10 #允许普通用户登录失败的次数 
DENY_THRESHOLD_ROOT = 5 #允许root登录失败的次数 
WORK_DIR = /usr/local/share/denyhosts/data #将deny的host或ip纪录到Work_dir中 
DENY_THRESHOLD_RESTRICTED = 1 #设定 deny host 写入到该资料夹 
LOCK_FILE = /var/lock/subsys/denyhosts #将DenyHOts启动的pid纪录到LOCK_FILE中,已确保服务正确启动,防止同时启动多个服务。 
HOSTNAME_LOOKUP=NO #是否做域名反解 
ADMIN_EMAIL = #设置管理员邮件地址 
DAEMON_LOG = /var/log/denyhosts #自己的日志文件 
DAEMON_PURGE = 10m #该项与PURGE_DENY 设置成一样,也是清除hosts.deniedssh 用户的时间。 

设置启动脚本

cp daemon-control-dist daemon-control 
chown root daemon-control 
chmod 700 daemon-control 

完了之后执行daemon-contron start就可以了。

./daemon-control start 

如果要使DenyHosts每次重起后自动启动还需做如下设置:

ln -s /usr/share/denyhosts/daemon-control /etc/init.d/denyhosts 
chkconfig --add denyhosts 
chkconfig denyhosts on 

然后就可以启动了:

service denyhosts start 

可以看看/etc/hosts.deny内是否有禁止的IP,有的话说明已经成功了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、Nagios简介 Nagios是一款开源的电脑系统和网络监视工具,能有效监控Windows、Linux和Uni...
    1b3bd36d9d21阅读 12,547评论 3 13
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,473评论 19 139
  • 1、远程连接服务器 远程连接服务器对于管理员来说,是一个很有用的操作。它使得对服务器的管理更为方便。不过方便归方便...
    Zhang21阅读 39,691评论 0 20
  • SSH服务器dropbearAIDEsudoTCP-WrapperPAM认证机制 一、SSH服务器: 服务器端:s...
    哈喽别样阅读 5,011评论 0 0
  • 今天上美术课的时候,我听美术老师说要做一架战斗飞机。我们大家都欢呼了起来。美术老师说:“安静!”她又严肃的说:“...
    小狐狸的麻麻阅读 1,664评论 0 0