14804407694770

可能大多数人都觉得Linux是安全的吧?但我要告诉你,这种想法绝对是错误的!假设你的笔记本电脑在没有增强安全保护的情况下被盗了,小偷首先就会尝试用“root”(用户名)和“toor”(密码)来登录你的电脑,因为这是KaliLinux的默认用户名和密码,而大多数人仍然会继续使用它们。你是否也是这样?我希望你不是!

在这篇文章中,我将会与大家分享一些能够让你的Linux主机更加安全的方法,其中还会包括一些渗透测试技巧。需要注意的是,目前市面上有很多不同的Linux发行版,从命令行工具的角度来看,这些版本虽然各有不同,但原理和处理逻辑是一样的。接下来,让我们开始吧!

1-记录主机信息

每当你在对一台新的Linux主机进行安全增强工作时,你需要创建一个文档并在文档中记录下本文所列出的各种项目,而且在工作完成之后,你还要对这些项目进行核查。除此之外,在文档的开头处,你需要记录下这台Linux主机的相关信息:

  • 设备名称
  • IP地址
  • Mac地址
  • 进行安全增强工作的负责人(其实就是你)
  • 日期
  • 资产编号(如果你在为一家企业工作,那么你就需要记录下这台设备的资产编号)

2-BIOS保护

你需要为这台主机的BIOS设置一个密码,以确保终端用户无法修改或覆盖BIOS中的安全设置,这是非常重要的!BIOS的管理员密码设置完成之后,你需要禁止主机从外部媒体设备(USB/CD/DVD)启动。如果你忽略了这项设置,那么任何人都可以通过一个写入了启动镜像的U盘来访问这台主机中的数据。

在新版服务器的主板中内置有一个Web服务器,你可以利用它来远程访问主机中的数据。所以你要确保已经修改了服务器管理页面的默认密码,如果可以的话,请直接禁用这个功能。

3-硬盘加密(机密性)

大多数Linux发行版在进行安装之前,都允许你对磁盘进行加密。磁盘加密是非常重要的,因为当你的计算机被盗之后,就算小偷将你的硬盘插入他们自己的计算机中也仍然无法读取你的数据。

在下图中,选择列表中的第三个选项:Guided-use entire disk and set up encrypted LVM(LVM代表逻辑卷管理器)。

14804408538764

如果你的Linux发行版不支持加密的话,你可以选择使用类似TrueCrypt这样的加密软件。
14804408729085

4-磁盘保护(可用性)

数据备份是一个很好的习惯,当系统发生崩溃或系统更新出现故障时,备份的优点就突显出来了。对于某些重要的服务器来说,为了防止灾难(包括自然灾害和人为因素)带来的影响,备份数据通常需要进行离线存储。当然了,备份也需要我们花精力去管理。比如说,旧的备份文件需要保存多久?何时需要对系统进行备份?(每天?每周?还是每月?)

核心系统的磁盘需要进行多个分区:

  • /
  • /boot
  • /usr
  • /home
  • /tmp
  • /var
  • /opt

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

1480440896447

5-锁定boot目录

boot目录中包含大量的重要文件,这些文件与Linux内核有关,所以你需要通过下列步骤来确保这个目录只开放了“只读”权限。首先,打开“fstab”文件。

14804409255040

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

14804409351938

这一步完成之后,你需要执行下列命令来设置该文件的拥有者:

接下来还需要设置一些权限来保护启动设置:

-设置/etc/grub.conf的拥有者(owner)和组(group)为root用户:

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

-单用户模式需要进行身份验证:

 

6-禁用USB存储设备

根据你系统的重要程度,有时你需要禁止Linux主机使用USB存储设备。现在有很多种方法可以禁用USB存储设备,下面给大家提供的是最常用的一种:

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

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

然后打开rc.local文件:

添加下面这两行数据:

 

7-系统更新

首次启动之后,第一件事就是更新系统,这一步应该算比较简单了。通常情况下,你可以打开终端,然后执行相应的命令即可。在Kali Linux中,你可以使用下图所示的命令进行系统更新:

14804410354023

14804410381411

8-检查已安装的package

列出你Linux系统中所有已安装的package,然后删除那些你不需要的。如果你正在操作的是一台服务器的话,那么你就要非常仔细了,因为服务器中一般只用安装必须使用的应用程序和服务。你可以通过下图所示的命令列出Kali Linux中安装的package:

14804410529379

请记住,禁用那些你不需要的服务可以降低服务器的攻击面。如果你在自己的Linux服务器中发现了下面这些遗留服务的话,请赶紧删除它们:

  • Telnet server
  • RSH server
  • NIS server
  • TFTP server
  • TALK server

9-检查开放端口

识别面向互联网的开放连接是一项非常重要的任务。在Kali Linux中,我们可以使用下图所示的命令来发现隐藏的开放端口:

14804410911052

10-增强SSH的安全性

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

14804411076256

-将默认端口号(22)修改为其他的数字(例如99)。

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