安全技术和防火墙

安全技术

  • 入侵检测系统:特点是不阻断网络访问,通过量化、定位的方式来锁定内外网络的危险情况,提供告警服务和事后监督为主。这种系统没有任何主动行为。
  • 入侵防御系统:以透明模式工作,会对数据包进行分析,检查是否有木马、病毒或者服务攻击等,进行准确的分析判断。判定之后立刻阻断。会主动地有效地保护网络安全,是所有数据进入指定网络的必经之路。
  • 防火墙就是入侵防御系统,主要作用就是:隔离,工作在网络或者主机的边缘。对进出网络或者主机的数据包基于一定规则进行检查。而且在匹配到某规则时,根据定义的规则做出相应的处理动作。只有允许策略的数据包才能通过。

防火墙

  • 按保护范围分:
    • 主机防火墙:只能保护当前一台主机
    • 网络防火墙:可以保护整个防火墙一侧的局域网
  • 按网络协议分:
    • 网络层防火墙:比如 iptables firewalld 这样的包过滤防火墙,对数据包进行过滤
    • 应用层防火墙
iptables
  • 属于用户态防火墙
    • 何为用户态?
      用户态区别于内核态,是面向使用者的,使用者只需要考虑如何使用,如何配置策略即可
      内核态处于代码层,一般由开发人员进行开发
  • iptables的规则配置后立即生效,无需重启(重启会读取配置文件,反而会还原)
  • centos7之前默认使用iptables,之后默认使用firewalld,两者不能同时使用,所以centos7想要使用iptables需要关闭firewalld
  • iptables由四表五链组成
    • 四表:
      • row表:控制数据包的状态跟踪。可以决定是否跳过后续的处理。(说白了就是决定关闭还是启用数据包的跟踪机制,加快数据包穿越防火墙的速度)
      • mangle表:修改数据包的头部信息,主要是修改数据包的标记位规则。
      • nat表:地址转换表,用于网络地址转换,可以改变数据包的源IP地址和目的IP地址。
      • filter表:iptables的默认表,也就是包过滤表,用于过滤数据包,可以控制数据包的进出,以及是否接受或者拒绝数据包
    • 五链:
      • INPUT链:数据包进入本机的规则
      • OUTPUT链:数据包出本机的规则,因为默认规则能进就能出,所以一般不配置出表
      • PREROUTING链:数据包进入本机之前,是否要做地址转换
      • POSTROUTING链:数据包离开本机之前,是否要做地址转换
      • FORWARD链:是否允许数据包通过本机进行转发
    • 四个表包含五个链,每个链都有自己的规则,规则就是人工配置的规则,我们配置规则就是在链里面配置。
    • 数据包进入本机之后,匹配表的先后顺序如下:row > mangle > nat > filter
  • iptables命令格式:
    iptables -t 表名 管理选项 链名 匹配条件 -j 控制类型
    • 不加-t 表名,默认就是filter表
    • 不加链名就是所有链,一般都会指定
    • 管理选项:
      • -A:在指定链的末尾追加一行
      • -I:(大写的i),在指定链的指定序号处插入一条规则,不指定序号默认插在第一条
      • -P:指定默认策略
      • -D:删除规则
      • -R:修改或者替换规则(太麻烦一般不用)
      • -L:查看
      • v:显示详细信息
      • n:所有字段以数字显示
      • -F:清空链当中的所有规则(慎用)
      • -X:清空自定义链的规则
    • 匹配条件:
      • -p:指定匹配数据包的协议类型
      • -s:指定匹配数据包的源IP地址
      • -d:指定匹配数据包的目的IP地址
      • -i:指定数据包进入本机的网络接口
      • -o:指定数据包离开本机使用的网络接口
      • --sport:指定源端口
      • --dport:指定目的端口
    • 控制类型:
      • ACCEPT:允许数据包通过
      • DROP:直接丢弃数据包,不给予任何回应信息
      • REJECT:拒绝数据包通过,会给予一个响应信息
      • SNAT:修改数据包的源地址
      • DNAT:修改数据包的目的地址
  • 常用命令
    • iptables -vnL --line-numbers
      显示目前的规则
    • iptables -t filter -A INPUT -p icmp -j REJECT
      拒绝所有主机访问本机,包括本机
    • iptables -t filter -I INPUT 1 -p icmp -j ACCEPT
      在filter表中插入一个序号为1的规则,接受所有主机的访问
      • 关于序号:自上而下按顺序进行检查,找到适用的规则就立刻停止,比如说同时有一条拒绝所有主机访问和接受所有主机访问的规则,谁的序号在前(位置在上面),谁就是有效规则
    • iptables -A INPUT -s ip地址 -p icmp -j REJECT
      拒绝指定ip地址的主机访问本机
      指定网段的话就用 192.168.188.0/24 的格式
      指定多个IP要使用 ,(逗号)隔开
      指定多个端口时,要使用 :(冒号)隔开,而且小的端口要写前面,比如:
      iptables -I INPUT 1 -s 192.168.188.0/24 -p tcp --dport 22:80 -j REJECT
    • iptables -t filter -I INPUT 1 -s ip地址 -p tcp --dport 80 -j REJECT
      拒绝目标ip地址的主机通过tcp协议访问本机的80端口
    • iptables -D INPUT 1
      删除INPUT表中序号为1的命令
    • iptables -R INPUT 1 -s 192.168.188.10 -p tcp --dport 80 -j ACCEPT
      修改,-s -p -j之类的必须写全了,不如删了重新创建一个
    • iptables -P INPUT DROP
      将INPUT链的默认规则修改为DROP,即全部丢弃,没事千万别用这个
  • 显示匹配:用-m扩展模块的形式指出类型、多端口、MAC地址、IP范围
    • 多端口格式:iptables -A INPUT -p tcp -m multiport --dport 80,21,22,53 -j REJECT
      用逗号(,)隔开并且不需要按从小到大写
    • 匹配IP范围:源IP用-m iprange --src-range,目的IP用-m iprange --dst-range
      iptables -A INPUT -p tcp -m iprange --src-range 192.168.188.20-192.168.188.40 --dport 80 -j REJECT
    • MAC地址匹配,比较少用
      -m mac --mac-destination mac地址 -j DROP
      源地址用 --mac-source
  • -i 指定入口设备(网络接口、网卡)示例
    iptables -A INPUT -s 192.168.188.11,192.168.188.13 -i ens33 -j DROP
  • iptables的备份:(导入配置文件之前一定要备份)
    iptables-save > /opt/iptables.bak(指定文件备份位置)
    iptables-restore < /opt/iptables.bak(读取备份文件,注意这种方式只能是临时修改,配置文件并没有更改,一旦restart服务就又还原了)
    如果想要改变配置文件,直接覆盖就行,但注意导入配置文件之前一定要备份:
    cat /opt/iptables.bak > /etc/sysconfig/iptables
自定义链
  • 自定义链添加:iptables -N custom(链名) 创建链

  • 自定义链改名:iptables -E custom(原来名称) tsh(新名称) 自定义链改名

  • 创建自定义链规则:iptables -t filter -I tsh -p icmp -j REJECT 创建自定义规则, iptables的链中添加一条对应到自定义链中才能生效

  • iptabales创建对应链规则然后跳转自定义链web:iptables -t filter -I INPUT -p icmp -j custom

  • 删除自定义规则链:先删除iptables INPUT链中的对应关系,然后删除自定义链中的规则。 iptables -D INPUT 1 iptables -D tsh 1

  • 然后再用 iptables -X tsh 删除这个链

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值