Selinux
Selinux經過使用強制訪問控制(也叫作MAC)解決這個問題。在MAC下,用戶沒有對對象的訪問控制權。相反,系統管理員規定了系統及的訪問策略。Selinux的配置文件可經過/etc/sysconfig/selinux或者/etc/selinuc/config來打開,其內容有兩項:SELINUX=enforcing和SELINUXTYPE=targeted;其中前者有三種可能的值enforcing,permissive和disabled,設置enforcing則保證會實施被加載的策略,禁止出現違反該策略的狀況,設置permissive則容許違反策略,但會經過syslog把它們記錄下來,設置disabled則徹底關閉Selinux;SELINUXTYPE指要應用的策略類型,Red Hat一般有兩種策略:targeted爲Red Hat已經保護起來的守護進程規定了給多的安全措施,strict則保護整個系統,還有一種用於軍事上的策略類型稱之爲mls,他的保護措施更嚴。
改變Selinux狀態的方法:
1.)臨時性方法:利用命令`getenforce`可獲得當前系統Selinux的狀態,用命令`setenforce 0 | 1`用於把Selinux的工做狀態調爲`permissive`或者`enforcing`。
2.)永久性方法:能夠選擇修改Selinux的配置文件,或者利用圖形化界面(輸入`system-config-selinux`)設置其配置。
另外,再開機時進grub菜單,修改引導內核的配置:`kernel selinux=0|1`表示關閉或打開Selinux;`kernel enforce=1`表示開機後Selinux的狀態是enforce。
Selinux最重要的兩部分:Label(標籤)和Policy(策略)
可以使用`ls -Z`命令查看文件的標籤,可以使用`ps -Z`命令來查看進程的標籤,可以使用`id redhat(用戶名)`來表示一個用戶的安全上下文,Selinux由user,role,type,sensitivity和category構成;可利用`chcon -t tmp_t /etc/hosts`命令來改變標籤(其中,-t選項表示類型type,-R選項表示遞歸修改recursive),同時可應用`restorecon /etc/hosts`來恢復默認標籤。定義建立文件使得默認標籤可在/etc/selinux/targeted/context/files目錄下的文件中找到;在系統啓動後,通常狀況不能再對Selinux的這隻作出改動,但Selinux提供了一些布爾型的二進制模塊,所以可經過模塊暫時性的修改Selinux的配置:`getsebool -a`顯示全部開機以後可修改的Selinux的配置值;`setsebool pppd_for_user(模塊名) 0 | 1(off | on)`能夠經過此命令對這些模塊進行關閉和開啓;若再上一個命令上
增長-P選項表示永久性的修改Selinux的配置。
chkconfig命令
chkconfig --level [0-6] daemon_name on/off 按級別打開或關閉某個服務進程
chkconfig --add 表示加入"System V"格式服務
chkconfig --del 表示把某個服務刪除
chkconfig --list 列出全部加入"System V"格式的服務
其中在/etc/sysconfig/files的文件名字與服務名同名,它能夠爲這些服務的設置提供參數。
超級守護進程的默認控制:
defaults
{ Define general logging characteristics.
log_type = SYSLOG daemon info #來設置日誌的類型
log_on_failure = HOST #設置服務未能啓動是記錄信息HOST
log_on_success = PID HOST DURATION EXIT #設置用戶登入成功寫入日誌PID HOST DURATION EXIT的信息
#Define access restriction defaults
no_access = #明確指出禁止誰訪問
only_from = #僅容許誰訪問主機
cps = 50 10 #用來限制入站鏈接的次數,最大爲50次;若超過
50次,服務器會隱藏10秒在開始服務
instances = 50 #服務器能夠接受的併發鏈接數
per_source = 10 #限制每一個遠程對端的實例數量
#Generally, banners are not used. This sets up their global defaults
banner = #至關於/etc/issue的做用
enable = no #默認打開某項服務的功能
v6only #是否只接收IPv6
max_load = #若是負載>閾值,則禁用服務
bind = #這個服務所在端口
nice = #派生出的服務器進程的謙讓值
protocol = #服務協議
user = #用戶名
server_args = #服務器的命令行參數
socket_type = #TCP服務用stream,UDP服務用dgram
wait = #xinetd應該在守護進程退出以前是否不插手服務
}
includedir /etc/xinetd.d #讀取該目錄下的全部配置文件
數據加密
經常使用的加密方式:1.)單向加密;2.)對稱加密;3.)非對稱加密。
One Way Hashes單向加密:1.)輸出定長;2.)不可逆;3.)雪崩效應。常見的單向加密算法:1.)md5:Message Digest算法;2.)sha1:secure hash algrithm算法。
對稱密碼算法有時又叫傳統密碼算法,就是加密密鑰可以從解密密鑰中推算出來,反過來也成立。在大多數對稱算法中,加密解密密鑰是相同的。經常使用的對稱算法:DES;3DEC;ASERC2;RC4;RC5;IDEA;CAST5
非對稱密鑰也叫公開密鑰加密,它是用兩個數學相關的密鑰對信息進行編碼。在此係統中,其中一個密鑰叫公開密鑰,可隨意發給指望同密鑰持有者進行安全通訊的人。公開密鑰用於對信息加密。第二個密鑰是私有密鑰,屬於密鑰持有者,此人要仔細保存私有密鑰。密鑰持有者用私有密鑰對收到的信息進行解密。經常使用的
非對稱算法:rsa。 應用於數據簽名:rsa;dsa;ElGamal Key Exchange:Diffie-Heilman 非對稱加密是的速度是對稱加密的1/1000 數字證書的組成: 1.)Public key and expire date 公鑰和有效期 2.)owner's information 擁有者信息 3.)how the Cretificate may be used 證書如何用 4.)CA's information CA的信息 5.)CA的私鑰作簽名