ch1 iptables介绍

1 防火墙实战 关闭两项功能: selinux(生产中也是关闭的),ids入侵检测,MD5指纹将。系统所有核心文件全部做指纹识别,将指纹留下,将来出问题,一看就知道那个文件被改过。 iptables(生产中看情况,内网关闭,外网打开),大并发的情况,不能开iptables,影响性能。 使用防火墙就不如不使用防火墙,不使用防火墙的前提是不给外网ip,工作中要少给外网服务器ip,这样防火墙使用率较低,防火墙使用也很消耗资源 安全优化: 尽可能不给服务器配置外网IP。可以通过代理转发或者通过防火墙映射。 并发不是特别大情况再外网IP的环境,要开启iptables防火墙 http://edu.51cto.com/course/course_id-772.html 学好iptables基础: OSI7层模型以及不同层对应那些协议? TCP/IP三次握手,四次断开的过程,TCP HEADER。 常用的服务端口要了如指掌。 1.1 iptables防火墙简介 Netfilter/iptables(以下简称iptables)是unix/linux自带的一款优秀且开放源代码的完全自由的基于包过滤的防火墙工具,它的功能十分强大,使用非常灵活,可以对流入和流出的服务器数据包进行很精细的控制。特别是他可以在一台非常低的硬件配置下跑的非常好(赛扬500MHZ 64M内存的情况部署网关防火墙)提供400人的上网服务四号==不逊色企业级专业路由器防火墙==。iptables+zebra+squid iptables是linux2.4及2.6内核中集成的服务。其功能与安全性比其老一辈ipwadin ipchains强大的多(长江水后浪推前浪),iptables主要工作在OSI七层的二、三、四层,如果重新编译内核,iptables也可以支持7层控制(squid代理+iptables)。 1.2 iptables名词和术语 容器:包含或者说属于关系 什么是容器? ​ 在iptables里,就是用老描述这种包含或者说属于的关系 什么是Netfilter/iptables? ​ Netfilter是表(tables)的容器 什么是表(tables)? ​ 表是链的容器,所有的链(chains)都属于其对应的表。 什么是链(chains)? ​ 链(chains)是规则的容器 什么是规则(policy) ​ iptables一系列过滤信息的规范和具体方法条款 iptables抽象和实际比喻对比表 | Netfilter | tables | chains | policy | | --------- | ---------- | ------------ | -------------------- | | 一栋楼 | 楼里的房子 | 房子里的柜子 | 柜子里衣服的摆放规则 | 1.3 iptables工作流程 iptables是采用数据包过滤机制工作的,所以他会对请求的数据包包头数据进行分析,并根据我们预先设定的规则进行匹配来决定是否可以进入主机。...

 ·  · 

ch2 iptables命令帮助信息

2 iptables命令帮助信息 有问题查帮助,下面是很全的帮助信息(必须拿下它) bash 1 $ iptables -h bash 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 $ iptables -nL # INPUT链 ACCEPT默认允许决策 Chain INPUT (policy ACCEPT) target prot opt source destination ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22 REJECT all -- 0.0.0.0/0 0....

 ·  · 

ch3 iptables配置防火墙

生产环境配置主机防火墙有两种模式: 逛公园及看电影两种模式: 逛公园:默认随便出进,对非法的分子进行拒绝。企业应用:企业配置上网网关路由。 看电影:默认没有票进不去。花钱买票才能看电影。企业应用:服务器主机防火墙。 很显然:第二种更严格,更安全。 逛公园及看电影两种模式本事就是防火墙的默认规则是允许还是拒绝。 1.清理当前所有规则和计数器 bash 1 2 3 iptables -F iptables -Z iptables -X 2.配置允许SSH登陆端口进入 bash 1 2 iptables -A INPUT -p tcp --dport 52113 -j ACCEPT iptables -A INPUT -p tcp -s 192.168.1.0/30 -j ACCEPT 提示:此步骤是为了防止执行下面的步骤,把自己关在外面,除非你在本地处理,这部可以不做。 3.设置允许本机lo通讯规则 bash 1 2 iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT # output加不加都行,在工作环境上是加的 4.设置默认的防火墙禁止和允许规则 bash 1 2 3 iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT ACCEPT 一般情况下OUTPUT我们不要drop,像电影院一样,电影已经看完了,中间不想看就回家了,你不可能说不行不能走,所以一般出去没人管,进来才收票,OUTPUT一般不设置,但是不设置也有风险,企业流量暴涨,由于服务器中病毒外发流量。...

 ·  · 

ch4 生产环境如何维护iptables

生产中,一般第一次添加规则命令行或者脚本加入然后一次性保存成文件,然后可以改配置文件管理: bash 1 2 3 4 5 6 7 8 9 $ cat /etc/sysconfig/iptables # Generated by iptables-save v1.4.7 on Wed Nov 23 09:18:12 2016 *filter :INPUT DROP [0:0] :FORWARD DROP [0:0] :OUTPUT ACCEPT [115:13341] -A INPUT -p tcp -m tcp --dport 52113 -j ACCEPT COMMIT # Completed on Wed Nov 23 09:18:12 2016 生产维护: ⑴ 确定规则 sh 1 2 3 4 5 vim /etc/sysconfig/iptables # 加入想要的规则:例如: -A INPUT -p tcp -m tcp --dport 873 -j ACCEPT /etc/init....

 ·  · 

ch5 配置网关及服务器地址映射

1 办公室路由网关架构图 对应实际企业办公上网场景逻辑图 2.实验环境配置需求前期准备 2.1 服务器网关B需要准备如下条件 物理条件是具备上网卡,建议eth0外网地址(这里是192.168.1.5,gw 192.168.1.2),ech1内网地址(这里是172.168.1.10,内网卡不配GW。 确保服务器网关B要可以上网(B上网才能代理别的机器上网)。可以通过ping baidu.com或外网IP测试。 内核文件/etc/sysctl.conf里开启转发功能。在服务器网关B192.168.1.5机器上开启路由转发功能。编辑/etc/sysctl.conf修改内容为net.ipv4.ip_forward = 1,然后执行sysctl -p使修改生效 iptables的filter表的FORWARD链允许转发 不要filter防火墙功能,共享上网,因此最好暂停防火墙测试/etc/init.d/tables stop 2.2 加载iptables内核模块 配置网关需要iptables的nat表,PREROUTING,POSTROUTING。 (1)载入iptables内核模块,执行并放入rc.local bash 1 2 3 4 5 6 7 modprobe ip_tables \ modprobe iptable_filter \ modprobe iptable_nat \ modprobe ip_conntrack \ modprobe ip_conntrack_ftp \ modprobe ip_nat_ftp \ modprobe ipt_state bash 1 2 3 $ lsmod|egrep ^ip iptable_nat 6051 0 iptable_filter 2793 0 2.3 局域网的机器: 局域网的机器有一块网卡即可,确保局域网的机器C,默认网关这只了网关服务器B的eth1内网卡IP(172.168l.1.10)。把主机C的gateway设置为B的内网卡192的网卡ip即172.168l.1.10。 检查手段: 分别ping网关服务器B的内外网卡IP,都应该是通的就对了. 出公网检查除了PING网站域名外,也要ping下外网ip,排除DNS故障。不通 ping 10.0.0.254网关也是不通的。 如上,请准备两台虚拟机B和C,其中B要有双网卡。B的内网卡的网段和C的网段一样。...

 ·  ·