认识防火墙
概念
作用
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
以上都不符合,则放行
封包过滤软件: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
语法结构
规则的查看
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统计归零
定义预设封包动作policypolicy: 当你的封包不在设定的规则之内时,则该封包的通过与否,是以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地址设定规则
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
写入防火墙规则配置文件
配置文件/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/*
posted @
2015-06-01 15:43
RickyYuan
阅读(
780 )
评论()
编辑
收藏
举报