要使服务器遭受攻击的风险降到最低,您可以采取一些措施来关闭攻击者可能访问的大量潜在漏洞。
第一个更改是禁止root用户通过SSH登录。您现在可以不带密码地访问ubuntu帐户,并可以通过sudo运行管理员命令,这样您就无需暴露root帐户。为了禁用root登录,需要在服务器上编辑/etc/ssh/sshd_config文件。您可能已经在服务器上安装了vi和nano文本编辑器,您可以使用它编辑文件(如果您不熟悉这两种类型,可以先尝试使用nano)。因为SSH配置对于普通用户是不可访问的,所以您需要将sudo添加到编辑器命令之前(即sudovi/etc/ssh/sshd_config)。您需要在此文件中更改一行:
tc/ssh/sshd_config:root登录被禁用。
PermitRootLogin no
要进行此更改,您需要找到以PermitRootLogin开头的行(如果没有找到,则创建一个新行),然后将值更改为no。
下次更改位于同一文件中。下面我将禁用所有帐户的密码登录。您的登录设置没有密码,因此不需要允许使用密码。如果您担心密码被完全禁用,可以跳过此更改,但是对于生产服务器来说,这是个很好的主意,因为攻击者经常在所有服务器上尝试随机帐户名和密码,并且希望获得奖励。为了禁用密码登录,请在/etc/ssh/sshd_config中下移一步:
tc/ssh/sshd_config:密码登录被禁用。
基本分析代理。
在编辑SSH配置之后,需要重新启动ssh服务,更改才能生效:
$sudoservicesshrest
第三个变化是我要安装防火墙。此软件阻止访问任何没有明确启用端口的服务器:
$sudoapt-getinstall-yufw
$sudoufwallowssh
$sudoufwallowhttp
$sudoufwallow443/tcp
$sudoufw--forceenable
$sudoufwstatus
这两个命令安装ufw(简单防火墙),在端口22(ssh)、80(http)和443(https)上配置为只允许外部通信。不允许任何附加端口。