1.1 企业中安全优化配置原则
尽可能不给服务器配置外网ip ,可以通过代理转发或者通过防火墙映射.并发不是特别大情况有外网ip,可以开启防火墙服务.
大并发的情况,不能开iptables,影响性能,利用硬件防火墙提升架构安全
1.1.1 生产中iptables的实际应用
主要应用方向
1、主机防火墙(filter表的INPUT链)。
2、局域网共享上网(nat表的POSTROUTING链)。半个路由器,NAT功能。
3、端口及IP映射(nat表的PREROUTING链),硬防的NAT功能。
4、IP一对一映射。
其他说明:
①iptables是基于内核的防火墙,功能非常强大,基于数据包的过滤!特别是可以在一台非常低的硬件配置下跑的非常好。
注:iptables主要工作在OSI七层的2.3.4层。七层的控制可以使用squid代理+iptables。
②iptabes:生产中根据具体情况,一般,内网关闭,外网打开。大并发的情况不能开iptables,影响性能,iptables是要消耗CPU的,所以大并发的情况下,我们使用硬件防火墙的各方面做的很仔细。selinux:生产中也是关闭的。可以做ids的入侵检测。
③实际生产中尽可能不给服务器配置外网IP。可以通过代理转发。比如,nagios就不需要外网。
④并发不是很大的情况下,再外网的IP环境,开防火墙。
⑤第一次直接默认规则生成配置文件,以后就在配置文件中进行修改(编辑添加删除)。
⑥封掉IP:根据IP地址和网络连接数进行封杀。(定时任务,定时封掉,判断,存在就不再进行二次封杀)
1.1.2 企业常用案例功能小结:
1)linux主机防火墙,单机作为防火墙(表filter)。
2)局域网共享上网(表nat postrouting)。
3)外部地址映射为内部地址和端口(表nat prerouting)
1.2 iptables防火墙简介
Netfilter/Iptables(以下简称Iptables)是unix/linux自带的一款优秀且开放源代码的完全自由的基于包过滤的防火墙工具,它的功能十分强大,使用非常灵活,可以对流入和流出服务器的数据包进行很精细的控制.特别是它可以在一台非常低的硬件配置服务器上跑的非常好(赛扬500HZ cpu 64M 内存的惲况下部署网关防火墙),提供近400人的上网服务丝毫不逊色企业级专业路由器防火墙。 iptables + zebra + squid (企业常用网络开源产品)。
iptables是linux2.4及2.6内核中集成的服务,其功能与安全性比其老一蜚ipfwadm,ipchains 强大的多,iptables主要工作在0SI七层的二、三、四层,如果重新编译内核,iptables也可以支持 7 层控制(squid代理+iptables)。
1.2.1 iptables名词和术语
不少刚接触到iptables的朋友可能会对iptables防火墙的相关名词搞的很晕,不知道其所云的具体意思,而是就最基本的能让大家容易快速理解和掌握的思路来描述:
容器:包含或者说属于的关系
1.2.2 什么是容器
谁不知道啊,容器就是装东西的,如(箱、包、坛)。没错,恭喜你答对了.词典里解释说,容器就是用来包装或装载物品的贮存器(如箱、罐、坛)或者成形或柔软不成形的包覆材料.
在iptables里的呢,就是用来描述这种包含或者说属于的关系。
1.2.3 什么是 Netfilter/iptables ?
Netfilter是表(tables)的容器,这样解释大家肯定还是晕。举个例子,如果把Netfilter看成是某个小区的一栋楼。那么表(tables)就是楼里的其中的一套房子。这套房子"表(tables)"属于这栋“Netfilter”。
1.2.4 什么是表(tables)?
表(tables)是链的容器,即所有的链(chains)都属于其对应的表(tables).如上,如果把Netfilter看成是某个小区的一栋楼.那么表(tables)就是楼里的其中的一套房子。
1.2.5 什么是链(chains)?
链(chains)是规则(Policys)的容器。接上,如果把表(tables)当作有一套房子,那么链(chains)就可以说是房子里的家具(柜子等)。
1.2.6 什么是规则(Policy)?
规则(Policy)就比较容易理解了,就是iptables系列过滤信息的规范和具体方法条款了.可以理解为柜子如何增加并摆放柜子东西等。
基本术语如下表格所示:
Netfilter |
表(tables) |
链(chains) |
规则(Policy) |
一栋楼 |
按里的房子 |
房子里的柜子 |
柜子里衣服,摆放规则 |
1.3 iptables 表和链
描述完iptables术语后,相信大家对iptables的表和链有了初步的了解了,默认情况下,iptables根据功能和表的定义划分包含三个表,filter,nat,mangle,其每个表又包含不同的操作链(chains )。 实际iptables包含4张表和五个链,巧主要记住两张表即可filter和nat表即可。
下面表格展示了表和链的对应关系。
四个表:
表(tables) |
链(chains) |
|
Filter |
这是默认表,实现防火墙数据过滤功能。 |
|
INPUT |
对于指定到本地套接字的包,即到达本地防火墙服务器的数据包。 |
|
FORWARD |
路由穿过的数据包,即经过本地防火墙服务器的数据包。 |
|
OUTPUT |
本地创建的数据包 |
|
NAT |
当遇到新创建的数据包连接时将参考这个表 |
|
FREROUTING |
一进来就对数据包进行改变 |
|
OUTPUT |
本地创建的数据包在路由前进行改变 |
|
POSTROUTING |
在数据包即将出去时改变数据包信息 |
|
Mangle |
这个表专门用于改变数据包 |
|
INPUT |
进入到设备本身的包 |
|
FORWARD |
对路由后的数据包信息进行修改 |
|
FREROUTING |
在路由之前更改传入的包 |
|
OUTPUT |
本地创建的数据包在路由之前改变 |
|
POSTROUTING |
在数据包即将离开时更改数据包信息 |
|
raw |
此表用处较少,可以忽略不计。 This table is used mainly for configuring exemptions from connection tracking in combination with the NOTRACK target. |
|
PREROUTING |
for packets arriving via any network interface |
|
OUTPUT |
for packets generated by local processes |
转载自原文链接, 如需删除请联系管理员。
原文链接:企业防火墙之iptables,转载请注明来源!