十六、SELINUX、netfilter防火墙以及其iptables工具

SELINUX

关闭selinux有两种方法:暂时关闭selinux防火墙,下次重启后selinux还会开启。#setenforce 0 #getenforce

#查看临时关闭selinux的状态命令永久关闭selinux

#vi /etc/selinux/config

#修改selinux的配置文件

更改“SELINUX=enforcing”为 SELINUX=disabled  保存退出。

此处需要重启。方能改成disabled.

[[email protected] ~]# /usr/sbin/sestatus -v   或者 #sestatus

#查看selinux的状态命令SELinux status:   disabled

2,netfliter 防火墙,以及其工具iptables

# iptables -nvL

nvL 就是查看规则,-n表示不针对IP反解析主机名;-L表示列出的意思;而-v表示列出的信息更加详细。如果不加-t ,则打印filter表的相关信息。

#iptables -F 表示把所有规则全部删除;

#iptables -Z表示把包以及流量计数器置零

-F 是把当前规则清除,但这个只是临时的,重启系统或者重启 iptalbes 服务后还会加载已经保存的规则,所以需要使用 /etc/init.d/iptables save 保存一下规则,通过上边的命令输出我们也可以看到,防火墙规则保存在了/etc/sysconfig/iptables 你可以查看一下这个文件。

-A/-D :增加删除一条规则;

-I :插入一条规则,其实跟-A的效果一样;

-p :指定协议,可以是tcp,udp或者icmp;

--dport :跟-p一起使用,指定目标端口;

--sport :跟-p一起使用,指定源端口;

-s :指定源IP(可以是一个ip段);

-d :指定目的IP(可以是一个ip段);

-j :后跟动作,其中ACCEPT表示允许包,DROP表示丢掉包,REJECT表示拒绝包;

-i :指定网卡(不常用,但有时候能用到);

-P(大写)后面跟链名,策略内容或者为DROP或者为ACCEPT,默认是ACCEPT。

注意:如果你在连接远程服务器,千万不要随便敲这个命令,因为一旦你敲完回车你就会断掉。

这个策略一旦设定后,只能使用 iptables -P INPUT ACCEPT 才能恢复成原始状态,而不能使用-F参数。

例子:

# iptables -A INPUT -s 10.72.11.12 -p tcp --sport 1234 -d 10.72.137.159 --dport 80 -j DROP

这就是增加了一条规则,省略-t所以针对的是filter表。-A 表示增加一条规则,另外还有-I 表示插入一条规则,-D删除一条规则;后面的INPUT即链名称,还可以是OUTPUT或者FORWORD;-s 后跟源地址;-p 协议(tcp, udp, icmp); --sport/--dport 后跟源端口/目标端口;-d 后跟目的IP(主要针对内网或者外网);-j 后跟动作(DROP即把包丢掉,REJECT即包拒绝;ACCEPT即允许包)。

[[email protected] ~]# iptables -I INPUT -s 1.1.1.1 -j DROP

上例表示:插入一条规则,把来自1.1.1.1的所有数据包丢掉。

[[email protected] ~]# iptables -D INPUT -s 1.1.1.1 -j DROP

删除刚刚插入的规则。注意要删除一条规则时,必须和插入的规则一致,也就是说,两条iptables命令,除了-I 和-D不一样外,其他地方都一样。

[[email protected] ~]# iptables -I INPUT -s 2.2.2.2 -p tcp --dport 80 -j DROP

上例表示把来自2.2.2.2 并且是tcp协议到本机的80端口的数据包丢掉。这里要说的是,--dport/--sport 必须要和-p选项一起使用,否则会出错。

[[email protected] ~]# iptables -p tc

这条规则表示,把发送到10.0.2.34的22端口的数据包丢掉。

iptables规则脚本设定

需求:只针对filter表,预设策略INPUT链DROP,其他两个链ACCEPT,然后针对192.168.137.0/24开通22端口,对所有网段开放80端口,对所有网段开放21端口。这个需求不算复杂,但是因为有多条规则,所以最好写成脚本的形式。脚本内容如下:

# cat /usr/local/sbin/iptables.sh

#! /bin/bashipt="/sbin/iptables"

$ipt -F

$ipt -P INPUT DROP

$ipt -P OUTPUT ACCEPT

$ipt -P FORWARD ACCEPT

$ipt -A INPUT -s 192.168.137.0/24 -p tcp --dport 22 -j ACCEPT

$ipt -A INPUT -p tcp --dport 80 -j ACCEPT

$ipt -A INPUT -p tcp --dport 21 -j ACCEPT

完成脚本的编写后,直接运行

/bin/sh  /usr/local/sbin/iptables.sh 即可。如果想开机启动时初始化防火墙规则,则需要在 /etc/rc.d/rc.local 中添加一行

“/bin/sh /usr/local/sbin/iptables.sh”

保存以及备份iptalbes规则

设定的防火墙规则只是保存在内存中,并没有保存到某一个文件中,也就说当系统重启后以前设定的规则就没有了,所以设定好规则后要先保存一下。

[[email protected] ~]# service iptables save

iptables:将防火墙规则保存到 /etc/sysconfig/iptables: [确定]

它会提示防火墙规则保存在了/etc/sysconfig/iptables文件内,这个文件就是iptables的配置文件了。所以日后,如果你遇到备份防火墙规则的任务,其实就是要拷贝一份这个文件的副本。

有时,我们会需要把防火墙所有规则都清除,使用 iptables -F 命令虽然可以,但是最好的办法是把防火墙服务停止:

[[email protected] ~]# service iptables stop

iptables:清除防火墙规则:              [确定]

iptables:将链设置为政策 ACCEPT:nat filter   [确定]

iptables:正在卸载模块:               [确定]

这样防火墙就失效了,但是一旦重新设定规则后(哪怕只有一条),防火墙服务会自动开启。下面阿铭介绍给你一个用来备份防火墙规则的命令:

[[email protected] ~]# sh /usr/local/sbin/iptables.sh

[[email protected] ~]# iptables-save > myipt.rule

先执行一下刚才我们写的iptables脚本,使用 iptables-save 命令重定向到一个文件里。要想恢复这些规则使用下面的命令即可:

[[email protected] ~]# iptables-restore < myipt.rule

http://blog.chinaunix.net/uid-X125X ... htmlX102X

参考资料

时间: 2024-12-14 12:51:27

十六、SELINUX、netfilter防火墙以及其iptables工具的相关文章

第十六章 在文件中搜索文本工具:grep命令 和egrep命令

第十六章 在文件中搜索文本工具:grep命令 和egrep命令 名词解释 grep(global search regular expression(RE)and print out the line,全面搜索正则表达式并把行打印出来) grep是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来. 选项 - -a :不要忽略二进制数据 - -A <显示行数>:除了显示符合范本样式的那一行之外,并显示该行之后的内容. - -b :在显示符合范本样式的那一行之外,并显示该行

Kinect for Windows SDK v2.0 开发笔记 (十六) SDK2.0正式发布 与 自带工具

(转载请注明出处) 使用SDK: Kinect for Windows SDK v2.0 1409 来了,微软于10月22日正式发布了SDK v2.0,前兆是发现了API文档正常了... 话说为什么是1409而不是1410 于是从这节开始,开始附上API的超链接.正式版的体积也是可观,整整(比7月版)大了一倍 这节说说自带的软件,本打算录下来,但是太懒了 先附上微软自己的地址,Part1,Part2,这是手势的,虽然是使用C#,不过工具使用是完全一样的. 先看看SDK中自带的工具: 0. Kin

linux架构学习第三十天防火墙初识及iptables详解

内容: 1.防火墙简介 2.iptables简介 3.iptables的使用说明(主机防火墙和网络防火墙) 4.iptables的保存 一.防火墙简介 1.防火墙(Firewall),它是一种位于内部网络与外部网络之间的网络安全系统.一项信息安全的防护系统,依照特定的规则,允许或是限制传输的数据通过.内部网络和外部网络之间的所有网络数据流都必须经过防火墙,这是防火墙所处网络位置特性,同时也是一个前提.因为只有当防火墙是内.外部网络之间通信的唯一通道,才可以全面.有效地保护企业网内部网络不受侵害,

linux基础-第十六单元 yum管理RPM包

第十六单元 yum管理RPM包 yum的功能 本地yum配置 光盘挂载和镜像挂载 本地yum配置 网络yum配置 网络yum配置 Yum命令的使用 使用yum安装软件 使用yum删除软件 安装组件 删除组件 清除缓存 查询 课后作业 [本节内容]1. yum的功能:yum是Yellow dog Updater, Modified的缩写,目的就是为了解决RPM的依赖关系的问题,方便使用者进行软件的安装.升级等等工作.2. 掌握光盘挂载和镜像挂载a) 光盘挂载mount /dev/sr0 挂载点或者

Spring Boot(十六):使用Jenkins部署Spring Boot

Spring Boot(十六):使用Jenkins部署Spring Boot jenkins是devops神器,介绍如何安装和使用jenkins部署Spring Boot项目 jenkins搭建 部署分为四个步骤: 第一步,jenkins安装 第二步,插件安装和配置 第三步,Push SSH 第四步,部署项目 第一步 ,jenkins安装 1,准备环境 JDK:1.8Jenkins:2.83 Centos:7.3maven 3.5 注意;jdk 默认已经安装完成 2,配置 maven 版本要求m

linux杂谈(十六):ftp的企业应用级配置(三)

这次我们来讲解黑名单,白名单以及内网和外网的ftp的访问的不同设置. 1.黑名单 有的时候我们不想让某些本地用户登录,这个时候就要设置黑名单了,它在/etc/vsftpd下: 如何添加一个用户到黑名单: (1)首先我们把一个用户(westos)添加到ftpusers: 重启服务(并且刷掉火墙)后看是否可以登录: westos登录需要输入密码,但是不能登录,此刻为黑名单. (2)我们在把westos添加到user_list中看看: 看到上面的那个提示了么,当userlist_deny=NO时,只允

CentOS下配置iptables防火墙 linux NAT(iptables)配置

CentOS下配置防火墙 配置nat转发服务CentOS下配置iptables防火墙 linux NAT(iptables)配置 CentOS下配置iptables 1,vim /etc/sysconfig/network   这里可以更改主机名称. NETWORKING=yesNETWORKING_IPV6=noHOSTNAME=BGI-TJ.localdomain GATEWAY=192.168.11.1(超算网关) 2.vim /etc/sysconfig/network-scripts/

二.第十单元 Selinux

####二.第十单元#########selinux的初级管理###################1.什么时selinuxselinux,内核级加强型防火墙 2.如何管理selinux级别selinux开启或者关闭)vim /etc/sysconfig/selinuxselinux=disabled        ##关闭状态selinux=Enforcing        ##强制状态selinux=Permissive        ##警告状态 getenforce          

Kali Linux Web 渗透测试视频教程— 第十六课-拒绝服务攻击

Kali Linux Web 渗透测试视频教程— 第十六课-拒绝服务攻击 文/玄魂 目录 Kali Linux Web 渗透测试视频教程— 第十六课-拒绝服务攻击...................... 1 DoS............................................................................................................... 2 DDoS.......................