本文概述
保护操作系统与你的网站, Web应用程序, 在线业务一样重要。
你可能会在安全性插件, WAF, 基于云的安全性上进行支出, 以保护你的站点(第7层), 但如果不加强操作系统的设置可能会很危险。
趋势正在改变。
Web正在从共享托管迁移到云, 以实现多种优势。
- 由于没有其他用户共享资源, 因此响应时间更快
- 完全控制技术堆栈
- 完全控制操作系统
- 低成本
“拥有权利的同时也被赋予了重大的责任”
在将网站托管在云VM上时, 你获得了更高的控制权, 但是这需要一点系统管理员技能来管理VM。
你准备好了吗?
注意:如果你不愿意花费时间, 可以选择管理AWS, Google Cloud, Digital Ocean, Linode, Vultr&Kyup VM的Cloudways。
让我们进入实用指南来保护Ubuntu和CentOS VM。
云服务器安全提示
- 更改SSH默认端口
- 防范蛮力攻击
- 禁用基于密码的身份验证
- 抵御DDoS攻击
- 定期备份
- 定期更新
- 不要离开开放的港口
更改SSH默认端口
默认情况下, SSH守护程序侦听端口号22。这意味着, 如果有人发现你的IP可以尝试连接到你的服务器。
如果你使用复杂的密码进行保护, 则它们可能无法进入服务器。但是, 它们可以发动蛮力攻击来干扰服务器的运行。
最好的办法是将SSH端口更改为其他端口, 这样即使有人知道IP地址, 他们也无法尝试使用默认的SSH端口进行连接。
在Ubuntu / CentOS中更改SSH端口非常容易。
- 使用root特权登录到你的VM
- 备份sshd_config(/ etc / ssh / sshd_config)
- 使用VI编辑器打开文件
vi /etc/ssh/sshd_config
查找具有端口22的行(通常在文件的开头)
# What ports, IPs and protocols we listen for
Port 22
- 将22更改为其他数字(请记住, 因为需要连接该数字)。假设5000
Port 5000
- 保存文件并重新启动SSH守护程序
service sshd restart
现在, 你或任何人将无法使用SSH默认端口连接到你的服务器。相反, 你可以使用新端口进行连接。
如果在MAC上使用SSH客户端或终端, 则可以使用-p定义自定义端口。
ssh -p 5000 [email protected]
很简单, 不是吗?
防范蛮力攻击
黑客用来控制你的在线业务的常见机制之一是对WordPress, Joomla等服务器和Web平台发起暴力攻击。
如果不认真对待, 这可能很危险。你可以使用两种流行的程序来保护Linux免受暴力侵害。
SSH防护
SSHGuard从系统日志文件监视正在运行的服务, 并阻止重复的错误登录尝试。
最初, 它用于SSH登录保护, 但现在它支持许多其他功能。
- 纯FTP, PRO FTP, VS FTP, FreeBSD FTP
- 进出口
- 发送邮件
- 鸽舍
- 瓜皮
- Wimap
你可以使用以下命令安装SSHGuard。
Ubuntu:
apt-get install SSHGuard
CentOS的:
wget ftp://ftp.pbone.net/mirror/ftp5.gwdg.de/pub/opensuse/repositories/home:/hornos:/centos/CentOS_CentOS-6/x86_64/sshguard-1.5-7.1.x86_64.rpm
rpm -ivh sshguard-1.5-7.1.x86_64.rpm
失败2禁
Fail2Ban是另一个流行的保护SSH的程序。如果失败的登录尝试达到定义的阈值, 则Fail2Ban自动更新iptables规则。
要在Ubuntu中安装Fail2Ban:
apt-get install fail2ban
并在CentOS中安装:
yum install epel-release
yum install fail2ban
SSH Guard和Fail2Ban应该足以保护SSH登录。但是, 如果你需要进行更多探索, 可以参考以下内容。
- CSF(ConfigServer安全性和防火墙)
- 拒绝主机
禁用基于密码的身份验证
如果从一台或两台计算机登录到服务器, 则可以使用基于SSH密钥的身份验证。
但是, 如果你有多个用户, 并且经常从多个公用计算机登录, 那么每次交换密钥都可能很麻烦。
因此, 根据情况, 如果你选择禁用基于密码的身份验证, 则可以执行以下操作。
注意:这假设你已经设置了SSH密钥交换。
- 使用vi编辑器修改/ etc / ssh / sshd_config
- 添加以下行或取消注释(如果存在)
PasswordAuthentication no
- 重新加载SSH守护程序
抵御DDoS攻击
DDoS(分布式拒绝服务)可以发生在任何层, 这是你作为企业所有者要拥有的最后一件事。
可以找到原始IP, 并且作为最佳实践, 你不应该将服务器IP公开到公共Internet。有多种方法可以隐藏”原始IP”以防止你的云/ VPS服务器上的DDoS。
使用负载平衡器(LB)–实现面向Internet的负载平衡器, 因此服务器IP不会暴露给Internet。你可以选择许多负载均衡器-Google Cloud LB, AWS ELB, Linode Nodebalancer, DO LB等。
使用CDN(内容交付网络)– CDN是提高网站性能和安全性的绝佳方法之一。
实施CDN时, 可以使用CDN提供程序提供的任意播IP地址配置DNS A记录。这样, 你正在为你的域宣传CDN提供者IP, 并且不公开来源。
有很多CDN提供商可以加快网站性能, DDoS保护, WAF和许多其他功能。
- 云耀斑
- 栈路径
- JUICE
- 密钥CDN
因此, 选择同时提供性能和安全性的CDN提供程序。
调整内核设置和iptables –你可以利用iptables阻止可疑请求, 非SYN, 伪造的TCP标志, 专用子网等。
除了iptables, 你还可以配置内核设置。 Javapipe已通过说明对它进行了很好的解释, 因此在此不再赘述。
使用防火墙–如果你买得起基于硬件的防火墙, 那就太好了, 否则, 你可能希望使用利用iptables来保护与VM的传入网络连接的基于软件的防火墙。
有很多, 但是最受欢迎的之一是用于Ubuntu的UFW(非复杂防火墙)和用于CentOS的FirewallD。
定期备份
备份是你的朋友!如果没有任何效果, 则备份将为你提供帮助。
事情可能会出错, 但是如果你没有还原所需的备份怎么办?大多数云或VPS提供商都提供了一些额外的费用来提供备份, 因此应始终考虑。
向你的VPS提供商咨询如何启用备份服务。我知道Linode和DO会收取备份价格的20%。
如果你使用的是Google Compute Engine或AWS, 请安排每日快照。
拥有备份将很快使你能够还原整个VM, 因此你可以重新开始工作。或在快照的帮助下, 你可以克隆VM。
定期更新
确保VM OS保持最新状态是确保服务器不遭受任何最新安全漏洞的重要任务之一。
在Ubuntu中, 你可以使用apt-get update来确保安装了最新的软件包。
在CentOS中, 你可以使用yum update
不要离开开放的港口
换句话说, 仅允许所需的端口。
像邀请攻击者一样保留不需要的开放端口以利用。如果你只是在VM上托管网站, 则很可能需要端口80(HTTP)或443(HTTPS)。
如果你使用的是AWS, 则可以创建安全组以仅允许所需的端口, 并将它们与VM关联。
如果你使用的是Google Cloud, 请使用”防火墙规则”允许必要的端口。
如果你使用的是VPS, 请按照Linode指南中的说明应用基本的iptables规则集。
以上内容应有助于你加固和保护服务器, 以更好地保护其免受在线威胁。
或者, 如果你尚未准备好管理VM, 那么你可能更喜欢管理多个云平台的Cloudways。而且, 如果你专门寻找高级WordPress托管服务, 那么这是一个。
评论前必须登录!
注册