防火墙
根据一组网络流量访问的规则进行匹配策略,来判断是否能通行,规则由上到下匹配,所以通常默认策略是全部拒绝,而不是全部接受,这样更加安全
每个方向的流量都有自己的策略链,以下链在filter表中,该表也是默认表:
| 英文名 | 方向 |
|---|---|
| INPUT | 流入流量(一般对此策略链进行配置) |
| OUTPUT | 流出流量 |
| FORWARD | 转发流量 |
以下链在nat表中:
| 英文名 | 描述 |
|---|---|
| PREROUTING | 在进行路由选择前处理数据包 |
| POSTROUTING | 在进行路由选择后处理数据包 |
| OUTPUT | 流出流量 |
iptables
此工具在之前版本中使用的,之后版本不再有了,此工具不是一个服务
查看
t:指定查看的是那个表,默认是filter表L:查看所有策略表的策略n:显示端口号而不是协议名v:显示更加详细
增加
P:设置默认策略,后跟策略表名和策略,比如iptables -P INPUT DROP将流入流量设置默认策略为全拒绝I:在某策略链头部添加策略A:在某策略链尾添加策略p:匹配协议,如TCP、UDP、ICMP--dport:目标端口号(服务端端口号),一段端口号使用的是:分隔而不是-s:来源地址(客户端地址),可以加!号表示除此之外--sport:来源端口号(客户端端口号)j:匹配后的动作ACCEPT:接受DROP:丢弃REJECT:拒绝LOG:保存到日志文件
删除
F:清空所有规则D:删除某表的某一条一条规则,从1开始
firewall
此工具在新版本中使用,之前的版本是没有的,此工具是一个服务对应的服务名称就是firewalld,而且此工具的命令行版本叫firewall-cmd,图形化版本叫firewall-config
该工具中引入区域的概念,说的是当前服务器所处环境(区域),而采用的防火墙默认策略,其实就是一种防火墙模板
| 区域 | 描述 |
|---|---|
| trusted | 全部接受 |
| drop | 全部拒绝 |
| public | 默认区域,除拉ssh、dhcpv6-client协议外,全部拒绝,可以配置接受规则条目 |
get-default-zone:获取默认区域set-default-zone:设置默认区域get-services:显示可设置的服务名add-service:添加放行服务流量remove-service:删除设置的放行服务流量query-service:查看是否放行该服务list-services:查看以设置的服务列表add-port:添加放行端口流量,需要同时指定协议名,以/分隔,若同时指定多个端口是以-分隔remove-port:删除设置的放行端口流量,需要同时指定协议名,以/分隔query-port:查看该端口是否放行,需要同时指定协议名,以/分隔list-port:查看以设置的放行端口和协议permanent:永久生效,默认情况下在重启后设置的策略会失效,加上此参数虽然可以永久生效,但是在为重启时会是未生效状态,在重启后才会生效reload:此参数正是为了解决permanent参数重启后生效的,此参数会使永久生效的在本次立即生效query-masquerade:检查是否允许伪装IPadd-masquerade:允许防火墙伪装IPremove-masquerade:禁止防火墙伪装IPadd-forward-port:设置端口转发,值需要以port=源端口号:proto=协议:toport=转发端口号:toaddr=转发IP形式,转发IP的前提是允许防火墙伪装IPadd-rich-rule:设置富规则,值需要以规则字符串命令来指定,如rule family="ipv4" source address="192.168.1.100" service name="mysql" reject,由于有空格需要用双引号引起来rule family:指定IP协议,ipv4或ipv6source address:指定IP,一段IP就使用子网掩码即可service name:指定服务- 执行的动作:
reject:拒绝drop:丢包accept:接受log:保存到日志
port port:端口,多个端口使用-分隔protocol:协议
list-rich-rules:查看设置的富规则remove-rich-rule:删除富规则,不是根据编号删除的,而是怎么设置的就是怎么删除的,所以值也是规则字符串命令,通常使用list-rich-rules查询出的规则复制粘贴删除
TCP Wrappers
该工具使用到两个配置文件/etc/hosts.allow(允许)和/etc/hosts.deny(拒绝),顺序是先匹配允许文件,后匹配拒绝文件,一旦匹配成功就不会再向后匹配
配置形式是服务名:IP的形式,若指定多个服务需要使用逗号分隔,若指定一个网段需要使用子网掩码,要注意这里是服务名,而不是协议名,比如ssh,ftp:192.168.1.100

Comments NOTHING