📜  firewall linux - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:15:05.318000             🧑  作者: Mango

Firewall Linux

Firewall Linux 是一个常用于保护 Linux 操作系统的安全工具。它可以对网络流量进行过滤,保护系统和应用程序免受攻击。本文将介绍如何使用 Shell-Bash 编程语言来设置 Linux 中的 Firewall。

概述

Linux Firewall 的核心是 iptables。 iptables 提供了一种简单而强大的机制,用于过滤网络流量并控制访问。iptables 根据自定义规则来决定是否允许流量通过。

获取 root 权限

在设置 iptables 规则之前,你需要获取 root 权限。你可以使用以下命令来切换到 root 用户:

sudo su

然后你需要输入你自己的密码。如果你还没有在系统中设置 root 用户密码,那么你可以通过以下命令来配置:

sudo passwd root
禁止所有流量

在设置任何规则之前,最好先禁止所有流量,然后在逐步添加规则。这可以通过以下命令实现:

iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP

以上命令将默认规则设置为 DROP, 这意味着所有流量都将被阻止。

允许特定端口

接下来,让我们假设我们想要允许端口22(用于 SSH)和端口80(用于 HTTP)通过防火墙。通过以下命令,我们可以添加规则:

iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT

第一条规则允许 TCP 流量通过端口22,第二条规则允许 TCP 流量通过端口80。 -A 选项表示添加规则,--dport 选项指定目标端口。

允许特定 IP

如果你想允许来自特定 IP 地址的流量通过,可以使用以下命令:

iptables -A INPUT -s {IP_ADDRESS} -j ACCEPT
防止 DoS 攻击

防止 DoS 攻击是 Firewall 的一个重要功能。我们可以通过限制每秒钟允许的连接数来减少对服务器的攻击。使用以下命令可以设置这个规则:

iptables -A INPUT -p tcp --dport 80 -m limit --limit 25/minute --limit-burst 100 -j ACCEPT

这个规则表示,每秒钟只允许 25 个连接通过端口80,但允许峰值速率为连续的 100 个连接。

保存规则

一旦你设置好 iptables 规则,你可以使用以下命令将配置保存到防火墙上:

iptables-save > /etc/sysconfig/iptables

如果你的操作系统不适用于 CentOS / RHEL,请根据其他发行版的说明获得更多信息。

结论

这篇文章介绍了如何使用 Shell-Bash 编程语言创建 Linux 防火墙规则。通过阅读本文,你应该已经了解了如何使用 iptables 进行基本配置,以及如何添加自定义规则防止各种攻击。