LFCE:安装网络服务并配置引导时自动启动 - 第 1 部分
Linux 基金会认证工程师 (LFCE) 准备在 Linux 系统中安装、配置、管理和排除网络服务故障,并负责系统架构的设计和实现。
介绍 Linux 基金会认证计划。
在这个题为 LFCE(Linux 基金会认证工程师)考试准备的 12 篇文章系列中,我们将涵盖 Ubuntu、CentOS 和 openSUSE 所需的领域和能力:
安装网络服务
当谈到设置和使用任何类型的网络服务时,很难想象 Linux 不能参与的场景。在本文中,我们将展示如何在 Linux 中安装以下网络服务(每个配置将在后续的单独文章中介绍):
- NFS(网络文件系统)服务器
- 阿帕奇网络服务器
- Squid 代理服务器 + SquidGuard
- 电子邮件服务器(Postfix + Dovecot),以及
- iptables
此外,我们希望确保所有这些服务都能在启动时或按需自动启动。
我们必须注意,即使您可以在同一台物理机或虚拟专用服务器中运行所有这些网络服务,网络安全的第一个所谓的“规则”也会告诉系统管理员避免这样做所以尽可能地。支持这一说法的判断是什么?这相当简单:如果由于某种原因,运行多个网络服务的计算机中的网络服务受到损害,那么攻击者也可以相对容易地损害其余的服务。
现在,如果您确实需要在同一台计算机上(例如在测试实验室中)安装多个网络服务,请确保仅在某个时刻启用您需要的服务,并在稍后禁用它们。
在开始之前,我们需要澄清当前的文章(以及 LFCS 和 LFCE 系列中的其余文章)重点关注基于性能的角度,因此不能检查有关所涵盖主题的每个理论细节。但是,我们将以必要的信息作为起点来介绍每个主题。
为了使用以下网络服务,您需要暂时禁用防火墙,直到我们了解如何允许相应的流量通过防火墙。
请注意,不建议将其用于生产设置,但我们这样做仅用于学习目的。
在默认的 Ubuntu 安装中,防火墙不应处于活动状态。在 openSUSE 和 CentOS 中,您需要显式禁用它:
systemctl stop firewalld
systemctl disable firewalld
or
or systemctl mask firewalld
话虽如此,让我们开始吧!
安装 NFSv4 服务器
NFS本身是一个网络协议,最新版本是NFSv4。这是我们将在本系列中使用的版本。
NFS 服务器是传统的解决方案,允许远程 Linux 客户端通过网络挂载其共享并与这些文件系统进行交互,就像它们在本地挂载一样,从而可以集中网络的存储资源。
在 CentOS 上
yum update && yum install nfs-utils
在Ubuntu上
aptitude update && aptitude install nfs-kernel-server
在 OpenSUSE 上
zypper refresh && zypper install nfsserver
有关更详细的说明,请阅读我们的文章,了解如何在 Linux 系统上配置 NFS 服务器和客户端。
安装 Apache Web 服务器
Apache Web 服务器是 HTTP 服务器的强大且可靠的 FOSS 实现。截至 2014 年 10 月底,Apache 为 3.85 亿个站点提供支持,占据 37.45% 的市场份额。您可以使用 Apache 在一台计算机上为独立网站或多个虚拟主机提供服务。
yum update && yum install httpd [On CentOS]
aptitude update && aptitude install apache2 [On Ubuntu]
zypper refresh && zypper install apache2 [On openSUSE]
有关更详细的说明,请阅读我们的以下文章,其中介绍了如何创建基于 Ip 和基于名称的 Apache 虚拟主机以及如何保护 Apache Web 服务器。
- 基于 Apache IP 和基于名称的虚拟主机
- Apache Web 服务器强化和安全提示
安装 Squid 和 SquidGuard
Squid 是一个代理服务器和 Web 缓存守护程序,因此充当多个客户端计算机和 Internet(或连接到 Internet 的路由器)之间的中介,同时通过缓存 Web 内容来加快频繁请求的速度同时进行DNS解析。它还可用于按网段或基于禁止的关键字拒绝(或授予)对某些 URL 的访问,并保留每个用户与外界建立的所有连接的日志文件。
Squidguard 是一个重定向器,它实现黑名单以增强鱿鱼,并与其无缝集成。
yum update && yum install squid squidGuard [On CentOS]
aptitude update && aptitude install squid3 squidguard [On Ubuntu]
zypper refresh && zypper install squid squidGuard [On openSUSE]
安装 Postfix 和 Dovecot
Postfix 是邮件传输代理 (MTA)。它是负责将电子邮件从源发送到目标邮件服务器的应用程序,而 dovecot 是广泛使用的 IMAP 和 POP3 电子邮件服务器,它从 MTA 获取邮件并将其发送到正确的用户邮箱。
用于多个关系数据库管理系统的 Dovecot 插件也可用。
yum update && yum install postfix dovecot [On CentOS]
aptitude update && aptitude postfix dovecot-imapd dovecot-pop3d [On Ubuntu]
zypper refresh && zypper postfix dovecot [On openSUSE]
关于iptables
简而言之,防火墙是一种网络资源,用于管理对专用网络的访问或来自专用网络的访问,并根据某些规则重定向传入和传出流量。
Iptables是Linux中默认安装的工具,作为netfilter内核模块的前端,最终负责实现防火墙以执行数据包过滤/重定向和网络地址转换功能。
由于 iptables 默认安装在 Linux 中,因此您只需确保它实际运行即可。为此,我们应该检查 iptables 模块是否已加载:
lsmod | grep ip_tables
如果上面的命令没有返回任何内容,则表示 ip_tables 模块尚未加载。在这种情况下,请运行以下命令来加载模块。
modprobe -a ip_tables
另请阅读:Linux Iptables 防火墙基本指南
配置服务开机自动启动
正如管理系统启动过程和服务 - 关于 LFCS 认证的 10 篇文章系列的第 7 部分中所讨论的,Linux 中有多个可用的系统和服务管理器。无论您选择什么,您都需要了解如何按需启动、停止和重新启动网络服务,以及如何使它们在启动时自动启动。
您可以通过运行以下命令来检查您的系统和服务管理器是什么:
ps --pid 1
根据上述命令的输出,您将使用以下命令之一来配置每个服务是否应在启动时自动启动:
基于systemd
----------- Enable Service to Start at Boot -----------
systemctl enable [service]
----------- Prevent Service from Starting at Boot -----------
systemctl disable [service] # prevent [service] from starting at boot
基于 sysvinit 的
----------- Start Service at Boot in Runlevels A and B -----------
chkconfig --level AB [service] on
----------- Don’t Start Service at boot in Runlevels C and D -----------
chkconfig --level CD service off
以新贵为基础
确保 /etc/init/[service].conf 脚本存在并包含最小配置,例如:
When to start the service
start on runlevel [2345]
When to stop the service
stop on runlevel [016]
Automatically restart process in case of crash
respawn
Specify the process/command (add arguments if needed) to run
exec /absolute/path/to/network/service/binary arg1 arg2
您可能还需要查看 LFCS 系列的第 7 部分(我们在本节开头刚刚提到),以了解其他有用的命令来按需管理网络服务。
概括
到目前为止,您应该已经安装了本文中描述的所有网络服务,并且可能以默认配置运行。在后面的文章中,我们将探讨如何根据我们的需求配置它们,所以请务必保持关注!请随时使用下面的表格分享您对本文的评论(或提出问题,如果有的话)。
参考链接
- 关于 LFCE
- 为什么要获得 Linux 基础认证?
- 报名参加 LFCE 考试