6 个提升 Linux 服务器安全的开源工具和技巧

系统 Linux 开源
本文基于我作为初学者迄今所学的知识,详细介绍了六个简单的步骤,以提高个人使用的 Linux 环境的安全性。在我的整个旅程中,我利用开源工具来加速我的学习过程,并熟悉了与提升 Linux 服务器安全有关的更高层次的概念。

[[393341]]

使用开源工具来保护你的 Linux 环境不被入侵。

如今我们的许多个人和专业数据都可以在网上获得,因此无论是专业人士还是普通互联网用户,学习安全和隐私的基本知识是非常重要的。作为一名学生,我通过学校的 CyberPatriot 活动获得了这方面的经验,在那里我有机会与行业专家交流,了解网络漏洞和建立系统安全的基本步骤。

本文基于我作为初学者迄今所学的知识,详细介绍了六个简单的步骤,以提高个人使用的 Linux 环境的安全性。在我的整个旅程中,我利用开源工具来加速我的学习过程,并熟悉了与提升 Linux 服务器安全有关的更高层次的概念。

我使用我最熟悉的 Ubuntu 18.04 版本测试了这些步骤,但这些步骤也适用于其他 Linux 发行版。

1、运行更新

开发者们不断地寻找方法,通过修补已知的漏洞,使服务器更加稳定、快速、安全。定期运行更新是一个好习惯,可以最大限度地提高安全性。运行它们:

  1. sudo apt-get update && apt-get upgrade

2、启用防火墙保护

启用防火墙 可以更容易地控制服务器上的进站和出站流量。在 Linux 上有许多防火墙应用程序可以使用,包括 firewall-cmd 和 简单防火墙Uncomplicated FirewallUFW)。我使用 UFW,所以我的例子是专门针对它的,但这些原则适用于你选择的任何防火墙。

安装 UFW:

  1. sudo apt-get install ufw

如果你想进一步保护你的服务器,你可以拒绝传入和传出的连接。请注意,这将切断你的服务器与世界的联系,所以一旦你封锁了所有的流量,你必须指定哪些出站连接是允许从你的系统中发出的:

  1. sudo ufw default deny incoming
  2. sudo ufw default allow outgoing

你也可以编写规则来允许你个人使用所需要的传入连接:

  1. ufw allow <service>

例如,允许 SSH 连接:

  1. ufw allow ssh

最后,启用你的防火墙:

  1. sudo ufw enable

3、加强密码保护

实施强有力的密码政策是保持服务器安全、防止网络攻击和数据泄露的一个重要方面。密码策略的一些最佳实践包括强制要求最小长度和指定密码年龄。我使用 libpam-cracklib 软件包来完成这些任务。

安装 libpam-cracklib 软件包:

  1. sudo apt-get install libpam-cracklib

强制要求密码的长度:

  • 打开 /etc/pam.d/common-password 文件。
  • 将 minlen=12 行改为你需要的任意字符数,从而改变所有密码的最小字符长度要求。

为防止密码重复使用:

  • 在同一个文件(/etc/pam.d/common-password)中,添加 remember=x 行。
  • 例如,如果你想防止用户重复使用他们最后 5 个密码中的一个,使用 remember=5

要强制要求密码年龄:

  • 在 /etc/login.defs 文件中找到以下几行,并用你喜欢的时间(天数)替换。例如:
  1. PASS_MIN_AGE: 3
  2. PASS_MAX_AGE: 90
  3. PASS_WARN_AGE: 14

强制要求字符规格:

  • 在密码中强制要求字符规格的四个参数是 lcredit(小写)、ucredit(大写)、dcredit(数字)和 ocredit(其他字符)。
  • 在同一个文件(/etc/pam.d/common-password)中,找到包含 pam_cracklib.so 的行。
    • 在该行末尾添加以下内容:lcredit=-a ucredit=-b dcredit=-c ocredit=-d
    • 例如,下面这行要求密码必须至少包含一个每种字符。你可以根据你喜欢的密码安全级别来改变数字。lcredit=-1 ucredit=-1 dcredit=-1 ocredit=-1

4、停用容易被利用的非必要服务。

停用不必要的服务是一种最好的做法。这样可以减少开放的端口,以便被利用。

安装 systemd 软件包:

  1. sudo apt-get install systemd

查看哪些服务正在运行:

  1. systemctl list-units

识别 哪些服务可能会导致你的系统出现潜在的漏洞。对于每个服务可以:

  • 停止当前正在运行的服务:systemctl stop <service>
  • 禁止服务在系统启动时启动:systemctl disable <service>
  • 运行这些命令后,检查服务的状态:systemctl status <service>

5、检查监听端口

开放的端口可能会带来安全风险,所以检查服务器上的监听端口很重要。我使用 netstat 命令来显示所有的网络连接:

  1. netstat -tulpn

查看 “address” 列,确定 端口号。一旦你找到了开放的端口,检查它们是否都是必要的。如果不是,调整你正在运行的服务,或者调整你的防火墙设置。

6、扫描恶意软件

杀毒扫描软件可以有用的防止病毒进入你的系统。使用它们是一种简单的方法,可以让你的服务器免受恶意软件的侵害。我首选的工具是开源软件 ClamAV

安装 ClamAV:

  1. sudo apt-get install clamav

更新病毒签名:

  1. sudo freshclam

扫描所有文件,并打印出被感染的文件,发现一个就会响铃:

  1. sudo clamscan -r --bell -i /

你可以而且应该设置为自动扫描,这样你就不必记住或花时间手动进行扫描。对于这样简单的自动化,你可以使用 systemd 定时器 或者你的 喜欢的 cron 来做到。

保证你的服务器安全

我们不能把保护服务器安全的责任只交给一个人或一个组织。随着威胁环境的不断迅速扩大,我们每个人都应该意识到服务器安全的重要性,并采用一些简单、有效的安全最佳实践。

 

这些只是你提升 Linux 服务器的安全可以采取的众多步骤中的一部分。当然,预防只是解决方案的一部分。这些策略应该与严格监控拒绝服务攻击、用 Lynis 做系统分析以及创建频繁的备份相结合。

 

责任编辑:庞桂玉 来源: Linux中国
相关推荐

2018-01-31 11:20:48

2021-03-09 11:25:04

Linux开源工具服务器

2021-06-18 12:50:55

Cloud开源工具漏洞

2020-06-17 10:58:17

服务器工具技术

2022-06-14 23:34:10

Linux安全服务器

2009-09-08 16:31:07

2018-09-06 10:16:39

2021-11-25 09:25:51

Linux服务器开源工具

2011-03-21 13:10:15

2009-01-23 21:33:00

2010-05-17 17:43:07

2021-03-11 09:49:22

开源技术 工具

2020-03-25 11:06:46

无服务器开源安全工具

2009-02-10 15:49:00

Linux服务器服务器安全网络服务器

2010-01-06 09:19:45

2021-03-10 21:01:58

开源Linux 服务器

2011-03-25 12:55:43

2011-03-25 12:45:29

2015-08-14 09:31:55

开源Python服务器

2014-02-09 10:20:44

监控工具Linux服务器
点赞
收藏

51CTO技术栈公众号