SELinux安全防护 必要时需要关闭
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了SELinux安全防护 必要时需要关闭,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4883字,纯文字阅读大概需要7分钟。
内容图文
![SELinux安全防护 必要时需要关闭](/upload/InfoBanner/zyjiaocheng/970/3df6248c10924049a97ca4d480d602fa.jpg)
问题
本案例要求熟悉SELinux防护机制的开关及策略配置,完成以下任务:
1)将Linux服务器的SELinux设为enforcing强制模式
2)在SELinux启用状态下,调整策略打开vsftpd服务的匿名上传访问
3)从/root目录下移动一个包文件到FTP下载目录,调整策略使其能够被下载
步骤
实现此案例需要按照如下步骤进行。
步骤一:将Linux服务器的SELinux设为enforcing强制模式
1)固定配置:修改/etc/selinux/config文件
确认或修改SELINUX为enforcing模式:
[root@svr5 ~]# vim /etc/selinux/config
SELINUX=enforcing
SELINUXTYPE=targeted
2)临时配置:使用setenforce命令
查看当前SELinux状态,如果是disabled则需要根据第1)步的配置重启系统;如果是permissive则使用setenforce命令修改为enforcing即可:
[root@svr5 ~]# getenforce
Permissive
[root@svr5 ~]# setenforce 1 //或者setenforce enforcing
[root@svr5 ~]# getenforce
Enforcing
步骤二:在SELinux启用状态下,调整策略打开vsftpd服务的匿名上传访问
1)配置一个允许匿名上传的vsftpd服务作为测试环境
[root@svr5 ~]# yum –y install vsftpd
.. ..
[root@svr5 ~]# vim /etc/vsftpd/vsftpd.conf
anonymous_enable=YES //开启匿名访问
write_enable=YES
anon_umask=022
anon_upload_enable=YES //允许上传文件
anon_mkdir_write_enable=YES //允许上传目录
[root@svr5 ~]# chown ftp /var/ftp/pub
[root@svr5 ~]# service vsftpd start
为 vsftpd 启动 vsftpd: [确定]
2)启用SELinux时验证FTP上传访问
在targeted策略的布尔值设置中,默认禁止FTP匿名写入和完全访问:
[root@svr5 ~]# ls > test.txt
[root@svr5 ~]# ftp 192.168.4.5
[root@svr5 ~]# ftp 192.168.4.5
.. ..
Name (192.168.4.5:root): ftp
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> cd pub
250 Directory successfully changed.
ftp> put test.txt //尝试上传测试文件
local: test.txt remote: test.txt
227 Entering Passive Mode (192,168,4,5,121,146).
553 Could not create file. //上传失败
ftp> quit
221 Goodbye.
3)调整与FTP相关的SELinux布尔值,开放上传写入权限
检查与allow_ftpd相关的SELinux布尔值,如果是off,则将其修改为on:
[root@svr5 ~]# getsebool -a |grep allow_ftpd //查看布尔值
allow_ftpd_anon_write --> off
allow_ftpd_full_access --> off
.. .
[root@svr5 ~]# setsebool -P allow_ftpd_anon_write=1 //设置布尔值
[root@svr5 ~]# setsebool -P allow_ftpd_full_access=1
[root@svr5 ~]# getsebool -a |grep allow_ftpd //确认修改结果
allow_ftpd_anon_write --> on
allow_ftpd_full_access --> on
4)再次访问vsftpd服务,经测试发现匿名上传已经可用
[root@svr5 ~]# ftp 192.168.4.5
.. ..
Name (192.168.4.5:root): ftp
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> cd pub
250 Directory successfully changed.
ftp> put test.txt //尝试上传测试文件
local: test.txt remote: test.txt
227 Entering Passive Mode (192,168,4,5,63,249).
150 Ok to send data.
226 Transfer complete. //上传成功
237 bytes sent in 6.3e-05 secs (3761.90 Kbytes/sec)
ftp> quit
221 Goodbye.
步骤三:从/root目录下移动一个包文件到FTP下载目录,调整文件的安全上下文
1)关闭FTP布尔值allow_ftpd_full_access以便测试
因为开启此项会扩大FTP目录的访问权限(忽略安全上下文),建议先将其关闭。
[root@svr5 ~]# setsebool allow_ftpd_full_access=0
[root@svr5 ~]# getsebool allow_ftpd_full_access
allow_ftpd_full_access --> off
2)建立两个FTP下载用的测试文件
由root用户创建两个测试压缩包,一个直接建立到/var/ftp/目录下,另一个先在/root/下建立,然后移动至/var/ftp/目录 。
[root@svr5 ~]# tar zcf /var/ftp/d1.tar.gz install.log*
[root@svr5 ~]# tar zcf d2.tar.gz install.log*
[root@svr5 ~]# mv d2.tar.gz /var/ftp/
[root@svr5 ~]# ls -lh /var/ftp/d?.tar.gz
-rw-r--r--. 1 root root 13K 8月 16 10:16 /var/ftp/d1.tar.gz
-rw-r--r--. 1 root root 13K 8月 16 10:16 /var/ftp/d2.tar.gz
3)通过FTP方式测试下载
使用wget命令分别下载这两个包文件,第二个包将会下载失败(看不到文件)。
[root@svr5 ~]# wget ftp://192.168.4.5/d1.tar.gz
.. ..
==> PASV ... 完成。 ==> RETR d1.tar.gz ... 完成。
.. ..
2013-08-16 10:36:16 (235 MB/s) - “d1.tar.gz” 已保存 [13124]
[root@svr5 ~]# wget ftp://192.168.4.5/d2.tar.gz
.. ..
==> PASV ... 完成。 ==> RETR d2.tar.gz ...
文件 “d2.tar.gz” 不存在。
4)检查该测试包的安全上下文,正确调整后再次下载第二个包成功。
[root@svr5 ~]# ls -Z /var/ftp/d?.tar.gz
-rw-r--r--. root root unconfined_u:object_r:public_content_t:s0 /var/ftp/d1.tar.gz
-rw-r--r--. root root unconfined_u:object_r:admin_home_t:s0 /var/ftp/d2.tar.gz
[root@svr5 ~]# chcon -t public_content_t /var/ftp/d2.tar.gz
[root@svr5 ~]# ls -Z /var/ftp/d2.tar.gz
-rw-r--r--. root root unconfined_u:object_r:public_content_t:s0 /var/ftp/d2.tar.gz
[root@svr5 ~]# wget ftp://192.168.4.5/d2.tar.gz
.. ..
==> PASV ... 完成。 ==> RETR d2.tar.gz ... 完成。
长度:13124 (13K) (非正式数据)
.. ..
2013-08-16 10:42:21 (178 MB/s) - “d2.tar.gz” 已保存 [13124]
注意:上例中的chcon操作可替换为restorecon /var/ftp/d2.tar.gz 或者chcon --reference=/var/ftp/d1.tar.gz /var/ftp/d2.tar.gz ,效果相同。
内容总结
以上是互联网集市为您收集整理的SELinux安全防护 必要时需要关闭全部内容,希望文章能够帮你解决SELinux安全防护 必要时需要关闭所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。