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

刘病已 1613

{{ttag.title}}

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”文件。

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

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

  • #chown root:root /etc/fstab

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

  • #chown root:root /etc/grub.conf

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

  • #chmod og-rwx /etc/grub.conf

-单用户模式需要认证:

  • #sed -i “/SINGLE/s/sushell/sulogin/”/etc/sysconfig/init
  • #sed -i “/PROMPT/s/yes/no/” /etc/sysconfig/init

6. 禁用USB存储设备

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

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

  • #nano /etc/modprobe.d/blacklist.conf

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

  • blacklist usb_storage

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

  • modprobe –r usb_storage
  • exit 0

7. 系统更新

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

  • apt-get update & apt-get upgrade

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远程登录:

  • PermitRootLogin no

-允许某些特殊用户:

  • AllowUsers [username]

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

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

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

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

  • #chown root:root etc/ssh/sshd_config
  • #chmod 600 /etc/ssh/sshd_config

11 – 启用SELinux

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

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

打开配置文件:

  • #nano /etc/selinux/config  

确保SELinux已打开:

  • SELINUX=enforcing

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。

打赏鼓励作者,期待更多好文!

打赏
暂无人打赏

Misel 发表于 2019-5-16 19:18
  
路过插眼,以后好找。
从现在开始 发表于 2019-5-17 00:14
  
路过插眼,以后好找。
发表新帖
热门标签
全部标签>
每日一问
功能体验
技术笔记
技术盲盒
新版本体验
2023技术争霸赛专题
技术咨询
干货满满
标准化排查
GIF动图学习
产品连连看
安装部署配置
信服课堂视频
秒懂零信任
自助服务平台操作指引
技术晨报
深信服技术支持平台
答题自测
答题榜单公布
卧龙计划
通用技术
畅聊IT
云计算知识
排障笔记本
安全攻防
社区帮助指南
专家问答
技术圆桌
在线直播
MVP
网络基础知识
升级
上网策略
测试报告
日志审计
问题分析处理
流量管理
每日一记
运维工具
用户认证
原创分享
解决方案
sangfor周刊
VPN 对接
项目案例
SANGFOR资讯
专家分享
技术顾问
信服故事
SDP百科
功能咨询
终端接入
授权
设备维护
资源访问
地址转换
虚拟机
存储
迁移
加速技术
产品预警公告
玩转零信任
信服圈儿
S豆商城资讯
技术争霸赛
「智能机器人」
追光者计划
纪元平台
华北区拉练
天逸直播
以战代练
文档捉虫活动
山东区技术晨报
齐鲁TV
华北区交付直播
每周精选

本版达人

SANGFOR...

本周分享达人