安全配置
以下用root账号操作
创建普通用户,禁用root远程登录
添加普通用户,admin
1 | useradd admin |
设置密码
1 | passwd admin |
设置文件夹,且admin有写入和读取权限
1 | mkdir /data/temp/ |
禁用root远程登录及修改22端口
1 | cp /etc/ssh/sshd_config /etc/ssh/sshd_config_back |
修改内容:
PermitRootLogin no #root远程登录,no代表root无法远程,须普通账号登录,然后su切换到root账号
PermitEmptyPasswords no #禁止空密码登录
#UseDNSno #关闭DNS查询
Port 22 #等全部配置完毕,在移除此参数
重启服务
1 | systemctl start sshd.service |
往后用admin账号登录,在切换到root,使用命令
1 | su |
Denyhosts禁止针对linux sshd的暴力破解
网址:http://denyhosts.sourceforge.net/
本文在 /data/rule/安装,
1 | mkdir /data |
yum在线下载
1 | cd /usr/src |
解压
1 | tar -xzvf DenyHosts-2.6.tar.gz |
安装
1 | python setup.py install |
删除文件
1 | rm DenyHosts-2.6.tar.gz |
创建日志文件夹
1 | cd /data/rule |
切换目录进入denyhosts目录
1 | cd /usr/share/denyhosts/ |
切换到命令行模式
:1,$d
清空内容,然后输入如下内容:
# format is: i[dhwmy]
# Where i is an integer (eg. 7)
# m = minutes
# h = hours
# d = days
# w = weeks
# y = years
#
# never purge:
SECURE_LOG=/var/log/secure
PURGE_DENY=50m
HOSTS_DENY=/etc/hosts.deny
BLOCK_SERVICE=sshd
DENY_THRESHOLD_INVALID=10
DENY_THRESHOLD_VALID=10
DENY_THRESHOLD_ROOT=10
WORK_DIR=/usr/local/share/denyhosts/data
DENY_THRESHOLD_RESTRICTED =1
LOCK_FILE=/var/lock/subsys/denyhosts
HOSTNAME_LOOKUP=NO
#ADMIN_EMAIL=xxxxx@qq.com
DAEMON_LOG=/data/rule/DenyHosts/logs/denyhosts
DAEMON_PURGE=10m
解释如下:
# format is: i[dhwmy]
# Where i is an integer (eg. 7)
# m = minutes
# h = hours
# d = days
# w = weeks
# y = years
#
# never purge:
SECURE_LOG = /var/log/secure #ssh日志文件
PURGE_DENY = 50m #过多久后清除已阻止IP
HOSTS_DENY = /etc/hosts.deny #将阻止IP写入到hosts.deny
BLOCK_SERVICE = sshd #阻止服务名
DENY_THRESHOLD_INVALID = 10 #允许无效用户登录失败的次数
DENY_THRESHOLD_VALID = 10 #允许普通用户登录失败的次数
DENY_THRESHOLD_ROOT = 10 #允许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 =xxxx@qq.com #设置管理员邮件地址
DAEMON_LOG = /var/log/denyhosts #自己的日志文件
DAEMON_PURGE = 10m #该项与PURGE_DENY 设置成一样,也是清除hosts.deniedssh 用户的时间。
注意:不能把带注释的配置文件粘贴上去,会报错!!!
DenyHosts启动文件配置
1 | cd /usr/share/denyhosts/ |
启动DenyHosts
1 | ./daemon-control start |
DenyHosts自动启动
1 | cd /usr/share/denyhosts/ |
建立符号链接
1 | ln -s /usr/share/denyhosts/daemon-control /etc/init.d/denyhosts |
增加denyhosts服务进程
1 | chkconfig --add denyhosts |
设置开机启动denyhosts
1 | chkconfig denyhosts on |
查看日志异常信息
1 | cat /var/log/secure |