沙盒技術——selinux控制

沙盒技術:linux

1. 查看進程的上下文關聯vim

ll -Z   
服務器

drwxr-xr-x. root root unconfined_u:object_r:admin_home_t:s0spa

參數解釋:rest

 這條語句經過:劃分紅了四段,第一段 system_u 表明的是用戶,第二段 object_r 表示的是角色,第三段是SELinux中最重要的信息,admin_home 表示的是類型,最後一段 s0 是跟MLS、MCS相關的東西日誌

. 是這個文件正在被selinux保護進程

 

若是沒有selinux,就會致使攻擊的時候先攻擊一個服務,而後成功的話會提權而後攻擊其餘的服務,ci

 

2.context: 有關聯的上下文、get

用戶,角色,類型,級別(敏感度高 )it

u表明用戶信息,系統用戶,r規則,系統操縱,t

drwxr-xr-x. root root unconfined_u:object_r:admin_home_t:s0

 

用戶:

system_u:selinux用戶,系統進程

root_u:root用戶

user_u:系統用戶

 

角色:

object_r:通常文件目錄的角色

system_r:進程角色

 

type:

文件和進程都有類型,限制存儲權限

目錄的造成:依靠硬連接的關聯關係,

 

s0:

[MLS MCS] 一個是進程權限,一個是進程區分

 

3.查看selinux的狀態

sestatus -v 

 

4.getenforce  查看當前臨時權限

 

5.關閉selinux

臨時

setenforce 0

setenforce 1 開啓selinux

永久

vim /etc/selinux/config/

 

解決沙盒控制的方法:

 

方法一

萬能解決

對某個目錄的放問由selinux來控制

1.客戶端

yum  install ftp

安裝ftp客戶端

 

2.服務端

安裝vsftpd軟件包,啓動服務

清空防火牆

 

修改ftp的默認目錄爲/data,

mkdir /data

vim /etc/passwd

直接修改,強制保存

 

安裝這個軟件包

yum install setr*

啓動這個服務才能夠作日誌實時監控

/etc/init.d/auditd restart

 

這個時候須要先開啓selinux

setenforce 1

 

監控日誌

tailf /var/log/messages

 

客戶端訪問ftp

ftp 192.168.117.144

 

在監控的日誌的時候因爲開啓了沙盒因此會報錯,而後會出現一個報錯信息,內含一條這個命令

sealert -l bd5893c8-1aa2-4dd3-902e-dd8796421404

 

 

而後運行這條命令會生成一條臨時解決沙盒拒絕ftp的命令,選擇第一個評分高的而後執行。

setsebool -P allow_ftpd_full_access 1

setsebool -p 系統臨時設置的策略,只限於yum的包

 

查看容許的ftp的策略,

getsebool -a | grep ftp

發現有一條容許ftp的策略:

setsebool -P allow_ftpd_full_access --> on

 

驗證:客戶端這個時候是能夠訪問/data的目錄的

 

方法二:

經過指定的type分發的權限來控制:

而後將這條策略關閉:

setsebool -P allow_ftpd_full_access 0

 

驗證:這個時候是訪問不到的,由於selinux關閉了臨時開啓的策略

 

注意:

restorecon /data/ 還原到默認的context值,須要重啓

 

首先查看這個目錄下的這個文件的權限類型,而後將這個容許訪問的類型複製過來,而後給/data目錄設置這個權限,而後這個目錄就有了訪問的權限,

ll -Z /var/ftp/

 

cd /data

chcon -t public_content_t /data -R

ll -Z

 

驗證:這個時候就能夠了訪問了

 

添加:

[root@lpc didi]# setenforce 1

[root@lpc didi]# getenforce

Enforcing  強制執行

[root@lpc didi]# setenforce 0

[root@lpc didi]# getenforce

Permissive 容許

 

沙盒對samba服務器的控制:

yum -y install smb

vim /etc/samba/smb.conf

mkdir /didi

chmod 777 /didi/

cd /didi/

ls

touch haha

ls

service smb restart

service nmb restart

vim /etc/samba/smb.conf

[DD]

path=/didi

public=yes

read only=yes

writable=yes

 

setenforce 1

cd /etc/samba/

ll -Z

cd /didi/

chcon -t samba_etc_t /didi/ -R

客戶端訪問:

smbclient //192.168.117.144/DD

相關文章
相關標籤/搜索