《网络安全》实验指导书 Linux系统iptables防火墙
一、实验目的
1、熟悉和掌握TCP/IP协议的基础概念和方法; 2、掌握防火墙的概念、功能分类及实现方法;
3、掌握Linux系统防火墙和iptables防火墙的配置方法。
二、实验原理
1、防火墙的任务
防火墙在实施安全的过程中是至关重要的。一个防火墙策略要符合四个目标,而每个目标通常都不是一个单独的设备或软件来实现的。大多数情况下防火墙的组件放在一起使用以满足公司安全目的需求。防火墙要能满足以下四个目标:
1> 实现一个公司的安全策略
防火墙的主要意图是强制执行你的安全策略,比如你的安全策略需要对MAIL服务器的SMTP流量做限制,那么你要在防火墙上强制这些策略。
2> 创建一个阻塞点
防火墙在一个公司的私有网络和分网间建立一个检查点。这种实现要求所有的流量都要经过这个检查点。一旦检查点被建立,防火墙就可以监视,过滤和检查所有进出的流量。网络安全中称为阻塞点。通过强制所有进出的流量都通过这些检查点,管理员可以集中在较少的地方来实现安全目的。
3> 记录internet活动
防火墙还能强制记录日志,并且提供警报功能。通过在防火墙上实现日志服务,管理员可以监视所有从外部网或互联网的访问。好的日志是适当网络安全的有效工具之一。 4> 限制网络暴露
防火墙在你的网络周围创建了一个保护的边界。并且对于公网隐藏了内部系统的一些信息以增加保密性。当远程节点侦测你的网络时,他们仅仅能看到防火墙。远程设备将不会知道你内部网络的布局以及都有些什么。防火墙提高认证功能和对网络加密来限制网络信息的暴露。通过对所能进入的流量进行检查,以限制从外部发动的攻击。
2、iptables及其命令格式
iptables是Linux 2.4.X 的内核防火墙,其工作原理为对经过网络模块的数据包的处理,各数据包按流经位置进入相应的规则链,iptables逐条对比链内的规则,如果满足条件,则进行相应的动作。其配置文件为/etc/sysconfig/iptables。 命令格式: iptables 指令+规则链+条件+动作
? iptables指令(对规则链的操作)
?–A chain --append 添加到规则链中
?–D chain --delete 从规则链中删除匹配的规则
?–L[chain] --list 列出在一条链或所有链上的规则 (--line-numbers) ?–F [chain] --flush 清除一条链或所有链上的规则
?-P chain target --policy 把一个规则链上的策略改变为目标
?iptables内置有三个表filter、nat、mangle,缺省为filter表,可使用-t参数来选择操作的表,用户可自定义表 ? iptables规则链(chain) 进来的数据包
? Iptables条件
?-s IP地址 源地址 ?-d IP地址 目的地址 ?-i 接口名 接收的接口 ?-o 接口名 发送的接口 ?-p tcp/udp/icmp/47 协议 ?--dport 目的端口 ?--sport 源端口
?--syn 建立连接请求
?-m state ESTABLISHED / RELATED / NEW / INVALID 状态包过滤 ? iptables动作(policy)(对数据包的操作)
? -j ACCEPT ? -j DROP
? -j REJECT( tcp-reset/icmp-port-unreachable )
本机 路由 FORWARD 发出的数据包 INPUT OUTPUT
三、实验步骤
1、准备工作
? 同一局域网内的2台PC
a) A的操作系统为Linux,在A安装网络服务及配置iptables;
b) B对A的配置进行验证,主要使用基于icmp协议的ping命令和基于tcp
协议的ftp相关命令或软件,假定其ip为10.10.96.123;
c) 为避免与机房其他主机发生IP冲突,最好重设A、B地址为静态地址,
A、B在同一网段,且不使用192.168.1.x等机房常用网段;测试A、B可互ping通。
? 在A: 1)启动vsftpd
2)增加1个一般用户,如abc 3)添加新增用户为ftp用户
gedit /etc/vsftpd/vsftpd.conf,加入
userlist_enable=YES userlist_deny=NO userlist_file=/etc/vsftpd/ulis gedit /etc/vsftpd/ulis,加入
abc
4)验证系统已启动iptables (默认)
system setting -> server setting -> service config -> iptables ? 熟悉使用netstat命令分析当前的网络连接状态
2、配置Linux的系统防火墙
1)A: start -> system setting -> security level -> enable ftp(only),允许系统建立ftp连接
2)B: ftp测试之 (使用user psw ls lcd get等命令)
3)A: start -> system setting -> security level -> disable ftp,禁止系统建立ftp连接 4)B测试之
3、使用iptables命令配置防火墙,熟悉几类基本过滤原则的配置方法(有关ftp的操作,必须确认系统防火墙允许建立ftp连接,因其优先级高于iptables配置) 0> 备份 /etc/sysconfig/iptables
1> 阻塞某IP的连接 A: 阻塞
# iptables -A INPUT -s 10.10.96.123 -j DROP B: ping,测试之 A: 取消阻塞
# iptables -D INPUT -s 10.10.96.123 -j DROP B: ping,测试之
(以下只列出实验过程的关键步骤,其他命令与测试请在实验过程中补足) 2> 阻塞某网段的连接