如何在 Ubuntu 22.04 LTS 上安装 CSF 防火墙

在本教程中,我们将向您展示如何在 Ubuntu 22.04 LTS 上安装 CSF 防火墙。 对于那些不知道的人,ConfigServer Security & Firewall (csf) 是一个开源软件防火墙应用程序。 它基于 iptables 工作。 创建的防火墙配置脚本旨在为您的服务器提供更好的安全性,同时为您提供易于使用的高级界面来管理您的防火墙设置。 CSF 将服务器的防火墙配置为锁定对服务的公共访问,并且只允许某些连接。

本文假设您至少具备 Linux 的基本知识,知道如何使用 shell,最重要的是,您将网站托管在自己的 VPS 上。 安装非常简单,假设您在 root 帐户下运行,如果不是,您可能需要添加 ‘sudo‘ 到命令以获取 root 权限。 我将向您展示在 Ubuntu 22.04 (Jammy Jellyfish) 上逐步安装 CSF 防火墙。 对于 Ubuntu 22.04 和任何其他基于 Debian 的发行版,如 Linux Mint、Elementary OS、Pop!_OS 等,您可以按照相同的说明进行操作。

先决条件

  • 运行以下操作系统之一的服务器:Ubuntu 22.04、20.04 和任何其他基于 Debian 的发行版,如 Linux Mint。
  • 建议您使用全新的操作系统安装来防止任何潜在问题。
  • 对服务器的 SSH 访问(或者如果您在桌面上,则只需打开终端)。
  • 一个 non-root sudo user或访问 root user. 我们建议充当 non-root sudo user,但是,如果您在充当 root 时不小心,可能会损害您的系统。

在 Ubuntu 22.04 LTS Jammy Jellyfish 上安装 CSF 防火墙

步骤 1. 首先,通过运行以下命令确保所有系统包都是最新的 apt 终端中的命令。

sudo apt update sudo apt upgrade sudo apt installperl zip unzip libwww-perl liblwp-protocol-https-perlsendmail-bin

步骤 2. 在 Ubuntu 22.04 上安装 CSF 防火墙。

默认情况下,CSF 防火墙在 Ubuntu 22.04 基础存储库中不可用。 现在运行以下命令将最新版本的 CSF 下载到您的 Ubuntu 系统:

cd /usr/src sudo wget https://download.configserver.com/csf.tgz

接下来,解压缩您下载的文件:

sudo tar -xvzf csf.tgz

现在使用以下命令安装 CSF:

cd csf sh install.sh

验证是否存在所需的 iptables 模块:

sudo perl /usr/local/csf/bin/csftest.pl

样本输出:

Testing ip_tables/iptable_filter...OK Testing ipt_LOG...OK Testing ipt_multiport/xt_multiport...OK Testing ipt_REJECT...OK Testing ipt_state/xt_state...OK Testing ipt_limit/xt_limit...OK Testing ipt_recent...OK Testing xt_connlimit...OK Testing ipt_owner/xt_owner...OK Testing iptable_nat/ipt_REDIRECT...OK Testing iptable_nat/ipt_DNAT...OK  RESULT: csf should function on this server

确认安装并检查已安装的 CSF Firewall 构建版本:

csf -v

步骤 3. 配置 CSF 防火墙。

用你喜欢的文本编辑器打开 CSF 配置文件,这里我们使用 nano 文本编辑器:

sudo nano /etc/csf/csf.conf

找到下面的行并将其值更改为“0“ 如下所示:

TESTING = "0"

Save 和 close 文件,然后使用以下命令重新加载 CSF 防火墙:

csf -ra

允许附加端口连接的附加配置:

sudo nano /etc/csf/csf.conf

找到 TCP_IN 指令并添加您的端口:

# Allow incoming TCP ports TCP_IN = "20,21,22,25,53,80,110,143,443,465,587,993,995"  # Allow outgoing TCP ports TCP_OUT = "20,21,22,25,53,80,110,113,443,587,993,995,3306"

步骤 4. 管理 CSF 的基本命令。

您可以通过以下方式在服务器上启动 CSF 服务:

csf -s

要在 Ubuntu 22.04 上停止 CSF 服务,请使用以下命令:

csf -f

要重新启动 CSF,您可以使用以下命令:

csf -ra

步骤 4. 访问 CSF Web 界面。

CSF 提供了一个基于 Web 的界面来从 Web 浏览器管理防火墙。 首先,使用以下命令编辑 CSF 主配置文件:

nano /etc/csf/csf.conf

添加以下行:

#Enable Web UI UI = "1"  #Listening Port UI_PORT = "8080"  #Admin username UI_USER = "admin"  #Admin user password  UI_PASS = "your-strong-password"  #Listening Interface UI_IP = ""

Save 和 close 完成后的文件。 然后,您将需要编辑 /etc/csf/ui/ui.allow 文件并添加您要访问 CSF Web UI 的服务器 IP 地址和远程计算机 IP。

nano /etc/csf/ui/ui.allow

添加您的服务器 IP 和远程机器 IP:

your-server-ip remote-machine-ip

Save 和 close 文件,然后重新启动 CSF 和 LFD 服务以应用更改:

csf -r service lfd restart

设置成功后,打开您的网络浏览器并输入 URL https://your-IP-address:8080. 您将被重定向到 phpMyAdmin 登录页面:

恭喜! 您已成功安装 CSF。 感谢您使用本教程在 Ubuntu 22.04 LTS Jammy Jellyfish 系统上安装 CSF 防火墙。 如需更多帮助或有用信息,我们建议您查看 CSF官方网站.