切记这七点 让你的Linux服务器变得更安全

我运转着几台Linux效劳器;家里一台,充当文件效劳器,还有三台活动效劳器,分别用作我的站点效劳器、邮件效劳器和云存储效劳器。虽然我并不担心家里那台效劳器,因为它并不与外界停止联系,可是另外三台效劳器却要精心维护,而且始终要精心维护。有些Linux新手想运转自己的效劳器,必须切记几个事项,这正是本文的重点所在。

图1:运转中的效劳。

装配所需的效劳

假如你打算运转一台效劳器,可能会想“我有来自Linode的40GB固态硬盘(SSD)存储体系,于是我能够装配想要装配的任何效劳。”没错,你的地盘你作主:能够在效劳器上装配任意软件。不外,别犯想当然的毛病。连最固若金汤的效劳器也会因有人钻了在该效劳器上运转的任何未打补丁或易受攻击的软件组件的空子而被劫持。

所以,头一条规矩就是让你的效劳器尽量精简。只装配你确实须要的那些程序包。如果有不须要的程序包,那就清除。程序包数量越少,代码没打上补丁的可能性就越小。在装配任何软件和依赖程序包(比如ownCloud)之前,你应当读一下ownCloud的说明文档,只装配它须要的那些程序包。

运转所需的效劳

第二条规矩就是只运转须要的那些效劳。许多发行版或程序包可能会开启某些效劳,在差别的端口上运转。这可能会带来安全风险。于是,翻开终端,运转下列下令:

netstat -npl

输出结果会显示哪些效劳在哪些端口上运转。假如你发现任何不应当运转的效劳,停止它。你还应当密切关注已被启用、体系启动时运转的效劳。只有在运转systemd的体系上运转下列下令,就能够来检查这方面:

systemctl list-unit-files --type=service | grep enabled

视体系而定,你会获得如上图1中所示的输出结果。如果你发现任何不须要的效劳,能够应用强大的systemct1下令来禁用它:

systemctl disable service_name

限制对效劳器的访问

就好比你不会把自家钥匙随随便便交给认识的人,也不会将访问效劳器的权限交随随便便授予认识的人。一旦明确了这个规矩,就能够限制对效劳器的访问。要切记这点:这所有打消不了决意要破坏你效劳器的坏人的念头。不外,其作用在于为你的效劳器增加了多一层的安全,防范只是捡漏的不法分子。

千万不要以根用户的身份登录

以超级用户的身份经由ssh进入到效劳器不是一个好做法。我们后面会禁止以根用户身份经由ssh进入到效劳器,不外在这么做之前,不妨创立一个拥有sudo权限的用户,那样你就能经由ssh进入到效劳器,执行管理员任务了。一旦你登录进入到效劳器,总是能够将用户切换成根用户,假如须要的话。假如你已经在体系上有了用户,就跳过几步;不然,跟着我走。

差别的发行版应用差别的方法来增加新用户;Red Hat/CentOS应用useradd,Ubuntu/Debian应用user adduser。

在Fedora/CentOS上创立新用户:

useradd swapnil

而后,为该用户创立暗码:

passwd swapnil

它会要求你为它提供用户的新暗码。当初,你须要为该用户授予sudo权限。运转下列下令:

EDITOR=nano visudo

寻觅下面这一行(见图2):

# %wheel ALL=(ALL) ALL

图2:为用户授予sudo权限。

去掉该行的解释(#符号意味着该行被解释;只有去掉这个符号,即可去掉解释),那样它看起来就像这样:

%wheel ALL=(ALL) ALL

当初,保留并封闭文件。假如用户不属于wheel组,你只有运转下面这个下令,就能够将它轻松增加到组:

# usermod -aG wheel swapnil

在Ubuntu体系上,你能够增加新用户,为此运转下列下令:

adduser swapnil

回答体系提出的一些问题,包括为该用户创立暗码。一旦创立完毕,为用户授予sudo权限:

gpasswd -a swapnil sudo

翻开另一个终端窗口,试着以刚创立的用户的身份登录进入到效劳器,试着以sudo权限执行一些管理员任务。如果所有正常,进入到下一步。

禁用根用户登录

我们当初要禁用根用户登录,这意味着没人能够以根用户的身份经由ssh或登录进入到效劳器。为此,翻开sshd设置文件:

nano /etc/ssh/sshd_conf

下一步,寻觅显示下列内容的这一解释行:

#PermitRootLogin no

而后保留并封闭该文件,重启效劳:

service ssh restart

或者

systemctl restart sshd

重要提醒:这时切莫退出效劳器。你要测试能不能应用刚创立的用户成功地经由ssh进入到效劳器。翻开终端的另一个实例,以之前创立的用户经由ssh进入到效劳器。你不希望完全被锁在效劳器外面。如果所有都正常,你能够以根用户身份安全地注销退出效劳器。

变更端口

我们对sshd设置文件要停止的第二个变化就是更改默认端口。这主如果增加一层隐匿性,让你的效劳器确保安全,而不是给效劳器果真增加任何实际的安全机制。这就好比保安效劳公司派一样的车辆来运送重要人物,那样攻击者就不知道该攻击哪些车了。

翻开sshd_config文件(这回以sudo权限翻开,因为你再也不能以根用户身份登录进入到效劳器了):

sudo nano /etc/ssh/sshd_conf

而后,找到这一解释行:

#Port 22

去掉该行解释,抉择一个端口号。在抉择端口时,务必要确保它没有被你体系上的其他任何效劳所应用。你能够从维基百科的这篇文章(https://en.wikipedia.org/wiki/Port_%28computer_networking%29#Common_port_numbers)详细了解哪些端口通常已应用,避免此类端口。我为效劳器抉择了端口1977:

Port 1977

下一步,保留并封闭文件,重启sshd效劳。再一次,注销退出效劳器之前,检查一下设置,为此能够翻开另一个终端窗口,而后应用该模式登录进去:

ssh -p{port_number}@server_IP

示例:

ssh -p1977
swapnil@10.14.190.118

假如你能成功登录进去,就搞定了。

无暗码登录

你能够经由无暗码登录更容易经由ssh进入到效劳器,并且完全禁用暗码验证,增加另一层安全。务必要切记一点:你只能够从创立ssh密钥的那台呆板登录进入到你的效劳器。

不妨应用下列下令,在本地体系上创立ssh密钥(见图3):

ssh-keygen - t rsa

图3:创立ssh密钥。

它会提出一些问题;你不用更改密钥位置,保留其默认值,为它提供一个难以猜中的通行码。下一步,你须要将这些密钥拷贝到效劳器上,那样两台呆板就能应用密钥与对方停止联系了。

cat ~/.ssh/id_rsa.pub | ssh -p 1977 swapnil@remote-server ";mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"

当初,试着从另一个终端经由ssh进入到效劳器;如果所有正常,它不会要求你输入暗码。

这一步主如果为了方便,而不是增加一些实实在在的安全。不外你也能够增加一点安全,只有禁用效劳器的暗码验证。只需翻开sshd设置文件,寻觅这解释的一行:

#PasswordAuthentication yes

去掉该行解释,将它从yes改成no。保留并封闭文件。而后,重启sshd效劳。再一次,切莫从当前窗口封闭效劳器连接。翻开另一个窗口,登录进入到效劳器(确保它没有要求输入暗码)。

这个设置的另一个方面在于,你当初只能从创立ssh密钥的那一台呆板经由ssh进入到效劳器。假如你经常从差别的呆板登录进入到效劳器,千万不要应用这一方法。

结束语

这些是试图自行运转效劳器的新用户须要考虑的一些基本方面。切记一点:黑客总是先行一步;他们不断寻觅进而闯入你效劳器的任何漏洞。因而,最佳实践就是对你的效劳器做一套始终最新的备份。我建议你在对站点做任何变化前后都应当停止备份。那样一来,万一你的效劳器中了招,总是能够从上一套备份恢复过来。

如果你有什么问题或建议,欢迎留言交流!

英文:How To Make Your Linux Server More Secure

【编辑推荐】

  1. TEL:(010)68476606】

转载自:https://netsecurity.51cto.com/art/201508/488136.htm

声明: 除非转自他站(如有侵权,请联系处理)外,本文采用 BY-NC-SA 协议进行授权 | 嗅谱网
转载请注明:转自《切记这七点 让你的Linux服务器变得更安全
本文地址:http://www.xiupu.net/archives-4516.html
关注公众号:嗅谱网

赞赏

wechat pay微信赞赏alipay pay支付宝赞赏

上一篇
下一篇

相关文章

在线留言

你必须 登录后 才能留言!