学习啦>学习电脑>电脑安全>网络安全知识>

如何使Linux服务器变得更安全有什么设置方法

加城分享

  网络安全是目前互联网的热门话题之一,作为个人用户的我们同样需要关注,做好防护。我运行着几台Linux服务器;家里一台,充当文件服务器,还有三台活动服务器,分别用作我的站点服务器、邮件服务器和云存储服务器。虽然我并不担心家里那台服务器,因为它并不与外界进行联系,可是另外三台服务器却要精心维护,而且始终要精心维护。下面看看具体步骤

  方法步骤

  安装所需的服务

  如果你打算运行一台服务器,可能会想“我有来自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

  去掉该行注释,选择一个端口号。在选择端口时,务必要确保它没有被你系统上的其他任何服务所使用,我为服务器选择了端口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进入到服务器。如果你经常从不同的机器登录进入到服务器,千万不要使用这一方法。

  相关阅读:2018网络安全事件:

  一、英特尔处理器曝“Meltdown”和“Spectre漏洞”

  2018年1月,英特尔处理器中曝“Meltdown”(熔断)和“Spectre” (幽灵)两大新型漏洞,包括AMD、ARM、英特尔系统和处理器在内,几乎近20年发售的所有设备都受到影响,受影响的设备包括手机、电脑、服务器以及云计算产品。这些漏洞允许恶意程序从其它程序的内存空间中窃取信息,这意味着包括密码、帐户信息、加密密钥乃至其它一切在理论上可存储于内存中的信息均可能因此外泄。

  二、GitHub 遭遇大规模 Memcached DDoS 攻击

  2018年2月,知名代码托管网站 GitHub 遭遇史上大规模 Memcached DDoS 攻击,流量峰值高达1.35 Tbps。然而,事情才过去五天,DDoS攻击再次刷新纪录,美国一家服务提供商遭遇DDoS 攻击的峰值创新高,达到1.7 Tbps!攻击者利用暴露在网上的 Memcached 服务器进行攻击。网络安全公司 Cloudflare 的研究人员发现,截止2018年2月底,中国有2.5万 Memcached 服务器暴露在网上 。

  三、苹果 iOS iBoot源码泄露

  2018年2月,开源代码分享网站 GitHub(软件项目托管平台)上有人共享了 iPhone 操作系统的核心组件源码,泄露的代码属于 iOS 安全系统的重要组成部分——iBoot。iBoot 相当于是 Windows 电脑的 BIOS 系统。此次 iBoot 源码泄露可能让数以亿计的 iOS 设备面临安全威胁。iOS 与 MacOS 系统开发者 Jonathan Levin 表示,这是 iOS 历史上最严重的一次泄漏事件。

  四、韩国平昌冬季奥运会遭遇黑客攻击

  2018年2月,韩国平昌冬季奥运会开幕式当天遭遇黑客攻击,此次攻击造成网络中断,广播系统(观众不能正常观看直播)和奥运会官网均无法正常运作,许多观众无法打印开幕式门票,最终未能正常入场。

  五、加密货币采矿软件攻击致欧洲废水处理设施瘫痪

  2018年2月中旬,工业网络安全企业 Radiflow 公司表示,发现四台接入欧洲废水处理设施运营技术网络的服务器遭遇加密货币采矿恶意软件的入侵。该恶意软件直接拖垮了废水处理设备中的 HMI 服务器 CPU,致欧洲废水处理服务器瘫痪 。

  Radiflow 公司称,此次事故是加密货币恶意软件首次对关键基础设施运营商的运营技术网络展开攻击。由于受感染的服务器为人机交互(简称HMI)设备,之所以导致废水处理系统瘫痪,是因为这种恶意软件会严重降低 HMI 的运行速度。


如何使Linux服务器变得更安全有什么设置方法相关文章:

1.Linux 服务器提高安全性的技巧方法

2.有哪些方法可以提高Linux服务器安全性

3.linux关闭服务命令

4.Linux中怎么设置透明代理

5.网络安全知识

    4040977