Linux 防火墙配置

1. iptables

iptables 是 Linux 系统中经典的防火墙工具,基于规则表和链来管理网络数据包的过滤和转发。

  • 安装:多数 Linux 发行版默认安装了 iptables,若未安装,以 Ubuntu 为例,使用以下命令:

收起

bash

sudo apt-get install iptables

  • 基本规则配置

    • 允许本地回环接口流量

收起

bash

sudo iptables -A INPUT -i lo -j ACCEPT

  • 允许已建立和相关的连接流量

收起

bash

sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

  • 开放特定端口(如 80 端口用于 HTTP 服务)

收起

bash

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

  • 拒绝所有其他输入流量

收起

bash

sudo iptables -P INPUT DROP

  • 保存规则:不同发行版保存规则方法不同,Ubuntu 可使用 iptables - persistent 保存:

收起

bash

sudo apt-get install iptables-persistent
sudo netfilter-persistent save

2. firewalld

firewalld 是 CentOS、Fedora 等系统默认的防火墙管理工具,提供动态防火墙管理。

  • 查看状态

收起

bash

sudo systemctl status firewalld

  • 启动服务

收起

bash

sudo systemctl start firewalld

  • 开放端口:以开放 80 端口为例:

收起

bash

sudo firewall-cmd --zone=public --add-port=80/tcp --permanent

  • 重新加载配置

收起

bash

sudo firewall-cmd --reload

  • 查看开放的端口

收起

bash

sudo firewall-cmd --zone=public --list-ports

3. ufw

ufw(Uncomplicated Firewall)是 Ubuntu 等系统上简化防火墙配置的工具。

  • 启用 ufw

收起

bash

sudo ufw enable

  • 开放端口:以开放 80 端口为例:

收起

bash

sudo ufw allow 80

  • 查看状态

收起

bash

sudo ufw status

交换机和路由器防火墙设置

华为交换机防火墙设置

  • 访问交换机:通过串口、Telnet、SSH 等方式登录到交换机命令行界面。

  • 配置访问控制列表(ACL)

    • 创建基本 ACL:

收起

plaintext

system-view
acl number 2000
rule 5 permit source 192.168.1.0 0.0.0.255

  • 应用 ACL 到接口:

收起

plaintext

interface GigabitEthernet 0/0/1
traffic-filter inbound acl 2000

华三交换机防火墙设置

  • 访问交换机:使用相应方式登录到命令行界面。

  • 配置 ACL

    • 创建高级 ACL:

收起

plaintext

system-view
acl advanced 3000
rule 5 permit tcp source 192.168.1.0 0.0.0.255 destination 10.0.0.0 0.0.0.255 destination-port eq 80

  • 应用 ACL 到接口:

收起

plaintext

interface GigabitEthernet 1/0/1
packet-filter 3000 inbound

华为路由器防火墙设置

  • 访问路由器:登录到路由器命令行界面。

  • 配置安全策略

收起

plaintext

system-view
firewall zone trust
add interface GigabitEthernet 0/0/1
firewall zone untrust
add interface GigabitEthernet 0/0/2
security-policy
rule name trust - to - untrust
  source-zone trust
  destination-zone untrust
  action permit

华三路由器防火墙设置

  • 访问路由器:进入命令行界面。

  • 配置访问控制策略

收起

plaintext

system-view
acl advanced 3001
rule 5 permit ip source 192.168.1.0 0.0.0.255 destination 10.0.0.0 0.0.0.255
firewall policy
rule name policy_1
  source-zone trust
  destination-zone untrust
  source-ip 192.168.1.0 0.0.0.255
  destination-ip 10.0.0.0 0.0.0.255
  service ip
  action permit

防火墙系统介绍

1. 定义和作用

防火墙是用于监控和控制进出网络的网络流量的安全设备或软件。它依据预设规则,允许或阻止特定网络连接,保护内部网络免受外部攻击和非法访问。

2. 分类

  • 包过滤防火墙:基于 IP 地址、端口号等网络层和传输层信息过滤数据包,如 iptables

  • 状态检测防火墙:不仅检查基本信息,还跟踪数据包状态,如 firewalld

  • 应用层防火墙:工作在应用层,对应用程序协议深度检测和过滤,如 Web 应用防火墙(WAF)。

3. 优点和局限性

  • 优点:有效阻止非法访问、保护内部网络、控制流量、审计网络活动。

  • 局限性:无法防范内部人员攻击、不能防病毒和恶意软件、对加密流量检测能力有限。

蜜罐介绍

1. 定义和作用

蜜罐是主动的网络安全技术,模拟真实网络服务和系统吸引攻击者。安全人员通过监控攻击行为,了解攻击手法、工具和目的,提前发现威胁并改进安全策略。

2. 分类

  • 低交互蜜罐:模拟部分服务和功能,与攻击者交互少,资源消耗小,收集信息有限。

  • 高交互蜜罐:模拟完整操作系统和服务,与攻击者深入交互,收集信息详细,但资源要求高、维护成本大。

3. 常见开源蜜罐系统安装及防护

Kippo(SSH 蜜罐)

  • 安装

    • 安装依赖:

收起

bash

sudo apt-get install python openssl python-openssl python-pyasn1 python-twisted

  • 下载 Kippo:

收起

bash

git clone https://github.com/desaster/kippo.git

  • 配置:编辑 kippo.cfg 文件,设置监听端口等参数。

  • 启动:

收起

bash

cd kippo
./start.sh

  • 防止被攻击

    • 运行在隔离环境:使用虚拟机或容器运行 Kippo,避免攻击扩散到真实网络。

    • 限制访问:仅允许特定 IP 地址访问蜜罐管理接口。

  • 被攻击后的防护

    • 分析攻击日志:查看 kippo.log 文件,了解攻击手法和来源。

    • 更新规则:根据分析结果,在防火墙中添加相应规则,阻止攻击源 IP。

Honeyd

  • 安装

    • 安装依赖:

收起

bash

sudo apt-get install build-essential flex bison libpcap-dev

  • 下载并编译 Honeyd:

收起

bash

wget http://www.honeyd.org/download/honeyd-1.5c.tar.gz
tar -xzvf honeyd-1.5c.tar.gz
cd honeyd-1.5c
./configure
make
sudo make install

  • 配置:创建配置文件,定义模拟的主机和服务。

  • 启动:

收起

bash

sudo honeyd -f honeyd.conf

  • 防止被攻击

    • 精细配置模拟:只模拟必要的服务和漏洞,减少被发现的风险。

    • 监控流量:实时监控蜜罐网络流量,及时发现异常。

  • 被攻击后的防护

    • 记录攻击数据:保存攻击相关的数据包和日志。

    • 调整模拟策略:根据攻击情况,调整模拟的服务和漏洞,增加迷惑性。

分享