
denyhosts是一个安全工具,用Python编写的,用于监视服务器访问日志,防止虚拟专用服务器蛮力攻击。该项目工程通过禁止超过一定次数的失败登录尝试的IP地址。
步骤一、安装denyhosts
是的,denyhosts很容易安装在Ubuntu
sudo apt-get install denyhosts
一旦程序下载完成后,denyhosts将自动安装和配置在你的VPS上。
步骤二、白名单的IP地址
在您安装的denyhosts,一定要白名单自己的IP地址。跳过此步骤将让你在锁定自己出你自己的机器的风险。
打开允许在您的VPS允许的主机列表:
sudo nano /etc/hosts.allow
根据描述,在不能从服务器禁止任何IP地址添加,你可以写每一个单独的行上,使用这种格式:
sshd: yourip
在进行任何更改后,一定要重新启动denyhosts以使新的设置把你的虚拟专用服务器上的效果:
sudo /etc/init.d/denyhosts restart
步骤三(可选)配置的denyhosts
是的,denyhosts随时使用,只要安装就结束了。
但是,如果你想自定义你的VPS的denyhosts的行为,可以使DenyHost配置文件中的变化:
sudo nano /etc/denyhosts.conf
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
上面就是Linux安装配置DenyHosts的方法介绍了,配置好DenyHosts工具后,你就能使用DenyHosts对日志文件进行分析了。
如今很多系统管理员依然通过组合使用诸如ifconfig、route、arp和netstat等命令行工具(统称为net-tools)来配置网络功能,解决网络故障。net-tools起源于BSD的TCP/IP工具箱,后来成为老版本Linux内核中配置网络功能的工具。 但自2001年起,Linux社区已经对其停止维护。 同时,一些Linux发行版比如Arch Linux和CentOS/RHEL 7则已经完全抛弃了net-tools,只支持iproute2。
作为网络配置工具的一份子,iproute2的出现旨在从功能上取代net-tools。net-tools通过procfs(/proc)和ioctl系统调用去访问和改变内核网络配置,而iproute2则通过netlink套接字接口与内核通讯。抛开性能而言,iproute2的用户接口比net-tools显得更加直观。比如,各种网络资源(如link、IP地址、路由和隧道等)均使用合适的对象抽象去定义,使得用户可使用一致的语法去管理不同的对象。更重要的是,到目前为止,iproute2仍处在 持续开发 中。
如果你仍在使用net-tools,而且尤其需要跟上新版Linux内核中的最新最重要的网络特性的话,那么是时候转到iproute2的阵营了。原因就在于使用iproute2可以做很多net-tools无法做到的事情。
当然这两个工具在大部分Linux系统中自带的,下面通过iproute2的 ip addr show 指令看看返回了哪些内容。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)