合 Linux服务器安全加固
Tags: LinuxOSssh操作系统安全Permission denied加固
- 简介
- 修改默认端口(推荐)
- 增加防火墙规则:开放指定端口
- 添加安全组规则
- 关闭密码登录,采用密钥登录
- 编辑hosts.allow和hosts.deny将恶意IP地址加入黑名单(推荐)
- 设置AllowUsers和DenyUsers选项,只允许特定用户登录
- 设定密码策略
- 对用户密码强度的设定
- 对用户的登录次数进行限制(推荐)
- 禁止root用户远程登录(推荐)
- 禁止使用空白密码的用户访问
- 使用 SSH 版本 2
- 设置历史命令保存条数和账户超时时间
- 设置只有指定用户组才能使用su命令切换到root用户(推荐)
- 对Linux账户进行管理
- 对重要的文件进行锁定,即使ROOT用户也无法删除
- 关闭TCP端口转发和X11转发
- 总脚本
- /etc/ssh/sshd_config配置说明
- 参考
简介
挂了公网的云服务器特别容易遭到黑客的攻击,对于端口是默认端口(22、1521、3389等端口)或密码是弱密码或密码和用户名一样的的用户来说,特别容易被入侵。
SSH 是一种广泛使用的协议,用于安全地访问 Linux 服务器。大多数用户使用默认设置的 SSH 连接来连接到远程服务器。但是,不安全的默认配置也会带来各种安全风险。具有开放 SSH 访问权限的服务器的 root 帐户可能存在风险。尤其是如果您使用的是公共 IP 地址,则破解 root 密码要容易得多。
所有服务器管理员都应该考虑数据和数据安全问题。服务器安全是一个非常敏感的问题,因为攻击的主要焦点是 Web 服务器,它们几乎包含有关系统的所有信息。由于大多数服务器都在 Linux 基础架构上运行,因此熟悉 Linux 系统和服务器管理非常重要。
SSH 安全只是保护服务器的方法之一。可以通过停止、阻挡或减缓攻击来最大程度地减少您受到的伤害。除了提供 SSH 安全性之外,您还可以实施许多不同的方法来保护您的 Linux 服务器。
修改默认端口(推荐)
默认的 SSH 连接端口是 22。当然,所有的攻击者都知道这一点,因此需要更改默认端口号以确保 SSH 安全。尽管攻击者可以通过 Nmap 扫描轻松找到新的端口号,但这里的目标是让攻击者的工作更加困难。
通过SSH密码方式远程登录云服务器。
执行以下命令,修改SSH登录的默认端口,比如修改为“5000”。
1vim /etc/ssh/sshd_config按“i”进入编辑模式,在第17行,将注释符“#”删掉,修改为“Port 5000”。
按“Esc”,输入:wq保存并退出。
在这一步之后,使用sudo systemctl restart ssh再次重启 SSH 服务。现在您可以使用刚刚定义的端口访问您的服务器。如果您使用的是防火墙,则还必须在此处进行必要的规则更改。在运行netstat -tlpn命令时,您可以看到您的 SSH 端口号已更改。
增加防火墙规则:开放指定端口
CentOS 7系列操作系统的默认防火墙是fireware,而不是iptables。因此,如果系统是默认防火墙,则不需要执行本节操作;如果安装过iptables,则要参考本节指导开放SSH登录的5000端口。
执行以下命令,检查是否安装了iptables。
service iptables status
执行以下命令增加iptables规则,开放5000端口。
1iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 5000 -j ACCEPT执行以下命令查看iptables现有规则是否已包含5000端口。
1iptables -L -n
添加安全组规则
安全组中的入方向规则默认开启了22端口,当云服务器的SSH登录端口修改为5000时,需要为安全组新加一条规则。
登录管理控制台。
选择“计算 > 弹性云服务器”,进入云服务器控制台。
单击云服务器名称“ecs-f5a2”进入详情页面。
选择“安全组”页签,单击展开安全组规则详情,单击列表右上角的“更改安全组规则”。
本人提供Oracle(OCP、OCM)、MySQL(OCP)、PostgreSQL(PGCA、PGCE、PGCM)等数据库的培训和考证业务,私聊QQ646634621或微信db_bao,谢谢!