1.防火墙
1.1 图形界面修改
firewall-config ##开启操作界面
Runtime ##临时
Permanent ##永久更改 需要Reload firewalld
Change Default Zone ##修改默认名单
trusted ##信任,可接受所有的网络连接
home ##家庭,用于家庭网络,仅接受ssh、mdns、ipp-client、samba-client、或dhcpv6-client服务连接
internal ##内部,用于内部网络,仅接受ssh、mdns、ipp-client、samba-client、dhcpv6-client服务连接
work ##工作,用于工作区,仅接受ssh、ipp-client或dhcpv6-client服务连接
public ##公共,在公共区域内使用,仅接受ssh或dhcpv6-client服务连接,为firewalld的默认区域
external ##外部,出去的ipv4网络连接通过此区域伪装和转发,仅接受ssh服务连接
dmz ##非军事区,仅接受ssh服务接连
block ##限制,拒绝所有网络连接
drop ##丢弃,任何接收的网络数据包都被丢弃,没有任何回复
Services ##服务列表
Ports ##端口列表
1.2 firewalld操作
1.2.1 firewall基本操作
firewall-cmd --state ##查看firewalld的状态
firewall-cmd --get-active-zones ##查看当前活动的区域,并附带一个目前分配给它们的接口列表
firewall-cmd --get-default-zone ##查看默认区域
firewall-cmd --get-zones ##查看所有可用区域
firewall-cmd --zone=public --list-all ##列出指定域的所有设置
firewall-cmd --get-services ##列出所有预设服务(这样将列出 /usr/lib/firewalld/services/ 中的服务器名称。注意:配置文件是以服务本身命名的service-name. xml)
例:/usr/lib/firewalld/services/ssh.xml
<?xml version="1.0" encoding="utf-8"?>
<service>
<short>SSH</short> ##服务名
<description>Secure Shell (SSH) is a ......be useful.</description> ##说明
<port protocol="tcp" port="22"/> ##协议和端口号
</service>
firewall-cmd --list-all-zones ##列出所有区域的设置
firewall-cmd --set-default-zone=dmz ##设置默认区域
firewall-cmd --permanent --zone=internal --add-source=172.25.0.0/24 ##设置网络地址到指定的区域(--permanent参数表示永久生效设置,如果没有指定--zone参数,那么会加入默认区域)
firewall-cmd --permanent --zone=internal --remove-source=172.25.0.0/24 ##删除指定区域中的网路地址
# 添加、改变、删除网络接口:
firewall-cmd --permanent --zone=internal --add-interface=eth0
firewall-cmd --permanent --zone=internal --change-interface=eth0
firewall-cmd --permanent --zone=internal --remove-interface=eth0
# 添加、删除服务:
firewall-cmd --permanent --zone=public --add-service=smtp
firewall-cmd --permanent --zone=public --remove-service=smtp
# 列出、添加、删除端口:
firewall-cmd --zone=public --list-ports
firewall-cmd --permanent --zone=public --add-port=8080/tcp
firewall-cmd --permanent --zone=public --remove-port=8080/tcp
# 重载防火墙:
firewall-cmd --reload ##注意:这并不会中断已经建立的连接,如果打算中断,可以使用 --complete-reload选项
1.2.2 规则
firewall-cmd --direct --remove-rule ipv4 filter INPUT 1 -p tcp --dport 80 -j ACCEPT ##添加规则
firewall-cmd --direct --remove-rule ipv4 filter INPUT 1 -p tcp --dport 80 -j ACCEPT ##删除规则
firewall-cmd --direct --get-all-rules ##列出规则
1.2.3 伪装
firewall-cmd --add-masquerade ##开启伪装功能
2.selinux
安全上下文
ls -Zd file/dir ##查看文件的安全上下文
chcon -t public_content_t /westos -R ##修改安全上下文,临时
semanage fcontext -l | grep westos ##查看内核中安全上下文列表
semanage fcontext -a -t public_content_t ‘/westos’ ##添加指定目录的安全上下文到内核中安全上下文列表,永久修改
restorecon -Rvvf /westos/ ##重新加载安全上下文列表
selinux默认下会关闭所有有可能会造成不安全操作的服务功能开关,比如上传服务
getsebool -a|grep ftp ##查看ftp服务功能开关
setsebool -P ftp_home_dir on ##永久开启服务功能开关
setenforce 0 ##修改selinux权限,0警告,1强制
getenforce ##获取selinux权限
/var/log/audit/audit.log ##selinux日志文件
setroubleshoot-server ##selinux日志处理软件,处理后将结果放入/var/log/messages中,并有解决方法