linux-selinux安全防禦,加密解密

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/

相關文章
相關標籤/搜索