每月彙整: 2009 年 3 月

Red Hat 資料安全(五)

使用 openssl 製作數位憑證

一、先製作一把私密金鑰 (Private Key)

# openssl genrsa -out server1.key.pem 1024 (以 1024 位元長度製作一把 RSA 加密的金鑰,名稱為 server1.key.pem)
Generating RSA private key, 1024 bit long modulus
.++++++
……………………++++++
e is 65537 (0x10001)

看一下產生的金鑰長得什麼樣子……

閱讀全文

Red Hat 資料安全(四)

使用 CA 製作數位憑證

有第三方認證的需求,就產生了專門為人認證的組織 ,比較大的憑證機構的公開金鑰就會內建在瀏覽器中,如 VeriSign、VISA、IPS、Entrust、America Online、DST 等。

取得 CA 憑證流程:

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

一、產生 CertReq 憑證申請書

WebServer 產生 Cert Req 憑證申請書,內含 WebServer 的 UserInfo、WebServer 的 Public Key。

# cd /etc/pki/tls/misc (進入本目錄)

# ls -al
drwxr-xr-x 2 root root 4096  3月 19 22:06 .
drwxr-xr-x 5 root root 4096  1月 12 07:34 ..
-rwxr-xr-x 1 root root 3758 12月  1  2006 CA      (產生 Cert Req 的執行檔)
-rwxr-xr-x 1 root root  119 12月  1  2006 c_hash
-rwxr-xr-x 1 root root  152 12月  1  2006 c_info
-rwxr-xr-x 1 root root  112 12月  1  2006 c_issuer
-rwxr-xr-x 1 root root  110 12月  1  2006 c_name

閱讀全文

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 亂數)

閱讀全文

在 Linux 下安裝字型

一般使用者安裝字型

先在自己家目錄下建立 .fonts 資料夾,然後將所有的 *.ttf 字型複製到家目錄的 .fonts 目錄下:

$mkdir ~/.fonts

$cp *.ttf ~/.fonts

最後再更新字型的快取:

$fc-cache -f -v (-f 為強制掃描,-v 為 verbose 顯示詳細資訊,不然會不知道到底有沒有執行)

這樣就可以使用新字型了。

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

閱讀全文

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 的裝置代號。

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

閱讀全文