分類彙整: Red Hat

Red Hat 資料安全(三)

非對稱加密 (Asymmetric Encryption)

加密和解密的金鑰 (key) 是不一樣的,會有兩把 key,一把負責加密、一把負責解密。

公開/私密金鑰

=========================================

方法一:

接收者:產生兩把金鑰,一把是公開金鑰(public key),一把是私密金鑰(private key)妥善保管,將 public key 傳送給對方,要對方以這把 public key 將傳送的資料加密。

傳送者:以收到的 public key 將資料加密 Public Key(Data),開始傳送給接收者。就算有人 sniffer 也沒有解密金鑰,拿到 public key 也無法解密。

接收者:收到加密過的資料,用自已的 private key 將資料解密。Data = Private Key ( Public Key (Data))。

資料:Data

公開金鑰:Public Key

私密金鑰:Private Key

=========================================

閱讀全文

Red Hat 資料安全(二)

對稱加密 (Symmetric Encryption)

加密和解密者使用同一組 key (通常是一組字串),稱為對稱加密。

常用的演算法:DES, 3DES, Blowfish, RC2, RC4, RC5, IDEA, CAST5

對稱加密常用工具:
1. passwd
2. gpg
3. openssl

Linux 使用者密碼會隨機加上一組 salt ,再一起進行 md5 編碼,

# cat /etc/shadow
ishm:$1$gPNQzB85$3JFsC9XjabnpscIQz7HYa1:14322:0:99999:7:::

$1$gPNQzB85$ 這一段是加在密碼段的 salt 註解,可用 openssl 或 php 來演算出來:

# openssl passwd -1 -salt “gPNQzB85” “123456” (密碼是 123456)
$1$gPNQzB85$3JFsC9XjabnpscIQz7HYa1

-1 代表使用 MD5 演算法,用法可以用  – – help 查詢

閱讀全文

Red Hat 資料安全(一)

加密及安全機制

Red Hat Enterprise Linux (RHEL) 內含了兩種加密的服務:

1. Gnu Privacy Guard (GPG),主要是用在檔案的加密上,如驗證檔案的完整性、加密電子郵件等。
2. openssl,主要是用在網路通訊的加密。

亂數產生器

系統提供了一個裝置 /dev/random ,它會擷取鍵盤、滑鼠、或磁碟的動作來產生亂數。
試著
#cat /dev/random
然後移動滑鼠、敲鍵盤等,會一直產生亂數,結束按 Ctrl + C。

openssl 函數庫也提供了亂數產生器:
#openssl rand 1024 -out rand.bin (會產生 1024 bit 的二進位亂數)
#openssl rand 1024 -base64 -out rand.txt (會產生 1024 bit 經 base64 編碼的 ASCII 亂數)

閱讀全文

Security Enhanced Linux, SELinux

SELinux

為了因應與時俱增的安全威脅,美國國家安全局 (National Security Agency, NSA) 發展了一套處理機敏資料的規則,NSA 發現許多安全漏洞都起因於一般使用者繞過了本機安全機制而起,例如為了方便起見將目錄的權限設為 777,但它卻潛藏著將所有資訊洩漏給其他人的危險。

在 Unix-like 系統,存取控制取決於自主存取控制 (Discretionary Access Control, DAC),它是依據當時使用者的身份來決定存取的權限,也就是根據檔案的擁有者 (Owner)、群組 (Group)、其他 (Other) 的讀寫執行 (r,w,x) 權限來作規範,權限的規範除了太單純之外,對 root 完全無控制能力,對運行中的程序本身也無法作限制。

閱讀全文

xinetd 服務管理

xinetd

xinetd 本身是由 System V 腳本所管理,它會監控由它管理的服務所需監聽的 port,當有連線由監聽 ports 連入時,xinetd 會啟動相對應的服務,當連線中斷時,xinetd 就會中止該服務的執行。和System V 所管理 standalone 的服務比較起來,xinetd 所管理的服務在閒置時不會佔用系統資源,直到有連線要求時才會啟動服務;而 standalone 的服務會常駐在記憶體中,當有連線需求時能夠直接回應要求,反應更為迅速。

閱讀全文

Red Hat 系統服務管理 init

當系統核心 kernel 開機完成後,整個開機程序就交到 init 這支程式身上,當我們 exit 登出時,其實 shell 程式就中止了,這時藉由 init 來將將 shell 重新啟動帶出登入畫面,這個動作就叫 respawn,它會將 /sbin/mingetty 重新 respawn,讓使用者可以再次登入。

init 的設定在 /etc/inittab 中變更,舉例來說,如果要在 serial port 監聽登入動作,可以在 /etc/inittab 加入這一行:

co:23:respawn:/sbin/agetty  -f  /etc/issue.serial  19200  ttyS1

其中 co 是代表 serial port 的連線代號,23 表示只在 runlevel 2 及 runlevel 3 適用,它會 respawn /sbin/agetty 這支程式供使用者登入,/sbin/agetty 的執行參數是 -f /etc/issue.serial 19200,-f /etc/issue.serial 是指登入時用 /etc/issue.serial 的檔案內容來作為登入畫面的資訊、19200 則是 serial port 的連線速度,而 ttyS1 則是 serial port 的裝置代號。

==============================

閱讀全文

使用者管理(三)

網路帳號 (Network Users)

在本機之中,對於使用者的控管需要兩個機制,一個是能提供使用者資訊的服務,如 UID、GID、GECOS 資訊 (如真實姓名等)、家目錄、預設的 shell 等,這個服務稱之為名稱服務選擇 (Name Service Switch, NSS)。另一個機制是驗證使用者提供的密碼是否正確,這個機制就稱之為可插入式認證模組 (Pluggable Authentication Modules, PAM)

閱讀全文

使用者管理(二)

身分變換 (su)

在 Linux 中要作身份的變換,如由一般使用者變成 root,或由 root 變成一般使用者來測試環境,或一般使用者變成另一個使用者,可以使用 su 這個指令來作變換:
[root@localhost /]# su – kevin (root 轉變成一般使用者 kevin 不用密碼)
[kevin@localhost ~]$ su – david
密碼: (一般使用者 kevin 轉變成一般使用者 david 要密碼)
[david@localhost ~]$ su – (不加任何使用者名稱即是轉換成 root)
密碼: (一般使用者 david 轉變成 root 要密碼)
[root@localhost ~]#

閱讀全文