博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
防火墙(一)主机型防火墙
阅读量:6341 次
发布时间:2019-06-22

本文共 3230 字,大约阅读时间需要 10 分钟。

 

 

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

默认防火墙规则

 

拒绝与禁止一个数据包

IP防火墙的数据包传输

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

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

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

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

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服务

 

我们开放80端口在尝试

[root@hao ~]# sh fang.sh

运行脚本

 

 

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主机就是不通

服务端

主机端

 

这时查看下脚本原件

 

默认就是 filter

 

在来测试 dns服务器

 

加入规则表后 就可以了

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

转载地址:http://gwkla.baihongyu.com/

你可能感兴趣的文章
表格表单及样式重置、特性
查看>>
八月个人考核
查看>>
linux网卡绑定
查看>>
Oracle技术之缺少log_archive_config导致归档路径被禁用
查看>>
Oracle 临时表之临时表的应用问题
查看>>
Linux之进程查看与管理
查看>>
碟中谍:完成任务机房是核心
查看>>
戴尔联合微软开发私有云入门级系统
查看>>
图片轮播滚动
查看>>
关于客户端与服务端时区不同导致客户端上的时间不准问题的解决方案
查看>>
基于Windows AD的单点登录系统(二)
查看>>
第17章 重新登录
查看>>
java 表现层:jsp、freemarker、velocity
查看>>
内置函数, 递归, 二分法
查看>>
java jni和android java ndk
查看>>
Kotlin技术分享:中缀调用、解构声明
查看>>
property函数
查看>>
数论 - 组合数学 + 素数分解 --- hdu 2284 : Solve the puzzle, Save the world!
查看>>
.Net 从零开始构建一个框架之基本实体结构与基本仓储构建
查看>>
C#核编之内建数据类型
查看>>