selinux和iptables基本配置
SElinux的启动、关闭和查看:
Selinux的三种模式:enforcing/ permissive/ disable
1,查看selinux的工作模式:getenforce
2,查看selinux的策略:/etc/selinux/config
3,切换模式:setenforce [0|1]
0:转成permissive宽容模式
1:转成enforcing强制模式
Selinux type的修改:chmon
Chcon [-R] [-t type] [-u user] [-r role] 文件
Chcon [-R] --reference=范例文件 文件
恢复成原有的selinux type:
Restorecon [-Rv] 文件/目录
查询与修改类型等:
Semanage {login|user|port|interface|fcontext|translation} -l 查询的意思
Semanage fcontext -{a|d|m} [-frst] file_spec
-a:增加的意思
-d:删除的意思
-m:修改的意思
查看selinux的策略:
Yum install setools-console
Seinfo [-Atrub]
-A:列出selinux的状态、规则布尔值等
-t:列出selinux的所有tppe种类
-r:。。。。。。。。。。。。。。所有role种类
-u:。。。。。。。。。。。。。。所有user种类
-b:列出所有规则的种类
查询详细的规则:
Sesearch [--all] [-s主题类别] [-t 目标类别] [-b布尔值]
查看布尔值的状态:
Getsebool [-a] [布尔值条款]
-a:列出目前系统上的所有布尔条款设置是开启还是关闭
修改布尔值的状态:
Setsebool [-P] 布尔值=[0|1]
-P:直接将设置值写入配置文件
0:关闭布尔值
1:开启布尔值
Selinux日志文件记录
1,setroubleshoot:需要yum安装
Yum install setroubleshoot setroubleshoot-server
还需重启auditd功能
/etc/init.d/auditd restart
错误信息和克服方法记录在:/var/log/messages与/var/log/setroubleshoot/*中
2,修改配置文件/etc/setroubleshoot/setroubleshoot.cfg
可以使得错误发生时发送到邮件上或者控制台上
修改console为true
编辑/var/lib/setroubleshoot/email_alert_recipents添加账户及主机地址
root@localhost
1,查看内核是否启动数据包转发的功能
Cat /proc/sys/net/ipv4/ip_forward :若为1则表示启动了
2,修改转发功能:
暂时可用:echo 1 > /proc/sys/net/ipv4/ip_forward
永久可用:
Vim /etc/sysctl.conf
修改net.ipv4.ip_forward值即可
Sysctl -p 立即生效
3,静态路由:route命令即可
动态路由:Quagga或zebra软件
配置文件在/etc/quagga/zebra.conf中
启动zebra /etc/init.d/zebra start
设置ripd功能:/etc/quaaga/ripd.conf
4,iptables至少有3个默认的table
Filter 、 NAT 、 Mangle
5,iptables 规则的查看与清除:
查看:
iptables [-t tables] -L [-nv]
-t tables:有filter、nat等
-n:表示不进行ip与hostname的反查
-v:列出更多的信息
Iptables-save [-t table]能够列出更仔细的规则
清除:
Iptables [-t table] [-FXZ]
-F:清除已制定的规则
-X:除掉用户自定义的chain
-Z:将所有的chain的计数与流量统计归零
6,定义默认策略:
Iptables [-t nat] -P [INPUT,OUTPUT,FORWARD] [ACCEPT,DROP]
-P:定义策略
7,定义策略:
Iptables [-AI 链名] [-io 网络接口] [-p 协议] [-s 来源IP/网络] [-d 目标IP/网络] -j [ACCEPT | DROP | REJECT | LOG]
-A:增加一条新规则,排在最后面
-I:增加一条新规则,排在最前面
链:有INPUT/OUTPUT/FORWARD等
-i:数据包所进入的那个网络接口
-o:数据包所传出的按个网络接口
-p:协议。例:tcp、udp等
-s:来源网络
若规则为“不许”时,则加上“!”即可
-d:目标网络
-j:接操作
8,TCP/UDP规则对比:
Iptables [-AI 链名] [-io 网络接口] [-p 协议] [-s 来源IP/网络] [--sport 端口范围] [-d 目标IP/网络] [-dport 端口范围] -j [ACCEPT | DROP | REJECT | LOG]
9,iptables外挂模块:mac与state
Iptables -A INPUT [-m state|mac ] [--state 状态]
State:状态模块
Mac:网卡硬件地址
状态:INVALID/ ESTABLISHED/ NEW/ RELATED
10,ICMP数据包规则的比对:
Iptables -A INPUT [-p icmp] [--icmp-type 类型] -j [ACCEPT|DROP]
11,ipv4的内核管理功能:/proc/sys/net/ipv4/*
1,阻断SYN Flooding:/proc/sys/net/ipv4/tcp_syncookies为1
2,阻断ping floodind/of death:/proc/sys/net/ipv4/icmp-echo_ignore_broadcast为1
建议修改系统设置值:/etc/sysctl.conf