当前位置: 首页 > 科技观察

安全加固您的Linux服务器的七个步骤_0

时间:2023-03-22 10:41:33 科技观察

通过七个简单的步骤加固您的Linux服务器。这篇介绍性文章将向您介绍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.安全强化SSH接下来,进行以下三项更改:禁用SSH密码身份验证限制root远程登录限制对IPv4或IPv6的访问使用您选择的文本编辑器打开/etc/ssh/sshd_config并确保以下行:PasswordAuthenticationyesPermitRootLoginyes将其更改为:PasswordAuthenticationnoPermitRootLoginno接下来,通过修改AddressFamily选项将SSH服务限制为IPv4或IPv6。要将其更改为仅使用IPv4(这对大多数人来说应该没问题),请进行以下更改:AddressFamilyinet重新启动SSH服务以启用您的更改。请注意,在重新启动SSH服务之前与服务器建立两个活动连接是个好主意。使用这些额外的连接,您可以修复所有问题,以防重新启动SSH服务出错。在Ubuntu上:$sudoservicesshdrestart在Fedora或CentOS或任何使用Systemd的系统上:$sudosystemctlrestartsshd5.启用防火墙现在您需要安装防火墙,启用它,并将其配置为仅允许网络流量通过通过。UncomplicatedFirewall(UFW)(在Ubuntu上)是一个易于使用的iptables界面,它大大简化了防火墙配置过程。您可以使用以下命令安装UFW:$sudoaptinstallufw默认情况下,UFW拒绝所有传入连接并允许所有传出连接。这意味着服务器上的任何应用程序都可以访问互联网,但任何试图访问服务器的应用程序都无法连接。首先,确保您可以通过启用对SSH、HTTP和HTTPS的访问来登录:$sudoufwallowssh$sudoufwallowhttp$sudoufwallowhttps然后启用UFW:$sudoufwenable您可以查看允许和拒绝什么服务已启用:$sudoufwstatus如果你想禁用UFW,你可以输入:$sudoufwdisable.6.安装Fail2banFail2ban是一个检查服务器日志以发现重复或自动攻击的应用程序。如果发现任何攻击,它会更改防火墙以永久或在指定时间段内阻止攻击者的IP地址。您可以通过键入以下命令安装Fail2ban:$sudoaptinstallfail2ban-y然后复制随附的配置文件:$sudocp/etc/fail2ban/jail.conf/etc/fail2ban/jail.local重启Fail2ban:$sudoservicefail2banrestart执行诡计。该软件将不断检查日志文件是否存在攻击。一段时间后,该应用程序将建立相当多的被禁止IP地址列表。您可以通过查询SSH服务的当前状态来查看此列表:$sudofail2ban-clientstatusssh7.删除无用的网络服务几乎所有的Linux服务器操作系统都启用了一些面向网络的服务。您可能希望保留其中的大部分,但是,您可能希望删除一些。您可以使用ss命令查看所有正在运行的网络服务:您的操作系统。这是一个示例,显示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服务器所需的最少步骤。您应该根据服务器的使用方式启用额外的安全层。这些安全层可能包括单独的应用程序配置、入侵检测软件(IDS)和启用访问控制(例如,双因素身份验证)等内容。