当你的linux服务器暴露在互联网之中,该服务器将会遭到互联网上的扫描软件进行扫描,并试图猜测SSH登录口令。
 
你会发现,每天会有多条SSH登录失败纪录。那些扫描工具将对你的服务器构成威胁,你必须设置复杂登录口令,并将尝试多次登录失败的IP给阻止掉,让其在一段时间内不能访问该服务器。
 
用DenyHosts可以阻止试图猜测SSH登录口令,它会分析/var/log/secure等日志文件,当发现同一IP在进行多次SSH密码尝试时就会记录IP到/etc/hosts.deny文件,从而达到自动屏蔽该IP的目的。
 

DenyHosts安装

#wget 官网下载最新版目前是2.6
# tar -zxvf DenyHosts-2.6.tar.gz //解压
# cd DenyHosts-2.6 //切换到目录
# python setup.py install //进行安装 注意,由于百科不能通过,所以应该是一个.,去掉中间一个点
 

DenyHosts参数配置

# cd /usr/share/denyhosts/   #DenyHosts默认安装目录
# cp denyhosts.cfg-dist   denyhosts.cfg
# vi denyhosts.cfg     #DenyHosts配置文件
 
SECURE_LOG = /var/log/secure   #ssh日志文件
# format is: i[dhwmy]
# Where i is an integer (eg. 7)
# m = minutes
# h = hours
# d = days
# w = weeks
# y = years
#
# never purge:
 
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 用户的时间。
 

DenyHosts启动文件配置

#  cp daemon-control-dist daemon-control
#  chown root daemon-control
#  chmod 700 daemon-control
# ./daemon-control start   #启动DenyHosts
#   ln -s /usr/share/denyhosts/daemon-control   /etc/init.d #对daemon-control进行软连接,方便管理
 
安装到这一步就完成了。
#  /etc/init.d/daemon-control start   #启动denyhosts
#  chkconfig daemon-control on   #将denghosts设成开机启动
 

加入到自动重启

# vi /etc/rc.local
加入下面这条命令
/usr/share/denyhosts/daemon-control start

查看攻击ip 记录

# vi /etc/hosts.deny

最新文章

  1. Python高手之路【二】python基本数据类型
  2. android layout布局属性
  3. c++形参改变实参(对指针的理解
  4. IDEA之google style配置(IDEA)
  5. mysql单表多timestamp的current_timestamp设置问题
  6. WPF 转义字符
  7. memcpy
  8. hdu 3656 DLX
  9. [Oracle AR]Territory Flexfield
  10. 模板:qsort+bsearch应用
  11. leetCode 34.Search for a Range (搜索范围) 解题思路和方法
  12. 国内第一本micropython的书出版《机器人Python极客编程入门与实战》
  13. 打造实时数据集成平台——DataPipeline基于Kafka Connect的应用实践
  14. eclipse配置环境变量 (特别是输入javac无显示问题)
  15. 爬虫之requests请求库高级应用
  16. 一步步教你轻松学支持向量机SVM算法之案例篇2
  17. JS禁止鼠标右键、禁止全选、复制、粘贴的方法(所谓的防盗功能)
  18. android手机 解锁bootloader 刷recovery 线刷rom 卡刷rom
  19. [转载]java开发中的23种设计模式
  20. 25-[jQuery]-事件

热门文章

  1. day06:三级菜单练习0218
  2. day05:数组与字典常识(20170217)
  3. windows package.json设置多个环境变量
  4. 存储系列之 RAID技术原理简介
  5. LeetCode上的SQL练习
  6. 405 - 不允许用于访问此页的 HTTP 谓词的处理办法
  7. shiro的ssm集成和简单的开发尝试
  8. IO字节流与字符流的操作
  9. [JavaWeb基础] 002.JSP和SERVLET初级入门
  10. 浅谈SIEM