本文将向您介绍基本的Linux服务器安全措施,主要针对Debian/Ubuntu,但您可以将本文涵盖的所有内容应用于其他Linux发行版。1.更新你的服务器为了保护你的服务器,你应该做的第一件事就是更新你的本地存储库,并通过应用新补丁来升级操作系统和已安装的应用程序。在Ubuntu和Debian上:$sudoaptupdate&&sudoaptupgrade-y在Fedora、CentOS或RHEL上:$sudodnfupgrade2.创建一个新的特权用户帐户接下来,创建一个新的用户帐户。切勿以root身份登录服务器。相反,创建您自己的帐户(),赋予它sudo权限,并使用它登录到您的服务器。首先创建一个新用户:$adduser通过将sudo组(-G)附加到用户的组成员身份来授予新用户帐户sudo权限:$usermod-a-Gsudo3.上传您的SSH密钥使用SSH密钥登录到新服务器。您可以使用ssh-copy-id命令将预先生成的SSH密钥上传到您的新服务器:$ssh-copy-id@ip_address现在您无需输入密码即可登录到您的新服务器。4.SecureSSH接下来,进行以下三项更改:禁用SSH密码身份验证限制root远程登录限制对IPv4或IPv6的访问使用您选择的文本编辑器打开/etc/ssh/sshd_config并确保以下行:PasswordAuthenticationyesPermitRootLoginyesLikethis:PasswordAuthenticationnoPermitRootLoginno接下来,通过修改AddressFamily选项将SSH服务限制为IPv4或IPv6。要将其更改为仅使用IPv4(对大多数人来说应该没问题),请进行以下更改:AddressFamilyinet重新启动SSH服务以启用您的更改。请注意,在重新启动SSH服务器之前,有两个活动的服务器连接。通过额外的连接,您可以在重启出错时修复所有问题。在Ubuntu上:$sudoservicesshdrestart在Fedora或CentOS或任何使用Systemd的系统上:$sudosystemctlrestartsshd5.启用防火墙安装防火墙,启用它,并将其配置为仅允许您指定的网络流量。简单防火墙(UFW)是一个易于使用的iptables接口,可大大简化防火墙配置过程。您可以使用以下命令安装UFW:$sudoaptinstallufw默认情况下,UFW拒绝所有传入连接并允许所有传出连接。这意味着服务器上的任何应用程序都可以访问互联网,但任何试图访问服务器的应用程序都无法连接。首先,确保您可以通过启用对SSH、HTTP和HTTPS的访问来登录:$sudoufwallowssh$sudoufwallowhttp$sudoufwallowhttps然后启用UFW:$sudoufwenable您可以使用Which查看允许和拒绝服务:$sudoufwstatus如果你想禁用UFW,你可以输入:$sudoufwdisable你也可以使用firewall-cmd,它已经安装并集成到一些发行版中。6.安装Fail2banFail2ban是一个检查服务器日志以发现重复或自动攻击的应用程序。如果发现任何内容,它会更改防火墙以永久或在指定时间段内阻止攻击者的IP地址。您可以通过键入以下命令安装Fail2ban:$sudoaptinstallfail2ban-y然后复制随附的配置文件:$sudocp/etc/fail2ban/jail.conf/etc/fail2ban/jail.local并重新启动Fail2ban:$sudoservicefail2banrestart软件会不断检查日志文件是否存在攻击。一段时间后,该应用程序将建立很多禁止的IP地址列表。您可以通过请求SSH服务的当前状态来查看此列表:$sudofail2ban-clientstatusssh7.删除未使用的面向网络的服务几乎所有Linux服务器操作系统都启用了一些面向网络的服务。您可能希望保留其中的大部分,但需要删除一些。您可以使用ss命令查看所有正在运行的网络服务:$sudoss-atpuss输出将取决于您的操作系统。这是您可能会看到的示例。它显示SSH(sshd)和Ngnix(nginx)服务正在侦听并准备连接:tcpLISTEN0128*:http*:*users:(("nginx",pid=22563,fd=7))tcpLISTEN0128*:ssh*:*users:(("sshd",pid=685,fd=3))如何删除未使用的服务("")将根据您的操作系统及其使用的包管理器而有所不同。在Debian/Ubuntu上删除未使用的服务:$sudoaptpurge在RedHat/CentOS上删除未使用的服务:$sudoyumremove再次运行ss-atup以确认不再安装和运行未使用的服务。本文介绍了保护Linux服务器的一些基本步骤。根据您使用服务器的方式,您还可以启用其他安全方法,包括单独的应用程序配置、入侵检测软件等功能,以及启用双因素身份验证等访问控制。