标签:配置文件 有一个 国家 必须 disabled 注意 系统安全 家目录 装系统
SELinux(Security-Enhanced Linux) 是美国国家安全局(NSA)对于强制访问控制的实现,是基于内核级的系统安全防护,是 Linux历史上最杰出的新安全子系统,在这种访问控制体系的限制下,进程只能运行在他的任务中所需要的和不违背安全策略的任务。文件也是如此 ,若你想要访问一个文件, 你必须具有普通访问权限和 SELINUX 访问权限, 即使以超级用户身份 root 运行进程 , 也要根据进程以及文件或资源的 SELinux 安全性上下文标签来决定是否有权限访问文件。SElinux系统比起平常系统安全性要高得多,每个进程都受到selinux的控制 ,接下来让我们一起来认识一下SElinux。
一、SElinx的个人介绍
传统Linux,一切皆文件,由用户,组,权限控制访问
在SELinux中,一切皆对象(object),由存放在inode的扩展属性域的安全元素所控制其访问 , 所有文件和端口资源和进程都具备安全标签:安全上下文(security context)。
安全上下文有五个元素组成: user:role:type:sensitivity:category
SELinux的状态:
enforcing: 强制,每个受限的进程都必然受限
permissive: 允许,每个受限的进程违规操作不会被禁止,但会被记录于审计日志
disabled: 禁用
二、SElinux状态查看及相关配置
1、查看当前selinx状态
getenforce 获取selinux当前状态
[root@blwsy ~]#getenforce
Enforcing
sestatus 查看selinux状态
[root@blwsy ~]#sestatus
SELinux status: enabled
SELinuxfs mount: /selinux
Current mode: enforcing
Mode from config file: enforcing
Policy version: 24
Policy from config file: targeted
2、设置selinx状态
我们在装系统是默认的selinx都为disabled,就是大部分都是关闭状态,如果想要开启应该修改/etc/selinux/config相关的配置文件,然后重启生效,这是selinux的状态则为开启,可能会导致开机自检时一些应用启动失败,进而导致虚拟机开不起来,我在centos7设置selinux为enforcing状态时就遇到过这种问题,解决办法是在/boot/grub2/grub.cfg文件中,在开头加上一行enforcing=0,默认enforcing值为1,改为1后系统就可以正常开启了。接下来就开始对selinux进行设置了。
3、SELinux安全标签
chcon [OPTION]... [-u USER] [-r ROLE] [-t TYPE] FILE...
chcon [OPTION]... --reference=RFILE FILE...
-R:递归打标
restorecon [-R] /path/to/somewhere
[root@blwsy ~]# semanage fcontext –l
[root@blwsy ~]#semanage fcontext -l |grep ‘/var/ftp‘
/var/ftp(/.*)? all files system_u:object_r:public_content_t:s0
/var/ftp/bin(/.*)? all files system_u:object_r:bin_t:s0
/var/ftp/etc(/.*)? all files system_u:object_r:etc_t:s0
/var/ftp/lib(64)?(/.*)? all files system_u:object_r:lib_t:s0
/var/ftp/lib(64)?/ld[^/]*\.so(\.[^/]*)* regular file system_u:object_r:ld_so_t:s0
[root@blwsy ~]# semanage fcontext -a –t httpd_sys_content_t ‘/testdir(/.*)?’
[root@blwsy ~]#semanage fcontext -d –t httpd_sys_content_t ‘/testdir(/.*)?’
4、端口标签
[root@blwsy ~]#semanage port –l
[root@blwsy ~]# semanage port -a -t port_label -p 9527
[root@blwsy ~]#semanage port -d -t port_label -p tcp 9527
[root@blwsy ~]#semanage port -m -t port_label -p tcp9527
5、布尔值
getsebool
setsebool
[root@blwsy ~]#getsebool -a|grep ftp
allow_ftpd_anon_write --> on
allow_ftpd_full_access --> off
allow_ftpd_use_cifs --> off
allow_ftpd_use_nfs --> off
ftp_home_dir --> off
ftpd_connect_db --> off
ftpd_use_fusefs --> off
ftpd_use_passive_mode --> off
httpd_enable_ftp_server --> off
tftp_anon_write --> off
tftp_use_cifs --> off
tftp_use_nfs --> off
[root@blwsy ~]# semanage boolean -l –C
setsebool [-P] boolean value(on,off)
[root@blwsy ~]#setsebool -P allow_ftpd_anon_write on
setsebool [-P] Boolean=value(0,1)
[root@blwsy ~]#setsebool -P allow_ftpd_anon_write=1
三、selinux相关实验
实验1:配置vsftpd,实现匿名上传。
1. [root@blwsy ~]#yum -y install vsftpd
2. [root@blwsy ~]#vim/etc/vsftpd/vsftpd.conf 将以下两行注释去掉允许匿名上传
anon_upload_enable=YES
anon_mkdir_write_enable=YES
[root@blwsy ~]#service vsftpd restart 修改文件保存后重启服务
3. [root@blwsy ~]#setfacl -m u:ftp:rwx /var/ftp/pub/ 设置ftp服务的acl权限为7有权读写执行
4. [root@blwsy ~]#chcon -t public_content_rw_t /var/ftp/pub 设置pub的type类型
5. [root@blwsy ~]#setsebool -P allow_ftpd_anon_write on 设置boolean值并永久生效
实验2: 配置httpd开启用户家目录的访问
1.[root@blwsy ~]#yum -y install httpd
2. [root@blwsy ~]#vim /etc/httpd/conf.d/userdir.conf 设置可以修改目录并指定新值
#UserDir disabled
UserDir public_html
3. [root@blwsy ~]#systemctl restart httpd
4. [root@blwsy ~]#useradd nanyibo
5. [root@blwsy ~]#cd ~wsy
[root@blwsy wsy]#mkdir public_html
[root@blwsy wsy]#echo hello world > publichtml/index.html
6. [root@blwsy wsy]#setfacl -m u:apache:x /home/nanyibo/ 用户家目录只有自己和root能访问,现在设置Apache用户x权限可以抓出文件里的内容
7. [root@blwsy wsy]# setsebool -P httpd_enable_homedirs=1 在selinux为开启的状态下别的用户可以进如入
8.找另一台虚拟机测试
curl http://192.168.153.7/~wsy/ 注意最后的/
实验3:修改http端口号为9527
1、修改配置文件
[root@blwsy ~]#vim /etc/httpd/conf/httpd.conf
2、增加selinux标签
[root@blwsy ~]#semanage port -a -t http_port_t -p tcp 9527
3、重启服务
[root@blwsy ~]#service httpd restart
4、查看9527端口是否在监听
[root@blwsy ~]#netstat -tnl|grep 9527
tcp 0 0 :::9527 :::* LISTEN
5、端口访问
标签:配置文件 有一个 国家 必须 disabled 注意 系统安全 家目录 装系统
原文地址:https://www.cnblogs.com/w-s-y/p/9537348.html