提高Linux安全性:14项检查建立安全的Linux服务器

1 – 记录主机信息

每当您正在使用新的Linux主机进行安全增强时,您需要创建一个文档并记录本文档中列出的项目,工作完成后,您将需要检查这些项目。另外,在开始时该文档,您需要记录有关Linux主机的信息:

设备名称 IP地址 MAC地址 负责安全提升工作的人(实际上是你) 日期 资产编号(如果您正在开展业务,则需要记录设备的资产编号)

2 – BIOS保护

您需要为此主机的BIOS设置密码,以确保最终用户无法修改或覆盖BIOS中的安全设置,这非常重要!设置BIOS管理员密码后,您需要从外部媒体设备(USB / CD / DVD)禁用主机启动。如果忽略此设置,任何人都可以通过写入引导映像的U盘访问此主机中的数据。

在内置Web服务器的新服务器主板中,您可以使用它来远程访问主机数据。因此,您需要确保已经修改了服务器管理页面的默认密码,如果可以,直接禁用此功能。

3 – 硬盘加密

大多数Linux发行版允许您在继续安装之前加密磁盘。磁盘加密非常重要,因为当您的电脑被盗时,即使小偷将您的硬盘驱入自己的电脑仍然无法读取您的数据。

在下图中,选择列表中的第三个选项:引导使用整个磁盘并设置加密的LVM(LVM代表逻辑卷管理器)。

如果您的Linux发行版不支持加密,则可以选择使用TrueCrypt等加密软件。

4 – 磁盘保护

数据备份是一个很好的习惯,当系统崩溃或系统更新失败时,突出显示备份的优点。对于一些重要的服务器,为了防止灾难(包括自然灾害和人为因素)的影响,备份数据通常需要离线存储。当然,备份也要求我们花费精力去管理。例如,需要保存旧备份文件多长时间?什么时候需要备份系统?(每日或每周)?

核心系统磁盘需要分区:

/ / boot / usr /家 / tmp / var /选择

磁盘分区可能在系统故障的情况下仍然保护系统的性能和安全性。在下图中,您可以在安装过程中看到由Kali Linux提供的分区选项。

5 – 锁定引导目录

引导目录包含大量与Linux内核相关的重要文件,因此您需要确保目录仅通过以下步骤“只读”才能打开。首先打开“fstab”文件。

接下来,添加下图所示的最后一行数据。

完成此步骤后,您需要执行以下命令来设置文件的所有者:

那么您需要设置一些权限来保护启动设置:-以root身份设置/etc/grub.com的所有者和组:

-设置/etc/grub.conf文件只有root可以读写:

-单用户模式需要认证:

6 – 禁用USB存储设备

根据您系统的重要性,有时您需要禁用Linux主机使用USB存储设备。有很多方法来禁用USB存储设备,以下是为您提供最常用的设备:

用你最喜欢的文本编辑器打开“blacklist.conf”文件:

打开文件后,将以下信息添加到文件底部并保存并退出:

然后打开rc.local文件,添加以下两行数据:

7 – 系统更新

第一次启动后,首先要更新系统,这个步骤应该被认为比较简单。通常,您可以打开终端,然后执行相应的命令。在Kali Linux中,您可以使用以下命令更新系统:

8 – 检查已安装的软件包

列出您的Linux系统中的所有已安装的软件包,然后删除不需要的软件包。如果您正在服务器上工作,那么您必须非常小心,因为服务器通常仅用于安装应用程序和服务。您可以按照以下命令列出在Kali Linux中安装的软件包:

记住要禁用那些不需要减少服务器攻击面的服务。如果您在自己的Linux服务器中发现以下遗留服务,请快速删除它们:

Telnet服务器 RSH服务器 NIS服务器 TFTP服务器 TALK服务器

9 – 检查打开的端口

识别与互联网的开放连接是非常重要的任务。在Kali Linux中,我们可以使用以下命令查找隐藏的开放端口:

10 – 增强SSH的安全性

是的,SSH真的很安全,但是我们还要继续在现有的基础上增强其安全性。首先,如果你可以禁用SSH,那么问题就解决了。但是,如果仍然需要使用它,则需要修改SSH的默认配置。切换到目录/ etc / ssh,然后打开“sshd_config”文件。

-将默认端口号(22)更改为另一个号码(例如99)。

-确保root用户无法通过SSH远程登录:

-允许某些特殊用户:

如果您需要更丰富的配置,请确保您阅读SSH手册并了解该文件中的所有配置项。

另外,您还需要确保在“sshd_config”文件中配置以下配置选项:

协议2 IgnoreRhosts为yes Hostbase验证无 PermitEmptyPasswords no 打开X11Forwarding 没有 MaxAuthTries 5 密码aes128-ctr,aes192-ctr,aes256-ctr ClientAliveInterval 900 ClientAliveCountMax 0 UsePAM 是的

最后,设置文件访问权限,以确保只有root用户可以修改文件的内容:

11 – 启用SELinux

SELinux是支持访问控制安全策略的内核安全机制。SELinux有三种配置模式:

禁用:关闭 允许:打印警告 执法:政策是强制执行

打开配置文件:

确保SELinux已打开:

12 – 网络参数

保护Linux主机网络活动也非常重要,从来没有希望防火墙能够帮助您完成所有的任务。打开/etc/sysctl.conf文件并进行以下设置:

- 将net.ipv4.ip_forward参数设置为0。 - 将net.ipv4.conf.all.send_redirects和net.ipv4.conf.default.send_redirects参数设置为0。 - 将net.ipv4.conf.all.accept_redirects和net.ipv4.conf.default.accept_redirects参数设置为0。 - 将net.ipv4.icmp_ignore_bogus_error_responses参数设置为1。

13 – 密码政策

人们通常在不同的地方使用相同的密码,这是一个非常糟糕的习惯。旧密码存储在/ etc / security / opasswd文件中,我们需要使用PAM模块来管理Linux主机中的安全策略。在Debian版本中,您可以打开/etc/pam.d/common-password文件,并添加以下信息,以防止用户重复使用最近使用的四个密码:

另一个密码策略是强制用户使用强大的密码。PAM模块提供了一个库(pam_cracklib),可以帮助您的服务器进行字典攻击和爆破攻击。打开/etc/pam.d/system-auth文件并添加以下信息:

Linux是密码哈希,所以你想确保系统使用SHA512哈希算法。

另一个有趣的功能是“五次锁定帐户后的密码输出错误”。打开/etc/pam.d/password-auth文件并添加以下数据:

然后打开/etc/pam.d/system-auth文件并添加以下信息:

密码错误五次后,只有管理员可以解锁帐号,解锁命令如下:

另一个好习惯就是设置“密码到期后的90天”。

- 将/etc/login.defs中的PASS_MAX_DAYS参数设置为90。

- 修改当前用户的密码到期时间:

现在,我们必须限制对su命令的访问。打开/etc/pam.d/su文件,然后设置pam_wheel.so参数:

最后一步是禁止非root用户访问系统帐户。可以使用以下bash脚本完成此步骤:

14 – 许可和验证

毫无疑问,如果要确保Linux主机的安全性,那么权限当然是最重要的。

使用以下命令为/ etc / anacrontab,/ etc / crontab和/etc/cron.*设置适当的权限:

为/ var / spool / cron分配适当的权限:

为“passwd”,“group”,“shadow”和“gshadow”文件分配适当的权限:

原文发布于微信公众号 - FreeBuf(freebuf)

原文发表时间:2017-04-09

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏北京马哥教育

【大型网站技术实践】初级篇:借助Nginx搭建反向代理服务器

一、反向代理:Web服务器的“经纪人” 1.1 反向代理初印象 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然...

50480
来自专栏Vamei实验室

Linux开机启动(bootstrap)

计算机开机是一个神秘的过程。我们只是按了开机键,就看到屏幕上的进度条或者一行行的输出,直到我们到达登录界面。然而,计算机开机又是个异常脆弱的过程,我们满心期望的...

28380
来自专栏伪君子的梦呓

使用github搭建个人博客

前言 为什么我要搭建一个个人博客呢?主要是为了方便自己分类一些东西,而且最近在学 html 和 css ,搭建一个博客来帮助自己理解一下。 文章主要分6个部分,...

46160
来自专栏玄魂工作室

Kali Linux Web渗透测试手册(第二版) - 2.2 - 使用Recon-ng收集信息

thr0cyte,Gr33k,花花,MrTools,R1ght0us,7089bAt,

17150
来自专栏张戈的专栏

CVE-2015-0235:Linux glibc高危漏洞的检测及修复方法

这几天复习运维知识,也没怎么关注业界新闻,可等我一关注,又“捅娄子”了,Linux 继上次CVE-2014-6271漏洞爆发以来,再次爆发一个严重漏洞:CVE-...

41840
来自专栏无题

分布式Session一致性解决方案

在分布式架构或微服务架构下,必须保证一个应用服务器上保存Session后,其它应用服务器可以同步或共享这个Session Web应用在单机部署的情况下,Ses...

45160
来自专栏北京马哥教育

Redis数据库安全手册

Redis是一个 高性能的key-value数据库,这两年可谓火的不行。而Redis的流行也带来一系列安全问题,不少攻击者都通过Redis发起攻击。本文将讲解...

36660
来自专栏漏斗社区

2018,我要Axublog。

0x00 背景 看了cnvd上有师傅发了Axublog 的漏洞,便对该源码进行分析和漏洞复现,在漏洞复现过程发现可以将这些漏洞组合利用从而通过前台SQL注入与后...

36190
来自专栏JMCui

Hybris安装和各个Extention简单介绍

前言:突然想好好梳理一下这几个月所学的内容了,顺便让自己的知识有一个系统的框架。这种安装仅仅适用于开发环境,不适于生产环境。 一、  安装JDK 请安装最新的O...

546110
来自专栏我是攻城师

IO设计模式之Reactor和Proactor

上面文章中,我们提到不同的操作系统实现的io策略可能不一样,即使是同一个操作系统也可能存在多重io策略,常见如linux上的select,poll,epoll,...

43510

扫码关注云+社区

领取腾讯云代金券