RHCE课程-RH253Linux服务器架设笔记十-Iptables防火墙

简介:
其实不论从nat,包过滤,ALG,稳定性,安全性,来说,用linux做一个防火墙,是一个不错的规划,当然还有价格
Iptables防火墙原理
防火墙技术分为三种
1、包过滤,在ACL中使用ip地址或端口号进行过滤
2、ALG,应用层网关,工作类是代理服务器,linux的squid和win的ISA都是出色的ALG
3、状态化包过滤,使用ACL,通过了解连接状态来确定访问行为
iptables支持包过滤和状态化包过滤
具体防火墙技术相当深奥,不是一言两语可以说清楚
我们用一个实例来分析吧,这个需要对路由和nat要有一定了解才行
实例1: 
一个企业使用linux作为网管和防火墙,如果难度再大点就加个DMZ区域
这样就要3块网卡
通过了解DMZ特性 
1、不可以访问内网 
2、内网和外网可以访问 
3、不可以访问外网
通过这三个特性配置DMZ的网段就可以了
DMZ是不允许访问内网的,避外网通过攻破DMZ,进而攻击内网
DMZ位于网络的哪个位置?内网和外网之间
在硬件设备上就是他自动帮你实现了这些功能,在linux就需要你了解原理,然后自己手动配置,达到相同的效果
如果涉及到DMZ的话,肯定还会有状态化包过滤
好像说深了点点,我们继续刚才的课题
作为网关需要设置全局的默认网关到外面那个网卡eth1
内网我们使用eth0
内网所有主机网关指向linux的eth0的IP地址,然后在服务器打开ip转发
vim /etc/sysctl.conf
他是内存正在运行的一些参数的配置文件, 禁ping那个参数可以写到这里,每次开机读取
net.ipv4.ip_forward = 0值改成1
image
更新系统内核参数
sysctl -p
image
现在我们的IP包已经可以出到广域网了,但是广域网上的路由器会丢弃我们内网的IP地址, 所以我们要做nat
好了,开始说到iptables了
要做nat就需要用到iptables的nat表
我们是从里面到外面的包,所以要修改源IP,就叫做源NAT
红帽的官方教材上讲iptables也是用的这个图
image
我们要出去,就是postrouting
现在我们来配置这条命令
iptables -t nat -A POSTROUTING -o eth1 -s 192.168.8.0/24 -j MASQUERADE
image
我们来讲解这条命令
iptables 是命令本身
-t 是执行表,iptables有两个表,一个是filter:过滤的表
一个是nat,就是NAT表,Network Address Translator
然后-A,-A的意思就是添加一条链
这里添加的链是POSTROUTING链,就是源NAT
-o 是出去的网卡设备,我们使用的是eth1网卡
-s 是源地址,我们设置内网的192.168.8.0/24网段
-j是动作,MASQUERADE 动态源地址转换(动态IP的情况下使用)
如果我们使用的静态外网地址,就可以这样写
iptables -t nat -A POSTROUTING -o eth1  -j  SNAT --to  1.1.1.1 
把出去的地址都转换成1.1.1.1
好了,现在内网用户可以通过linux网关上网了
这个时候我们为了保证内网安全,我们就需要控制进来的包了
现在我们不考虑DMZ,或者是内部有服务器的问题,这样,外部进来的包,我们默认都要丢弃
比方说,你的代理:192.168.0.1 而我的pc在另外一个网段,192.168.8.88   gw192.168.8.188
这样的话就还需要一个网卡了,通过这个网卡来路由撒
为了防止外网伪装内网IP进行攻击。
私网地址的范围如下: 
10.0.0.0 ~ 10.255.255.255 
172.16.0.0 ~ 172.31.255.255 
192.168.0.0 ~ 192.168.255.255
127开头的(lookback地址) 
169.254开头的(WINDOWS保留地址)
先要把10.0.0.0 
172.16-31.0.0 
192.168.0.0 全部禁止,这几条放在最上面
然后再考虑对外要开放的端口号,最后默认策略要是DROP
变成命令就是这样
iptables -t filter -A INPUT -s 10.0.0.0/8 -j DROP 
iptables -t filter -A INPUT -s 172.16.0.0/16 -j DROP 
iptables -t filter -A INPUT -s 172.17.0.0/16 -j DROP 
省略 
iptables -t filter -A INPUT -s 192.168.0.0/24 -j DROP
image
这样把私有网段先全部禁止了
现在外网的私有网段已经ping不通eth1网卡了
image
而内网192.168.8.0/24网段正常
image
然后我们开放一个80端口
iptables -t filter -A INPUT -p tcp -i eth1 --dport 80 -j ACCEPT
image
允许所有IP,当然上面禁止的私有IP不行,都可以访问eth1接口IP的80端口
然后就是最后一条,默认都DROP,INPUT就是从外网进来的
iptables -t filter -P INPUT DROP
没有匹配的包全部丢弃
image
现在内网也ping不通eth1网卡IP地址
image
但是上网没问题
image
外网的就OK了,现在我们来配置内网的防火墙
那个还需要做一个PREROUTING,目标NAT
为了防止内网用户攻击外网的用户,所以需要在内网做一些策略
iptables -t filter -A INPUT -i eth1 -j DROP
image
保存iptables规则
service iptables save
service iptables restart
image
###############Michael分割线#################














本文转自redking51CTO博客,原文链接:http://blog.51cto.com/redking/160014,如需转载请自行联系原作者

相关文章
|
10月前
|
弹性计算 安全 Linux
阿里云服务器ECS安装宝塔Linux面板、安装网站(新手图文教程)
本教程详解如何在阿里云服务器上安装宝塔Linux面板,涵盖ECS服务器手动安装步骤,包括系统准备、远程连接、安装命令执行、端口开放及LNMP环境部署,手把手引导用户快速搭建网站环境。
|
11月前
|
Java Linux 网络安全
Linux云端服务器上部署Spring Boot应用的教程。
此流程涉及Linux命令行操作、系统服务管理及网络安全知识,需要管理员权限以进行配置和服务管理。务必在一个测试环境中验证所有步骤,确保一切配置正确无误后,再将应用部署到生产环境中。也可以使用如Ansible、Chef等配置管理工具来自动化部署过程,提升效率和可靠性。
1052 13
|
11月前
|
监控 Linux 网络安全
FinalShell SSH工具下载,服务器管理,远程桌面加速软件,支持Windows,macOS,Linux
FinalShell是一款国人开发的多平台SSH客户端工具,支持Windows、Mac OS X和Linux系统。它提供一体化服务器管理功能,支持shell和sftp同屏显示,命令自动提示,操作便捷。软件还具备加速功能,提升访问服务器速度,适合普通用户和专业人士使用。
3644 0
|
11月前
|
存储 安全 Linux
Linux服务器上安装配置GitLab的步骤。
按照以上步骤,一个基础的GitLab服务应该运行并可以使用。记得定期检查GitLab官方文档,因为GitLab的安装和配置步骤可能随着新版本而变化。
1005 0
|
安全 Linux 应用服务中间件
在Linux中,包过滤防火墙与代理应用防火墙有什么区别?有哪些相应的产品?
在Linux中,包过滤防火墙与代理应用防火墙有什么区别?有哪些相应的产品?
|
机器学习/深度学习 安全 网络协议
Linux防火墙iptables命令管理入门
本文介绍了关于Linux防火墙iptables命令管理入门的教程,涵盖了iptables的基本概念、语法格式、常用参数、基础查询操作以及链和规则管理等内容。
610 73
|
监控 安全 Linux
启用Linux防火墙日志记录和分析功能
为iptables启用日志记录对于监控进出流量至关重要
608 1
|
网络协议 Linux 网络安全
入职必会-开发环境搭建39-Linux常用操作-Linux防火墙操作
在CentOS 7中,新引入了firewalld服务(防火墙),取代了CentOS 6之前的iptables服务(防火墙)。
342 5
入职必会-开发环境搭建39-Linux常用操作-Linux防火墙操作
|
存储 运维 Linux
Linux防火墙firewall的使用
CentOS 7 中的 firewalld 是基于 Netfilter 的防火墙服务,支持动态配置,无需重启服务即可生效。它通过区域管理网络流量,每个区域可以设置不同的防火墙规则。默认区域为 public,可以通过命令行工具 firewall-cmd 进行管理和配置。firewalld 提供了丰富的预定义服务和区域,方便用户根据需求进行灵活配置。
388 0
|
Linux 网络安全
linux关闭方防火墙的命令
linux关闭方防火墙的命令
352 2