@bornkiller
2019-05-16T13:50:00.000000Z
字数 1562
阅读 1297
前端运维
云主机越来越普遍,不进行任何安全处理,直接裸奔的情况越来越多,也非常危险,尤其是个人拥有的云主机。当然,安全是个非常庞大的话题,本文仅描述必须要做的配置,受众仅适合刚接触 linux
的萌新,笔者自己也是萌新。
添加普通用户,远程登录使用普通用户登录:
adduser centos;
passwd centos;
登录方式修改如下:
root
远程登录;ssh key
,禁止 SSH pasword
登录;
# /etc/ssh/sshd_config
PermitRootLogin no
PasswordAuthentication no
# /etc/ssh/sshd_config
ClientAliveInterval 60
ClientAliveCountMax 5
# /etc/profile
export TMOUT=150
修改配置后,重启服务:
systemctl reload sshd;
sudo
权限sudo su
一定要求密码;sudo
权限,使用其他账号远程登录后,敏感操作切换到 root
账号进行处理;笔者使用腾讯云主机,此处遇到神坑:无论怎么调整,centos
用户始终免密码全操作。。。
最终发现问题[1]源头如下:
# /etc/sudoer
# 下面这行 不是注释!不是注释!不是注释!
#includedir /etc/sudoers.d
个人主观判断,暴力破解绝大多数来自全网扫描。
截取一周内数据如下:
IP
分布遍布全球:
个人主观判断,禁用密码登录后,暴力破解风险就会下降很多,如果一定需要密码登录,参照以下内容。
# 处理特定访问 IP
firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='192.168.0.1' reject"
# 处理特定访问 IP 网段
firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='192.168.0.1/24' reject"
# 处理 IP 集合
firewall-cmd --permanent --new-ipset=blacklist_ip --type=hash:ip;
firewall-cmd --permanent --ipset=blacklist_ip --add-entry="116.196.90.207"
firewall-cmd --permanent --add-rich-rule="rule source ipset=blacklist_ip drop"
# 端口开放
firewall-cmd --zone=public --add-port=5061/tcp --permanent
此方案需要额外的定时任务,分析 secure log
,然后批量添加规则。
推荐使用 denyhosts
fail2ban
完成自动化处理,具体使用参照官方文档。
yum install -y epel-release;
yum install -y fail2ban;
此处依然有神坑,笔者配置完毕后,故意使用错误密码尝试登录,然后 IP
就被毙了。。。
如何解除被毙的 IP
,又是一个蛋疼问题。。。
IP
暴露出去,包括 开源代码,个人作品 等;