Linux安全保護模型?html
1 自主訪問控制DAC (rwx facl)linux
全部者對本身的資源負責redis
dr-xr-xr-x. 29 root root 4096 5月 5 14:05 /算法
2 MAC,強制訪問控制apache
管理員對全部的資源負責vim
TCSEC標準定義的 MLS 多級安全 安全
SELinux *ssh
[root@room5pc00 ~]# sestatuside
SELinux status: disabled工具
[root@room5pc00 ~]#
[root@room5pc00 ~]# cat /etc/sysconfig/selinux
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - SELinux is fully disabled.
SELINUX=enforcing
# SELINUXTYPE= type of policy in use. Possible values are:
# targeted - Only targeted network daemons are protected.
# strict - Full SELinux protection.
SELINUXTYPE=targeted
[root@room5pc00 ~]# reboot
[root@svr5 ~]# sestatus selinux查詢
SELinux status: enabled
Current mode: enforcing
.. ..
Policy from config file: targeted
方法一,修改kernel啓動參數
添加 selinux=0 以禁用
添加 selinux=1 以啓用
方法二,修改文件/etc/selinux/config
設置 SELINUX=disabled 以禁用
設置 SELINUX=permissive 寬鬆/容許模式
設置 SELINUX=enforcing 強制模式
[root@room5pc00 ~]# getenforce
Enforcing
[root@room5pc00 ~]# setenforce 0
[root@room5pc00 ~]# getenforce
Permissive
[root@room5pc00 ~]# setenforce 1
[root@room5pc00 ~]# getenforce
Enforcing
[root@room5pc00 ~]#
++++++++++++++++++++++++++++++++++++++++++++
查看文件上下文:
[root@room5pc00 ~]# ll -Z /etc/passwd
-rw-r--r--. root root system_u:object_r:etc_t:s0 /etc/passwd
[root@room5pc00 ~]# ll -dZ /etc
drwxr-xr-x. root root system_u:object_r:etc_t:s0 /etc
查看httpd服務上下文
ps aux -Z | grep httpd
unconfined_u:system_r:httpd_t:s0 apache 3975 0.0 0.0 186060 2524 ? S 10:42 0:00 /usr/sbin/httpd
unconfined_u:system_r:httpd_t:s0 apache 3976 0.0 0.0 186060 2508 ? S 10:42 0:00 /usr/sbin/httpd
[root@room5pc00 ~]# id -Z
查看文家夾上下文
ll -dZ /var/www/html/
system_u:object_r:httpd_sys_content_t:s0
用戶 : 角色 :訪問類型 :選項...
通常操做規律
移動的文件,原有的上下文屬性不變
複製的文件,自動繼承目標位置的上下文
修改安全上下問 chcon
-t,指定訪問類型
-R,遞歸修改
[root@room5pc00 ~]# ll -Z /var/www/html/two.html
-rw-r--r--. root root unconfined_u:object_r:admin_home_t:s0 /var/www/html/two.html
[root@room5pc00 ~]#
[root@room5pc00 ~]#
[root@room5pc00 ~]# ll -Z /var/www/html/one.html
-rw-r--r--. root root unconfined_u:object_r:httpd_sys_content_t:s0 /var/www/html/one.html
[root@room5pc00 ~]# chcon -t httpd_sys_content_t /var/www/html/two.html
[root@room5pc00 ~]# ll -Z /var/www/html/two.html
-rw-r--r--. root root unconfined_u:object_r:httpd_sys_content_t:s0 /var/www/html/two.html
[root@room5pc00 ~]#
chcon -R -t httpd_sys_content_t /var/www/html
使用 restorecon 工具
恢復爲所在位置的默認上下文屬性
-R,遞歸修改
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
SELinux布爾值
getsebool -a
getsebool -a | grep ftp
[root@room5pc00 ~]#
setsebool -P allow_ftpd_anon_write=1
setsebool -P allow_ftpd_full_access on
+++++++++++++++++++++++++++++++++++++++++++++++++++++++
安裝排錯工具
yum -y install setroubleshoot-server setroubleshoot-plugins setroubleshoot-doc setroubleshoot
reboot
tail -f /var/log/messages (按提示操做)
May 7 11:53:04 room5pc00 setroubleshoot: SELinux is preventing /usr/sbin/vsftpd from write access on the directory stuput. For complete SELinux messages. run sealert -l ac0211d2-a4fc-4051-8157-a9ca0f771570
按提示執行run之後的指令 #sealert -l ac0211d2-a4fc-4051-8157-a9ca0f771570
#sealert -b 調出圖形查錯菜單
++++++++++++++++++++++++++++++++++++
爲何要給數據加密?
加密、解密
算法?
單向加密(不可逆)MD5 SHA
源數據不發生改變 加密的結果不變
生成固定長度(好比128位)的摘要文本
使用md5sum校驗工具
生成MD5校驗值
與軟件官方提供的校驗值比對
710 head -1 /etc/passwd > a.txt
711 cat a.txt
712 md5sum a.txt
713 cp a.txt b.txt
714 md5sum b.txt
715 vim b.txt
716 md5sum b.txt
717 vim b.txt
718 md5sum b.txt
++++++++++++++++++++++++++++++++++++
對稱加密(加密和解密使用相同的密碼) DES AES
++++++++++++++++++++++++++++++++++++
GnuPG,GNU Privacy Guard 最流行的數據加密、數字簽名工具軟件
[root@room5pc00 ~]# which gpg
/usr/bin/gpg
[root@room5pc00 ~]# rpm -qf /usr/bin/gpg
gnupg2-2.0.14-8.el6.x86_64
[root@room5pc00 ~]#
gpg支持的算法:
公鑰:RSA, ELG, DSA
對稱加密:3DES, CAST5, BLOWFISH, AES, AES256, .. ..
散列:MD5, SHA1, .. .., SHA256, SHA512
ssh -X usera@IP
echo aaaaa > /tmp/usera.txt
cd /tmp/
gpg -c usera.txt (提示輸入加密的密碼)
ls usera.txt.gpg
rm -rf usera.txt
ssh -X userb@ip
cd /tmp
gpg -d usera.txt.gpg > userb.txt (提示輸入解密的密碼)
cat userb.txt
aaaaa
++++++++++++++++++++++++++++++++++++
非對稱加密(公鑰加密 私鑰解密) RSA DSA
1 usera 用戶生成本身的祕鑰對(公鑰 /私鑰)gpg --gen-key
2 usera用戶導出本身的公鑰
gpg -a --export > /tmp/UserB.pub
3 userb用戶導入公鑰
gpg --import /tmp/UserB.pub
4 userb用戶使用導入的公鑰加密數據
echo abcdedf > /tmp/test.txt
cd /tmp
gpg -e -r panglj test.txt
ls test.txt.*
5 userb用戶使用本身的私鑰解密
gpg -d /tmp/test.txt.gpg > usera2.txt
userb:
gpg --gen-key
[userb@room5pc00 ~]$ gpg --gen-key
gpg (GnuPG) 2.0.14; Copyright (C) 2009 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
請選擇您要使用的密鑰種類:
(1) RSA and RSA (default)
(2) DSA and Elgamal
(3) DSA (僅用於簽名)
(4) RSA (僅用於簽名)
您的選擇?
RSA 密鑰長度應在 1024 位與 4096 位之間。
您想要用多大的密鑰尺寸?(2048)1024
您所要求的密鑰尺寸是 1024 位
請設定這把密鑰的有效期限。
0 = 密鑰永不過時
<n> = 密鑰在 n 天后過時
<n>w = 密鑰在 n 周後過時
<n>m = 密鑰在 n 月後過時
<n>y = 密鑰在 n 年後過時
密鑰的有效期限是?(0)
密鑰永遠不會過時
以上正確嗎?(y/n)y
You need a user ID to identify your key; the software constructs the user ID
from the Real Name, Comment and Email Address in this form:
"Heinrich Heine (Der Dichter) <heinrichh@duesseldorf.de>"
真實姓名:plj
姓名至少要有五個字符長
真實姓名:panglj
電子郵件地址:plj@tedu.cn
註釋:teacher
您選定了這個用戶標識:
「panglj (teacher) <plj@tedu.cn>」
更改姓名(N)、註釋(C)、電子郵件地址(E)或肯定(O)/退出(Q) O
ls ~/.gnupg/