​防火墙(一)主机型防火墙

news/2024/7/5 3:40:05

防火墙(一)主机型防火墙

防火墙(二)SNAT和DNAT 

 

防火墙(一)主机型防火墙

默认防火墙规则

 

201104081508025999.png

拒绝与禁止一个数据包

201104081508024146.png

IP防火墙的数据包传输

在IP防火墙中,有三个内建的过滤规则链被使用。所有到达接口的数据包都按照输入规则链被过滤。如果数据包被接受,它会被送到路由模块。路由功能决定数据包是被送到本地还是转发到另一个出站接口。

201104081508056918.png

如果被转发,数据包会由转发规则链进行第二次过滤。如果数据包被接受,它会被送到输出规则链。

本地产生的出站数据包和将被转发的数据包都要经过输出规则链。如果数据包被接受,它会被送出接口。

回环路径包括两个规则链,如图示。每一个回环数据包在出回环接口之前需要通过输出规则链,在那里它会被送到回环的输入接口,然后输入规则链被应用。

20110408150806332.png

Iptables命令的基本语法以iptables本书开始,后面跟着一个或多个选项、一个规则链、一个匹配标准级和一个目标或部署。命令的设计很大程度上取决于要执行的操作。你可以参考这个语法:

Iptables <option> <chain> <matching criteria> <target>

常用命令列表
命令 -A, --append
说明 新增规则到某个规则链中,该规则将会成为规则链中的最后一条规则。


命令 -D, --delete

说明 从某个规则链中删除一条规则,可以输入完整规则,或直接指定规则编号加以删除。

命令 -R, --replace
说明 取代现行规则,规则被取代后并不会改变顺序。


命令 -I, --insert
说明 插入一条规则,原本该位置上的规则将会往后移动一个顺位。

命令 -L, --list
说明 列出某规则链中的所有规则。

命令 -F, --flush
说明 删除某规则链中的所有规则。


命令 -Z, --zero
说明 将封包计数器归零。封包计数器是用来计算同一封包出现次数,是过滤阻断式攻击不可或缺的工具。


命令 -N, --new-chain
说明 定义新的规则链。

命令 -X, --delete-chain
说明 删除某个规则链。

命令 -P, --policy
说明 定义过滤政策。 也就是未符合过滤条件之封包,预设的处理方式。

命令 -E, --rename-chain
说明 修改某自订规则链的名称。


参数 :

 

--source (-s)-----------匹配源IP地址

--destination (-d)---------匹配目标IP地址

--protocol (-p)-------------匹配的协议

--in-interface (-i)------------入口

--out-interface (-o)-----------出口

--state ------------------------匹配一组连接状态

--string-------------------------匹配应用层数据直接序列

--comment-----------------------在内核内存中为一个规则关联多大256个字节的注释数据

目标参数:

ACCEPT----------------------允许数据包通过

DROP-------------------------丢弃数据包

LOG---------------------------将数据信息记录到syslog

REJECT-------------------------丢弃数据包,同时发送适当的响应报文

RETURN--------------------------在调用链中继续处理数据包

 

 

主机型防火墙需要提供服务,所以安全性要最高

所以我们要把默认策略全部改成拒绝!

#!/bin/bash

#防火墙过滤脚本(主机型防火墙)

iptables -t filter -P INPUT ACCEPT     // 首先给2个链 的默认策略改成允许 防止远程操作断开

iptables -t filter -P OUTPUT ACCEPT

iptables -F INPUT    //然后清除所有内容

iptables -F OUTPUT

iptables -I INPUT -p tcp -m multiport --dport 22,25,80,21,110,143 -j ACCEPT   //填写规则

iptables -I INPUT -p udp --dport 53 -j ACCEPT

iptables -A INPUT -p icmp --icmp-type 8 -j DROP

iptables -A INPUT -p icmp --icmp-type 0 -j ACCEPT

iptables -A INPUT -p icmp --icmp-type 3 -j ACCEPT

iptables -t filter -P INPUT DROP    //再把默认策略改成拒绝

iptables -I OUTPUT -p udp --sport 53 -j ACCEPT

iptables -I OUTPUT -p tcp -m multiport --sport 22,25,80,21,110,143 -j ACCEPT

iptables -A OUTPUT -p icmp --icmp-type 8 -j ACCEPT

iptables -A OUTPUT -p icmp --icmp-type 0 -j ACCEPT

iptables -A OUTPUT -p icmp --icmp-type 3 -j ACCEPT

iptables -t filter -P OUTPUT DROP

#从MAC地址匹配

#根据MAC地址封锁主机

#iptables -A INPUT -m mac --mac-source 00:0c:29:c0:55:3f -j DROP

测试各种服务

首先测试www服务

141325793.png

 

我们开放80端口在尝试

141326875.png

[root@hao ~]# sh fang.sh

运行脚本

141327999.png

 

 

Web服务前面搭建好了

例如:禁止从其他主机ping主机,但是允许本机ping其他主机

[root@hao ~]# ping 192.168.129.1

PING 192.168.129.1 (192.168.129.1) 56(84) bytes of data.

64 bytes from 192.168.129.1: icmp_seq=1 ttl=128 time=0.150 ms

64 bytes from 192.168.129.1: icmp_seq=2 ttl=128 time=0.190 ms

64 bytes from 192.168.129.1: icmp_seq=3 ttl=128 time=0.127 ms

64 bytes from 192.168.129.1: icmp_seq=4 ttl=128 time=0.150 ms

64 bytes from 192.168.129.1: icmp_seq=5 ttl=128 time=0.136 ms

64 bytes from 192.168.129.1: icmp_seq=6 ttl=128 time=0.289 ms

64 bytes from 192.168.129.1: icmp_seq=7 ttl=128 time=0.131 ms

64 bytes from 192.168.129.1: icmp_seq=8 ttl=128 time=0.175 ms

但是客户端ping主机就是不通

服务端

141327713.png

主机端

141328916.png

 

这时查看下脚本原件

141328223.png

 

默认就是 filter

141329285.png

 

在来测试 dns服务器

141330318.png

141330987.png

 

加入规则表后 就可以了

141330544.png

141331279.png

可以正常访问了!主机型防火墙 安全级别最高 因为 INPUT和OUTPUT  默认策略是拒绝所有!这样可以防止防弹木马攻击!


本文转自 cs312779641 51CTO博客,原文链接:http://blog.51cto.com/chenhao6/1239306



http://lihuaxi.xjx100.cn/news/276792.html

相关文章

linux网卡绑定脚本

2013-08-20 15:30:51 此脚本适用于CentOS5.x和CentOS6.x。 #!/bin/bash #******************************************** # Copyright (c) Beijing DaoWoo Times Technology Co., Ltd. 2011 # # Author : Wu XuLei (wuxuleidaowoo.com) # FILE : bonding.sh …

机器学习模型融合实战指南

点击上方“小白学视觉”&#xff0c;选择加"星标"或“置顶”重磅干货&#xff0c;第一时间送达本文转自&#xff1a;机器学习算法那些小事模型融合&#xff1a;通过融合多个不同的模型&#xff0c;可能提升机器学习的性能。这一方法在各种机器学习比赛中广泛应用&…

android 子module混淆_Android 传统(经典)蓝牙框架

功能支持多设备同时连接支持观察者监听或回调方式。注意&#xff1a;观察者监听和回调只能取其一&#xff01;支持使用注解RunOn控制回调线程支持设置回调或观察者的方法默认执行线程配置因为使用了jdk8的一些特性&#xff0c;需要在module的build.gradle里添加如下配置&#x…

从嘈杂视频中提取超清人声,语音增强模型PHASEN已加入微软视频服务丨AAAI 2020...

作者 | 罗翀、银大成来源 | 微软研究院AI头条 &#xff08;ID: MSRAsia&#xff09;编者按&#xff1a;在刚刚落幕的 Ignite 大会上&#xff0c;微软展示了企业视频服务 Microsoft Stream 中的一项新功能——无论你在多么嘈杂的地方录制视频&#xff0c;Microsoft Stream 都能自…

最新版火车头织梦内容发布规则_火车头采集器V8.6发布dedecms自定义字段解决方案...

在使用火车头进行dede采集发布的时候&#xff0c;很多人会遇到如果自己增加了自定义字段该如何采集呢&#xff0c;之前本人也遇到了这种问题&#xff0c;搜索了很多百度文章最后完美解决的自定义字段如何发布成功的问题。1.首先打开你要使用对应版本的火车头发布模版编辑器&…

关于 CPU 的一些基本知识总结

点击上方“方志朋”&#xff0c;选择“设为星标”回复”666“获取新整理的面试资料作者&#xff1a;骏马金龙www.cnblogs.com/f-ck-need-u/p/11141636.htm关于CPU和程序的执行CPU是计算机的大脑。1、程序的运行过程&#xff0c;实际上是程序涉及到的、未涉及到的一大堆的指令的…

sql server 中将由逗号“,”分割的一个字符串,转换为一个表,并应用与 in 条件...

select * from tablenmae where id in(1,2,3) 这样的语句和常用&#xff0c;但是如果in 后面的 1&#xff0c;2&#xff0c;3是变量怎么办呢&#xff0c;一般会用字符串连接的方式构造sql语句 string aa"1,2,3";string sqltxt"select * from tablename where id…

解析激光雷达中时序融合的研究现状和发展方向

本文转自&#xff1a;计算机视觉联盟在自动驾驶领域&#xff0c;基于激光雷达 (LiDAR) 的3D物体检测和运动行为预测是一种普遍的方案。目前绝大部分关于激光雷达的物体检测算法都是基于单帧的。激光雷达的多帧时序数据&#xff0c;提供了对于检测物体的多视角观测 (multiple vi…