- 认识防火墙
- 概念
- 作用
- Linux上防火墙类别
- 封包过滤机制Netfilter
- 程序管控机制TCP Wrappers
- 一般网络布线
- 使用能力限制
- TCP Wrappers程序管控
- 概念:
简单来说,TCP wrappers就是透过/etc/hosts.allow和/etc/hosts.deny这两个文件来管理,但并非所有软件都可以。 - 支持的服务
- super daemon (xinetd)管理的服务
chkconfig --list 显示内容下的xinetd based services: - 支持libwrap.so模块的服务
由于支持tcp wrappers的服务必定包含libwrap这个动态库,所以可以通过ldd来观察:
ldd `which sshd` | grep libwrap
libwrap.so.0 => /lib/libwrap.so.0 (0x00145000) - /etc/hosts.{allow|deny}的设定方式
- 语法结构
<service(program_name)>:<IP,domain,hostname>
例如rsync:192.168.1.0/255.255.255.0 - 规则优先顺序
- /etc/hosts.allow
- /etc/hosts.deny
- 以上都不符合,则放行
- 语法结构
- super daemon (xinetd)管理的服务
- 概念:
- 封包过滤软件:iptables
Kernel2.4和2.6以上使用iptables这个机制,PS:uname -r查看核心版本- 比对与分析顺序
rule1
rule2
policy预设封包动作 - table和chain
- table(表):filter(过滤器)、nat()、mangle()
- filter:INPUT、OUTPUT、FORWARD
- nat:PREROUTING、POSTROUTING、OUTPUT
- mangle:多个
- chain(链)
- INPUT:主要负责制定想要进入Linux主机的封包的规则
- OUTPUT
- FORWARD
- table(表):filter(过滤器)、nat()、mangle()
- 语法结构
- 规则的查看
iptables [-t tables] [-L] [-nv]- -t
- -L:列出table的规则内容
- -n
- -v
- iptables内容构成
target prot opt source destination- target
- prot
- opt
- source
- destination
- 规则的清除
iptables [-t tables] [-FXZ]- -F:清除所有已存在的规则(不是永久改变,除非写入配置文件)
- -X:杀掉所有自定义
- -Z:将所有chain统计归零
- 定义预设封包动作policy
policy:当你的封包不在设定的规则之内时,则该封包的通过与否,是以Policy的设定为准(即最后一条规则)
iptables [-t tables] -P [chain] [ACCEPT,DROP]- ACCEPT
- DROP
- 封包的比对设定
用法:iptables [-AI chain] [-io 网络接口] [-p 协议] [-s 源IP] [-d 目标IP] -j [ACCEPT|DROP|REJECT|LOG]
例子:
iptables -I INPUT -i eth0 -d --dport 22 -j DROP #禁止远程主机SSH连接
如果没有指定的项目,则表示该项目完全接受- -A:新增新规则
- -I:插入新规则
- -i:入口网络接口,需与INPUT链配合使用
- -o:出口网络接口
- -p:设定此规则适用那种协议,主要有tcp,udp,icmp,all
- -s
- -d
- -j
- -p [tcp|udp] --sport
- -p [tcp|udp] --dport
- iptables外挂模块
用法:-m [state|mac] --state | --mac
例子:
iptables -A INPUT -m state --state RELATED -j ACCEPT
iptables -I INPUT -m mac --mac-source aa:bb:cc:dd:ee:ff- --state:一些封包的状态
INVALID
ESTABLISHED
NEW
RELATED - --mac:根据mac地址设定规则
- --state:一些封包的状态
- icmp封包规则的比对:针对是否响应ping
用法:-m icmp --icmp-type- icmp-type对应
0 3 4 8 11 12 Echo Reply 不可达 Source quench Echo request TTL=0 坏包 - 禁止远程主机ping包
iptables -I INPUT -p icmp --icmp-type 8 -j DROP #不接受echo request
或者
iptables -I OUTPUT -p icmp --icmp-type 0 -j DROP #不发出echo reply
- icmp-type对应
- 写入防火墙规则配置文件
配置文件/etc/sysconfig/iptables
/etc/init.d/iptables save #将防火墙规则写入到/etc/sysconfig/iptables
#iptables: Saving firewall rules to /etc/sysconfig/iptables:[ OK ]
- 规则的查看
- IPv4的核心管理功能:/proc/sys/net/ipv4/*
- 比对与分析顺序
时间: 2024-10-17 17:51:09