首页 » 操作系统 » Linux » 正文

SELinux 常用命令收集

发布者:站点默认
2020/07/14 浏览数(884) 分类:Linux, 数据安全 SELinux 常用命令收集已关闭评论

安装 semanage 等管理工具

dnf install policycoreutils-python-utils

查看 sshd 使用的端口

semanage port -l | grep ssh
# ssh_port_t    tcp    2222, 22

为 sshd 添加一个 2222 端口

semanage port -a -t ssh_port_t -p tcp 2222
# 如需删除把 -a 换成 -d 。如果端口已经分配到其它地方,可以把 -a 换成 -m

恢复被服务商禁用的 SELinux

vim /etc/sysconfig/selinux
SELINUX=enforcing
# 要先保证能登录系统再启用,如果你改了 ssh 端口而新端口不被 selinux 允许那就不能远程进系统了

查看 7100 端口的用途

semanage port -l | grep 7100
# xfs_port_t    tcp    7100

把 7100 端口也给 shhd 用

semanage port -m -t ssh_port_t -p tcp 7100
# $ semanage port -l | grep 7100
# ssh_port_t    tcp    7100, 2222, 22
# xfs_port_t    tcp    7100
# 原来使用 7100 的 _t 并不会删除这个端口

为 Web 项目配置权限

执行这2行后即使你不懂 SELinux 也不用关闭 SELinux 了,如果是 Tomcat 把 httpd_sys_content_t 换成 tomcat_var_lib_t

# 假设 Web 项目在 /data/web/ 中
semanage fcontext -a -t httpd_sys_content_t '/data/web(/.*)?'
restorecon -RvvF /data/web
# 如果不是 httpd_sys_content_t 可通过 ls -lZ /usr/share/nginx/html 查找
# 查看(确认)目录的 SELinux 权限用下边这行:
# semanage fcontext -l | grep /data/web

# 启用 file_get_contents('https://...') 功能
setsebool -P httpd_can_network_connect on

# 其它
sestatus -b | grep httpd_can_network_connect
sestatus -b | grep httpd_unified
setsebool -P httpd_can_network_connect 1
setsebool -P httpd_unified 1

为 MySQL 配置权限

# 假设 mysql 的 datadir=/data/mysql
semanage fcontext -a -t mysqld_db_t '/data/mysql(/.*)?'
restorecon -RvvF /data/mysql
# 如果不是 mysqld_db_t 可通过 ls -lZ /var/lib/mysql 查找

临时变更权限

chcon -t tomcat_var_lib_t -R /data

查看整理过的 SELinux 日志

yum install setroubleshoot
sealert -a /var/log/audit/audit.log > ~/selinux.log

查看安全上下文

ls -Z fileOrFolder # 查看文件的安全上下文
ps -eZ             # 查看进程的安全上下文

查看 SELinux 的工作状态

sestatus
getenforce
# setenforce 1



						  
						  
点击返回顶部
  1. 留言
  2. 联系方式