selinux-网络服务安全

Posted 北极菜鸟

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了selinux-网络服务安全相关的知识,希望对你有一定的参考价值。

一、显示和设置selinux

 [[email protected] ~]# vim /etc/sysconfig/selinux //强制模式 许可模式 禁用模式
[[email protected] ~]# getenforce //查看当前SElinux的状态
[[email protected] ~]# setenforce //可以在强制模式(1) 许可模式(0)之间切换
[[email protected] ~]# sestatus //列出目录SELinux使用的策略(Policy)

 

二、查看安全上下文

进程

ps -ZC sshd

文件

ll -dZ /var/www/html/

端口

[[email protected] ~]# yum provides *bin/semanage
[[email protected] ~]# semanage port -l |egrep ‘\<80\>‘
http_port_t tcp 80, 443, 488, 8008, 8009, 8443

三、修改selinux 上下文

cp 、 mv 对上下文影像

cp:会重新生成安全上下文

 mv:安全上下文则不变

Chcon:

1、  chcon –R httpd_sys_content_t  /webdata

2、  chcon –R –reference /var/www/html   /webdata     //将前一个文件的上下文作为参考,赋给/webdata

 

例:ftp匿名上传

  1. 文件系统的权限
    [[email protected] ~]# mkdir /var/ftp/music
    [[email protected] ~]# setfacl -m u:ftp:rwx /var/ftp/music/
    2. FTP服务器配置
    anonymous_enable=YES
    anon_upload_enable=YES
    anon_mkdir_write_enable=YES

修改上下文

chcon –R  public_content_rw_t  /var/ftp/music/

3.查看

[[email protected] ~]# getsebool -a | grep ftpd

4.设置

[[email protected] ~]# setsebool -P allow_ftpd_anon_write on

5.启动

[[email protected] ~]# systemctl start vsftpd

 

四、监控selinux策略冲突情况

部署selinux日志分析工具

1、安装setroubleshoot-server软件包,才能将SELinux消息发送至/var/log/messages

setroubleshoot-server侦听/var/log/audit/audit.log中的审核信息并将简短摘要发送至/var/log/messages
该摘要包括SELinux冲突的唯一标识符(UUIDs),可用于收集更多信息

 

2、systemctl  restart  rsyslog

Systemctl  restart  auditd

3、测试

[[email protected] ~]# vim /tmp/index.html

[[email protected] ~]# mv /tmp/index.html /var/www/html/

[[email protected] ~]# curl http://localhost

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">

<html><head>

<title>403 Forbidden</title>

</head><body>

<h1>Forbidden</h1>

<p>You don‘t have permission to access /index.html                 //权限拒绝,不能访问

on this server.</p>

</body></html>

4、查看/var/log/messages

 

Nov 16 02:03:35 localhost setroubleshoot: SELinux is preventing httpd from open access on the file /var/www/html/index.html. For complete SELinux messages run: sealert -l f1243e54-7eb7-458b-a260-ca1f8ff61070

……………………………………………………..

If you want to fix the label.

/var/www/html/index.html default label should be httpd_sys_content_t.

Then you can run restorecon.

Do

# /sbin/restorecon -v /var/www/html/index.html

………………..

[[email protected] ~]# /sbin/restorecon -v /var/www/html/index.html

/sbin/restorecon reset /var/www/html/index.html context unconfined_u:object_r:user_tmp_t:s0->unconfined_u:object_r:httpd_sys_content_t:s0

5、访问成功

[[email protected] ~]# curl http://localhost

 

------------------------------

this is a test web !

 













以上是关于selinux-网络服务安全的主要内容,如果未能解决你的问题,请参考以下文章

Linux ❀ RHCE自研教学笔记 - Redhat 8.2 SeLinux服务教研笔记

Linux ❀ RHCE自研教学笔记 - Redhat 8.2 SeLinux服务教研笔记

SELinux的基本概述

系统安全-SElinux

解决SELinux阻止Nginx访问服务

18.Linux优化之SELinux