linux的安全技术和防火墙

一、安全技术

1.入侵检测系统:特点式不阻断网络访问,主要式提供报警和事后监督,不主动介入,默默的看着你(相当于360安全卫士)

2.入侵防御系统:透明模式工作,对数据包,网络监控,服务攻击,木马,蠕虫,系统漏洞等等进行准确的分析和判断,在判定为攻击行为后立即阻断,主动的防御(所有的数据在进入本机之前,必须要通过的设备或者软件)

二、防火墙:作用是隔离,工作在网络或者主机的边缘,对网络或者主机的数据包基于一定的规则进行检查,匹配到的规则,要么放行,要么拒绝(拒绝就就是把数据包丢弃),只开放允许访问的策略(白名单机制,拒绝所有,允许个别)。

三、防水墙:透明模式工作,华为的ensp监控就是防水墙。一切对于防水墙来说都是透明的。可以在事前、事中、事后都可以进行检测。

四、防火墙:

1.iptables:这个是linux自带的防火墙,一般用于内部配置,工作在网络层,针对数据包实施过滤和限制,是包过滤防火墙,对外一般不适用(对外都使用专业的);iptable的过滤规则就是由内核态来进行控制。

2.firewald :这个也是Linux自带的防火墙,centos7以后默认的防火墙,也是包过滤防火墙;作用是网络层对数据包进行选择,选择的依据是防火墙设置的策略,策略包括:IP地址,端口,协议;优点是处理速度块,容易维护;缺点是无法检查应用层数据,病毒无法进行处理。

3.应用层防火墙:在应用层对数据进行检查,比较安全;优点是更加安全,问题定位精准;缺点是所有数据都会检查,会增加防火墙的负载。

五、通信的五大要素:源ip和目的ip

                                   源端口和目的端口

                                   协议(tcp/upd)

      通信的四大要素:源ip和目的ip

                                   源端口和目的端口

六、内核态和用户态:

       内核态:设计到软件的底层代码或者是系统的基层逻辑,以及一些硬件的编码,开发人员更关注内核态;数据如果是内核态处理,速度相对较快。

        用户态:应用层软件层面,认为控制的一系列操作,使用功能,运维人员只考虑用户态;数据通过用户态处理,速度是比较慢的。

七、iptables的配置和策略:四表五链(表里面有链,链里面有规则)

四表:

Raw表:控制数据的状态,跟踪数据包的状态。优先级最高

Mangle表:修改数据包的头部信息。

NAT表:网络地址转换,可以改变数据包的源地址和目的地址

filter表:也是iptables的默认表,不做声明,默认就是filter表,作用是过滤数据包,控制数据包的进出,以及接受和拒绝数据包。优先级最低。

五链:

PREROUTING链:处理数据包进入本机之前的规则(NAT表)

INPUT链:处理数据包进入本机的规则(filter表,是否允许数据包进入,拒绝的话数据包将直接丢弃)

output链:处理本机发出的数据包规则,或者是数据包离开的本机规则(filter表,一般不做设置,进来肯定会让其出去)

forward链:处理数据包转发到其它主机的规则,或者是允许本机进行数据包转发。

postrouting链:处理数据包离开本机之后的规则(NAT表)

优先级:

 第一种跨网段数据包转发的情况

 第二种情况:请求和响应的过程

八、iptables:

1.管理选项:在表的链中插入,增加,删除,查看规则。

-t :  指定表名+管理选项

-A :在链中添加一条规则,在链尾添加

-I:指定位置插入一条规则

-P:指定默认规则,链的规则一般都是设置成拒绝

-D:删除规则

-R:修改规则(慎用)

-vnL:v显示详细信息,n以数字形式展示内容,L查看

--line-numbers:显示规则的编号,一般和查看一起使用

-F:清空链中的所有规则(慎用)

-X:清除自定义链中的规则

2.匹配条件:数据包的ip地址,端口,协议。 

   匹配原则:每个链中规则都是从上到下的顺序匹配,匹配到之后不再向下匹配

   如果链中没有规则,则执行链的默认策略进行处理

-p:指定协议类型

-s:指定匹配的源ip地址

-d:指定匹配的目的ip地址

-i:指定数据包进入本机的网络设备(比如ens33)

-o:指定数据包离开本机的网络设备

--sport:指定原端口

--dport:指定目的端口

3.控制类型:允许,拒绝,丢弃。

-j :后面跟上下面的控制类型

ACCEPT:允许数据包通过。

DROP:直接丢弃数据包,没有任何回应信息。

REJECT:拒绝数据包通过,数据包也会被丢弃,但是会有一个响应的信息。

SNAT:修改数据包的源地址。

DNAT:修改数据包的目的址。

4.注意事项:不指定表名,默认就是filter表

                                         不指定链名,默认就是所有链(禁止行为)

                                         除非设置了链的默认策略,否则必须执行匹配条件(一般都是指定匹配条件)

                                         选项、链名和控制类型都是大写,其余的都是小写。

九、iptables的命令格式:

iptables [ -t  表名]  管理选项  链名 (大写)匹配条件 [ -j  控制类型]

十、隐藏 扩展模块

-m:扩展模块,明确指定类型,多端口,Mac地址,IP范围。

如何指定多端口:

-m multiport --sport /--dport

iptables -A INPUT -p tcp -m multiport --dport 80,22,21,20,53 -j REJECT

指定IP地址的范围:

-m iprange --src-range  源IP范围

-m iprange --dst-range 目的IP范围

在20-50范围内的主机不允许ping主机

iptables -A INPUT -p icmp -m iprange --src-range 20.0.0.20-20.0.0.50 -j REJECT

十一、实验:

1.首先要关闭firewalld的防火墙:systemctl  stop  firewalld

  关闭安全机制:setenforce   0

  安装iptables防火墙:yum   -y   install    iptables   iptables-services

  重启iptables防火墙:systemctl  restart   iptables

  安装service:systemctl     enable     iptables.service

2.查看规则:iptables  -L

iptables  -vnL:以数字化的形式查看原则

查看iptables的行号 iptables -vnL  --line-numbers

清空规则(不指定的话系统默认只清空的是filter表):iptables  -F

添加一条拒绝所有主机来ping本机的规则

 插入一条允许所有主机都可以ping通本机的规则(当你直接添加一条允许规则是不会生效的,只能是插入,而且是要插入到第一条)

 指定IP地址(拒绝IP20ping主机,允许IP30ping主机)

 

指定多个IP地址(一次拒绝多个IP地址ping主机):多个IP要用逗号隔开,控制类型既可以是REJECT也可以是DROP。

DROP:直接丢弃数据包,没有任何回应信息。

REJECT:拒绝数据包通过,数据包也会被丢弃,但是会有一个响应的信息。

 拒绝指定端口

--sport:指定原端口

--dport:指定目的端口

 即拒绝IP也拒绝端口

 拒绝主机访问本机的nginx

 3.删除规则:根据序号删除即可

4. 修改策略(一般不用)

5.修改链名的默认策略(工作中不用):将默认的INPUT链的ACCEPT修改为DROP

 6.如何指定网络设备

禁止IP192.168.127.20主机通过ens33的网卡来访问本机的80端口服务

 

 7.备份和还原:iptables 的配置文件保存在 /etc/sysconfig/iptables,每次重启服务都会重新读取配置文件里的规则,也可以通过iptables-save把当前防火墙配置保存在文件中,每次需要读取这个配置时通过iptables-restore命令获取配置,这个获取配置也是临时生效。可以配合脚本在系统启动时自动加载配置。

8.自定义链:iptables -N  自定义链名:添加自定义链

                     iptables  -E   原自定义链名  现在的自定义链:更改源自定义链名

                     iptables  -X   自定义链 :删除自定义链名

十二、地址转换

sant和dnat

snat:源地址转换(内网的多个主机可以只有一个有效的公网ip地址访问外部网络)

dnat:目的地址转换(外部用户,可以通过一个公网地址访问服务内部的私网服务,私网的ip和公网ip做了一个映射)

实验:

1.分别关闭三台主机firewalld防火墙及安全机制,并向10及30主机进行安装nginx

2.给20主机添加一个网卡

3.修改20主机的网卡的IP地址:vim  ifcfg-ens33

4.配置30主机

5.配置10主机

6.配置20主机的linux内核参数配置文件,内核优化都在这个配置文件中设置:vim   /etc/sysctl.conf

 十三、在Linux当中如何抓包

tcpdump就是linux自带的抓包工具(最小化安装是不带的,需要额外安装)

tcpdump命令:

 十四、centos7防火墙:firewalld
firewalld:centos7自带的。和iptables一样,也是包过滤防火墙

firewalld过滤,通过区域来进行配置

iptables是一个静态防火墙,只有满足条件他才会触发

firewalld是动态防火墙

iptables靠规则

firewalld靠区域

firewalld的区域:

1.trusted:信任区,所有流量都可以传入
2.public:公共区域,允许ssh或者dhcpv6-client的流量可以传入,其他的全部拒绝,也是firewalld的默认区域。
3.dhcpv6-client:获取ipv6地址的客户端工具

4.external:外部区域,允许ssh或者dhcpv6-client的流量可以传入,其他的全部拒绝,默认通过此区域转发的ipv4流量地址,可以进行伪装。
5.home:家庭区域,允许ssh或者dhcpv6-client的流量可以传入,其他的全部拒绝
6.internal:内部区域,默认值与home区域的作用相同
7.work:工作区域。允许ssh或者dhcpv6-client的流量可以传入,其他的全部拒绝
8.DMZ:隔离区/非军事区,允许ssh和其他的预定义好的配置,其他的全部拒绝
9.block:限制区,所有流量都会被拒绝
10.drop:丢弃区,所有流量都会丢弃,没有任何响应

firewalld命令

 


 

  • 26
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值