拥有独立ip的主机经常受到各种攻击,比如ssh登录探测、网站后门探测、端口扫描等,因此需要做好各种防范,修改默认的一些端口,提高攻击者的成本,下面以本博客搭建所用主机centos为例从ssh登录,网站访问配置方面,日志清理方面介绍相关常用配置:
ssh 暴力登录破解防范
Last failed login: Tue Dec 15 12:38:48 CST 2020 from 141.98.10.211 on ssh:notty There were 611 failed login attempts since the last successful login. Last login: Mon Dec 14 17:35:36 2020 from 1.1.1.1
登录服务器后经常出现这样的提示,服务器从某个ip尝试登录失败多少次,仔细查看 /var/log/secure 中会发现许多这样的登录破解尝试记录,如果服务器默认端口没修改,攻击者就会编写程序扫描开放22端口的主机,因此可以修改默认ssh端口: 先备份/etc/ssh/sshd_config 配置: cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak sudo vi /etc/ssh/sshd_config 找到 Port 22 , 可以先增加新的一行开启新端口,eg:
Port 5822
退出保存后,重启sshd 服务
service sshd restart
此时查看端口listen 记录,然后通过终端使用新的端口登录,如果新端口可用将配置中的22 端口注释; 拒绝非法入侵的ip再次尝试登录:
创建/usr/local/bin/secure_ssh.sh 脚本
#! /bin/bash
cat /var/log/secure|awk ‘/Failed/{print $(NF-3)}’|sort|uniq -c|awk ‘{print $2”=“$1;}’ > ~/black.txt
for i in cat /usr/local/bin/black.txt
do
IP=echo $i |awk -F= '{print $1}'
NUM=echo $i|awk -F= '{print $2}'
result=$(cat /etc/hosts.deny | grep $IP)
if [[ $NUM -gt 10 ]];then
if [[ $result = “” ]];then
echo “sshd: $IP” >> /etc/hosts.deny
fi
fi
done
#创建定时任务,每5分钟执行一次
*/5 * * * * bash /usr/local/bin/secure_ssh.sh
注意:尽量把/var/log/secure历史的攻击ip也扫描一遍加入deny 列表
拒绝非法网站访问记录 这里主要是针对探测40x和50x的请求,将ip加入ng黑名单
1 * * * * grep php /var/log/nginx/access.log |grep -v "自己的ip" |grep -E "404|50[1-9]" |awk -F ' ' '{print "deny ",$1, ";"}' |sort -u >> /etc/nginx/ip.black
nginx 的http 需要配置
include ip.black;
黑名单格式 deny 100.26.138.162 ; 注意:针对自己的网站日志根式进行调整脚本
清理系统日志 控制系统日志大小和保留时间 journalctl –vacuum-time=7d journalctl –vacuum-size=500M
【参考】
东北大学-发起SSH攻击主机IP地址列表 csdn-ssh访问控制 juejin-CentOS7自动封IP
本文链接:https://iokde.com/post/linux-server-safe-config.html,参与评论 »
--EOF--
发表于 2020-12-15 13:27:00,并被添加「服务器配置」标签,最后修改于 2020-12-15 14:37:07。
本站使用「署名 4.0 国际」创作共享协议,转载请注明作者及原网址。tools更多说明 »
提醒:本文最后更新于 1267 天前,文中所描述的信息可能已发生改变,请谨慎使用。
Comments