当你新开通一台 Linux 服务器时,可以通过如下几点保证安全。
以 Ubuntu 系统为例:
1、修改 root 账户密码
将 root 密码更改为长而复杂的密码。您不需要记住它,只需将其存储在安全的地方。只有在您无法通过 ssh 登录账户 或丢失登录账户的 sudo 密码时才需要此密码。
2、保持内核最新
3、安装 Fail2ban
Fail2Ban
是一款入侵防御软件,可以保护服务器免受暴力攻击。 它是用 Python 编程语言编写的。 Fail2Ban
基于 auth
日志文件工作,默认情况下它会扫描所有 auth
日志文件,如 /var/log/auth.log
、/var/log/apache/access.log
等,并禁止带有恶意标志的IP,比如密码失败太多,寻找漏洞等等标志。
如果找到,它将更改防火墙规则以永久或在指定的时间内拒绝攻击者的IP地址。 它也会发送邮件通知。 Fail2Ban 为各种服务提供了许多过滤器,如 ssh
、apache
、nginx
、squid
、named
、mysql
、nagios
等。
Fail2Ban 能够降低错误认证尝试的速度,但是它不能消除弱认证带来的风险。 这只是服务器防止暴力攻击的安全手段之一。
可以通过以下命令来安装Fail2ban:
然后复制包含的配置文件:
并重新启动Fail2ban:
该软件将持续检查日志文件,寻找攻击。一段时间后,该应用程序将建立一个相当多的被禁止的IP地址列表。您可以通过使用以下命令请求SSH服务的当前状态来查看此列表:
4、创建登录用户并为其创建sudo权限
我们一般给服务器配置两个用户:root 和 deploy。deploy 帐户是开发人员登录的帐户,给deploy配置密码、赋予sudo权限。
使用 visudo 命令设置sudo权限,visudo命令是使用vi打开/etc/sudoers
文件,但是在保存退出时,visudo会检查内部语法,避免用户输入错误信息
进入编辑模式,找到这一行:
root ALL=(ALL) ALL
在其下面添加 deploy ALL=(ALL) ALL
,然后保存退出。
5、配置公钥认证登录并禁止root账户登录和密码登录
为你的帐户使用公钥身份验证,将大大提高账户的安全性和易用性。
参考文档[1]
6、设置防火墙
没有防火墙,服务器是不安全的。 Ubuntu 提供了 ufw,它使防火墙管理变得容易:
这将设置一个基本防火墙,并将服务器配置为接受端口 80 和 443 上的流量。您可能希望添加更多端口,具体取决于服务器将要执行的操作。
7、启用自动安全更新
多年来,我已经养成了 apt-get update/upgrade
的习惯,但当有十几台服务器时,我发现我登录频率较低的服务器并没有保证及时的更新。特别是对于负载平衡的机器,它们都保持更新是很重要的。虽然自动安全更新让我有些不放心,但服务器存在未修补的安全漏洞会导致更加严重的后果。
将文件修改为如下所示:
还要编辑一个配置文件:
将文件更新为如下所示。您应该禁用更新仅启用安全更新:
8、安装 Logwatch 来监视你的服务器
Logwatch 是一个监控您的日志并将其通过电子邮件发送给您的守护程序。这对于跟踪和检测入侵很有用。如果有人非法访问您的服务器,通过电子邮件发送给您的日志将有助于确定发生了什么以及何时发生 – 因为您服务器上的异常日志可能已被清除。
添加这一行:
引用链接
[1]
参考文档: https://www.muouseo.com/article/qk2vmoep0m.html
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.e1idc.net