通过社交网站来做招聘决定,安阳论坛网,网站规划与建设书,甜品网站策划与建设前些天发现了一个巨牛的人工智能学习网站#xff0c;通俗易懂#xff0c;风趣幽默#xff0c;忍不住分享一下给大家。点击跳转到网站。
简介
Config Server Firewall#xff08;CSF#xff09;是大多数 Linux 发行版和基于 Linux 的 VPS 的免费高级防火墙。除了基本的防…前些天发现了一个巨牛的人工智能学习网站通俗易懂风趣幽默忍不住分享一下给大家。点击跳转到网站。
简介
Config Server FirewallCSF是大多数 Linux 发行版和基于 Linux 的 VPS 的免费高级防火墙。除了基本的防火墙功能过滤数据包外CSF 还包括其他安全功能如登录/入侵/洪水检测。CSF 包括 cPanel、DirectAdmin 和 Webmin 的 UI 集成但本教程仅涵盖命令行用法。CSF 能够识别许多攻击如端口扫描、SYN 洪水和对许多服务的登录暴力攻击。它被配置为暂时阻止检测到正在攻击云服务器的客户端。
支持的操作系统和功能的完整列表可以在 ConfigServer 的网站 上找到。
本教程适用于基于 Debian 的 VPS如 Debian 和 Ubuntu。应以 root 权限执行命令通过 root 登录或者如果安装了 sudo则通过以下命令启动 root shell
sudo su注意 本教程涵盖 IPv4 安全性。在 Linux 中IPv6 安全性与 IPv4 分开维护。例如“iptables”仅维护 IPv4 地址的防火墙规则但它有一个名为“ip6tables”的 IPv6 对应物可用于维护 IPv6 网络地址的防火墙规则。
如果您的 VPS 配置为 IPv6请记住使用适当的工具保护您的 IPv4 和 IPv6 网络接口。有关 IPv6 工具的更多信息请参阅此指南如何在 Linux VPS 上配置工具以使用 IPv6
特性
Config Server Firewall 为您的 VPS 提供了广泛的保护功能。
登录身份验证失败守护程序
CSF 定期检查日志中的登录失败尝试并能够识别大多数未经授权的尝试访问您的云服务器。您可以在配置文件中定义 CSF 执行的期望操作以及尝试次数。
此功能支持以下应用程序
Courier imap、Dovecot、uw-imap、KerioopenSSHcPanel、WHM、Webmail仅适用于 cPanel 服务器Pure-ftpd、vsftpd、Proftpd受密码保护的网页htpasswdMod_security 失败v1 和 v2Suhosin 失败Exim SMTP AUTH
除此之外您还可以使用正则表达式匹配定义自己的登录文件。如果您有一个记录了失败登录但在特定尝试次数后不会阻止用户的应用程序这可能会有所帮助。
进程跟踪
CSF 可以配置为跟踪进程以便检测可疑进程或打开的网络端口并在检测到任何问题时向系统管理员发送电子邮件。这可能有助于您识别并阻止 VPS 上可能存在的利用。
目录监视
目录监视监视 /temp 和其他相关文件夹中的恶意脚本并在检测到时向系统管理员发送电子邮件。
信使服务
启用此功能允许 CSF 在应用封锁时向客户端发送更多信息的消息。此功能既有利也有弊。一方面启用它为客户端提供了更多信息因此在登录失败的情况下可能会减少挫败感。另一方面这提供了更多信息可能会使攻击者更容易攻击您的 VPS。
端口洪水保护
此设置可防止端口洪水攻击如拒绝服务DoS攻击。您可以指定每个端口在您喜欢的时间段内允许的连接数量。建议启用此功能因为它可能防止攻击者迫使您的服务停机。您应注意设置的限制因为太严格的设置会中断正常客户端的连接。另一方面过于宽松的设置可能允许攻击者成功进行洪水攻击。
端口敲门
端口敲门允许客户端在没有打开端口的情况下连接服务器。服务器仅在成功的端口敲门序列后才允许客户端连接到主要端口。如果您提供的服务仅供有限的受众使用您可能会发现这很有用。
连接限制保护
此功能可用于限制来自 IP 地址对每个端口的并发活动连接数。正确配置后这可能会防止服务器上的滥用如 DoS 攻击。
端口/IP 地址重定向
CSF 可以配置为将连接重定向到另一个 IP/端口。注意重定向后客户端的源地址将是服务器的 IP 地址。这不等同于网络地址转换NAT。
UI 集成
除了命令行界面CSF 还为 cPanel 和 Webmin 提供了 UI 集成。如果您不熟悉 Linux 命令行您可能会发现此功能有所帮助。
IP 阻止列表
此功能允许 CSF 从您定义的来源自动下载被阻止的 IP 地址列表。
安装 ConfigServer 防火墙
步骤 1下载
Config Server Firewall 目前不在 Debian 或 Ubuntu 软件仓库中必须从 ConfigServer 的网站下载。
wget http://download.configserver.com/csf.tgz这将在当前工作目录中下载 CSF。
步骤 2解压缩
下载的文件是一个压缩的 tar 包必须在使用之前解压缩和提取。
tar -xzf csf.tgz步骤 3安装
如果您使用其他防火墙配置脚本如 UFW应在继续之前禁用它。iptables 规则将自动删除。
可以通过运行以下命令禁用 UFW
ufw disable现在是时候执行 CSF 的安装脚本了。
cd csf
sh install.sh防火墙现在已安装但您应检查所需的 iptables 模块是否可用。
perl /usr/local/csf/bin/csftest.pl如果没有报告致命错误防火墙将正常工作。
注意 如果可能您的 IP 地址将被添加到白名单中。此外即使使用自定义端口SSH 端口也会自动打开。防火墙还配置为启用测试模式这意味着启动 CSF 后五分钟后 iptables 规则将自动删除。一旦您知道您的配置有效并且您不会被锁定应禁用此功能。
基本配置
CSF 可以通过编辑 /etc/csf/csf.conf 文件进行配置
nano /etc/csf/csf.conf更改后可以使用以下命令应用更改
csf -r步骤 1配置端口
对您的 VPS 的访问权限越少服务器就越安全。但是并非所有端口都可以关闭因为客户端必须能够使用您的服务。
默认打开的端口如下
TCP_IN 20,21,22,25,53,80,110,143,443,465,587,993,995TCP_OUT 20,21,22,25,53,80,110,113,443UDP_IN 20,21,53UDP_OUT 20,21,53,113,123使用这些开放端口的服务
端口 20FTP 数据传输端口 21FTP 控制端口 22安全外壳SSH端口 25简单邮件传输协议SMTP端口 53域名系统DNS端口 80超文本传输协议HTTP端口 110邮局协议 v3POP3端口 113认证服务/标识协议端口 123网络时间协议NTP端口 143互联网消息访问协议IMAP端口 443超文本传输协议安全传输层HTTPS端口 465SSM 的 URL Rendesvous 目录Cisco端口 587电子邮件消息提交SMTP端口 993安全的互联网消息访问协议IMAPS端口 995TLS/SSL 的邮局协议 3POP3S
您可能并未使用所有这些服务因此可以关闭未使用的端口。建议关闭所有端口从列表中删除端口号然后添加您需要的端口。
以下是应打开的端口集
在任何服务器上
TCP_IN: 22,53
TCP_OUT: 22,53,80,113,443
UPD_IN: 53
UPD_OUT: 53,113,123Apache
TCP_IN: 80,443FTP 服务器
TCP_IN: 20,21
TCP_OUT: 20,21
UPD_IN: 20,21
UPD_OUT:20,21邮件服务器
TCP_IN: 25,110,143,587,993,995
TCP_OUT: 25,110MySQL 服务器如果需要远程访问
TCP_IN: 3306
TCP_OUT: 3306注意 如果您的服务使用 IPv6您还应该类似于配置 IPv4 端口的方式配置 TCP6_IN、TCP6_OUT、UPD6_IN 和 UPD6_OUT。
您可以在 Wikipedia 上找到全面的 TCP 和 UDP 端口列表。您应打开您使用的所有服务的端口。
步骤 2其他设置
CSF 在其配置文件中提供了大量不同的选项。以下是一些最常用的设置的解释。
ICMP_IN
将 ICMP_IN 设置为 1 允许对服务器进行 ping设置为 0 则拒绝此类请求。如果您托管任何公共服务建议允许 ICMP 请求因为这些请求可用于确定您的服务是否可用。
ICMP_IN_LIMIT
设置在指定时间内允许来自一个 IP 地址的 ICMPping请求的数量。通常不需要更改默认值1/s。
DENY_IP_LIMIT
设置 CSF 跟踪的被阻止 IP 地址的数量。建议限制被拒绝的 IP 地址的数量因为太多的阻止可能会降低服务器性能。
DENY_TEMP_IP_LIMIT
与上述相同但用于临时 IP 地址阻止。
PACKET_FILTER
过滤无效、不需要和非法数据包。
SYNFLOOD、SUNFLOOD_RATE 和 SYNFLOOD_BURST
这提供了对 SYN 洪水攻击的保护。这会减慢每个连接的初始化因此只有在知道服务器正在受到攻击时才应启用此功能。
CONNLIMIT
限制端口上的并发活动连接数。
值
22;5;443;20将允许端口 22 上的 5 个并发连接并允许端口 443 上的 20 个并发连接。
PORTFLOOD
限制在特定时间间隔内可以向特定端口建立新连接的连接数量。
值
22;tcp;5;250将在 250 秒内使用 TCP 协议在端口 22 上建立超过 5 个连接时阻止 IP 地址。一旦客户端发送到此端口的最后一个数据包后 250 秒已过将删除阻止。您可以像下面描述的那样通过逗号分隔添加更多端口。
port1;protocol1;connection_count1;time1,port2;protocol2;connection_count2;time2更多设置
CSF 提供了许多未在本教程中涵盖的设置。默认值通常很好几乎可以在任何服务器上使用。默认设置已配置为防止大多数洪水攻击、端口扫描和未经授权的访问尝试。
但是如果您希望更详细地调整配置请阅读 /etc/csf/csf.conf 中的注释并根据需要进行编辑。
步骤 3应用更改
每当您更改 csf.conf 中的设置时应保存文件并重新启动 CSF 以使更改生效。
完成配置后通过按 Ctrl X 关闭文件。当询问是否保存更改时按 Y 保存更改。
然后您应通过以下命令重新启动 CSF 以应用更改
csf -r如果一切顺利并且您仍然能够访问服务器请再次打开配置文件
nano /etc/csf/csf.conf并将配置文件开头的 TESTING 设置为 0如下所示
TESTING 0保存文件并使用以下命令应用更改
csf -r阻止和允许 IP 地址
防火墙最基本的功能之一是能够阻止某些 IP 地址。您可以通过编辑配置文件 csf.deny、csf.allow 和 csf.ignore 来拒绝黑名单、允许白名单或忽略 IP 地址。
阻止 IP 地址
如果要阻止 IP 地址或范围请打开 csf.deny。
nano /etc/csf/csf.deny被阻止的 IP 地址或范围在 csf.deny 文件中占用一行。如果要阻止 IP 地址 1.2.3.4 以及 IP 范围 2.3..应向文件添加以下行
1.2.3.4 2.3.0.0/16IP 范围使用 CIDR 表示法。
允许 IP 地址
如果要排除某个 IP 地址或范围免受所有阻止和过滤请将其添加到 csf.allow 文件。请注意即使在 csf.deny 文件中明确阻止了这些 IP 地址允许的 IP 地址也会被允许。
允许 IP 地址的操作方式与阻止 IP 地址类似。唯一的区别是您应编辑 /etc/csf/csf.allow 而不是 csf.deny。
nano /etc/csf/csf.allow**忽略 IP 地址