前言 Trustix Secure Linux 是針對以高品質的服務器所設計的Linux套件
或許讀者會有個疑問
為什麼已經有這麼多的Linux 套件為何還要創造Trustix Secure Linux ﹖在安裝了其它各式的Linux套件後
我們達成了結論
那就是有許多的套件在服務器上是不需要的
例如 X windows系統
而且很難移除掉
大部分的安裝套件有許多的服務預設是在執行的
在今天的網絡上有許多計算機犯罪者
執行不必要的服務就等於開了個後門
是個禁忌
Trustix 感覺到大部分的Linux都針對於桌面市場
然而決定去創造出Trustix Secure Linux
一套Linux distbution
焦點放在針對於對服務器的安全上
最值得注意的就是它沒有了X windows系統
圖形使用者界面(GUI)將只會浪費內存
CPU和硬盤空間
系統默認值的設定是任何的服務都不執行的
更容易讓人知道什麼是需要什麼是不需要的
需要的時候才去執行
所以Trustix Secure Linux的設計就是減少不必要的程序和把焦點放在安全上(安裝程序的數目大小和安全成反比)
針對一些有經驗的系統管理者能在短時間內能夠去安裝和設定
以及讓無經驗的使用者容易上手
對於更詳細的Trustix Secure Linux的設計目的可以參考
安裝系統 我們可以至 取的最新的版本
雖然目前穩定的版本是
不過由於在Linux
以前版本的核心有安全上的疑慮(見
?NEWSID=
)
所以筆者在此建議使用
() 來安裝
附帶提的是要獲得一個安全的 Linux 系統第一步要做的就是去獲得一個有安全保證的發行商所發行的套件
所謂的安全保證應不只是現在發行的套件沒有安全上的疑慮
更要有完整服務
手冊
更新
電子論壇 (mail listing) 的機制
不曉得讀者對國內目前發行的 Linux 套件評價有多高呢﹖原則上不管讀者決定安裝那一個套件
最好去原發行商處取得
如果讀者從不信任的地方取得
一定要在安裝之前去查證來源碼
例如 PGP/GPG 簽章或 MD
checksum
確定是安全的才去安裝
這聽起來好象不是很重要的樣子
但它經常是許多管理者忽略的地方
導致木馬
後門在系統中作祟
由於 Trustix 是源自 RedHat
所以安裝過程也是相同的
只是沒有煩人的圖形安裝界面
使用的是文字的安裝方式
只是硬盤分割區的大小和選擇安裝軟件須由安裝者自己指定
安裝程序並不代勞
有時想想這也是應該的
如果系統管理者無法決定上述的選項
如何提供使用者安全的服務呢﹖至於詳細的安裝過程就請讀者參考一下 RedHat 是如何安裝的
有經驗的讀者可以直接略過
或參考
在此筆者還是對些應注意的事項再【老生常談】一下
假如機器上只用來當 web/email/dns 服務器
只要建立一位使用者
因此要去設 root 密碼和另一個帳號
建立另一個帳號的理由是盡量少用 root 去系統上工作
而是用一般的使用者去登入
做一般各種的檢查
若有需要去執行root 級的權限
再執行
sudo
命令去執行 root 的工作
而且由於不太可能使用 root 帳號作為對外 Email 用
所以請將 root 的 email 透過 aliases 轉給一般的使用者
免得一些漏接一些重要的警告信而不自知
對於侵入者
要獲得系統的使權限最簡單的方法之一就是利用其它使用者的帳號
密碼是 UNIX 安全管制作業中最重要的一部分
如果侵入者得到一個使用者的密碼
可以利用這個帳號登入系統中
繼而用這個帳號的權限去做他想做的事
再嚴重一點的
如果獲得的是 root 的密碼
侵入者立刻就擁有了對系統的絕對控制權
如此整個系統就落入了他人手中
後果是很嚴重的
因此選擇一個安全的密碼是很重要的
根據某項測試結果分析一般人選用的密碼有幾項特性
用跟帳號相同的密碼(最多)
用自己的漢語拼音
用常用的英文單字
用計算機中常出現的字
還有操作系統的命令
如:command
host
copy…
簡單的數字
例如
…等等
用自己出生日期
如:
選擇密碼的原則就是讓人永遠猜不到
這樣可以讓侵入者痛苦地不斷猜測密碼
即使是用字典法(暴力破解法)也無辄
(注一) · 不要使用跟帳號一樣的密碼
· 不要使用任何人或任何東西的名稱
· 不要使用英文單字
或外文單字
或任何字的縮寫
· 不要使用從討論計算機安全的書上看到的
用來舉例的密碼
不論它有多好
· 使用數字和大小寫字母混合的密碼
· 至少使用六個字母的密碼
· 不要使用帳戶擁有者的個人相關資料
例如
不要使用姓名前綴縮寫
電話號碼
身分證號碼
工作職稱
單位名稱等等
· 不要使用鍵盤字母的排列順序
如asdf
· 不要使用上面各項的反序
或大寫形式
或類似的變化
· 不要使用全部是數字的密碼
· 使用看似隨機選取的字母和數字
在基本的安裝及重新開機完成之後
然後要去做必需的 patches (修補)和增加必需的應用軟件
首先
必需去下載及去應用 patch (修補)
以 Trustix 為例在 ftp:///pub/Trustix/updates/ 中
以 Redhat
為例
那些 patch 檔能夠在 中找到
那些 patch 檔有三種不同的形式
包含
安全咨詢 (security advisories)
錯誤修正 (bug fixes) 及套件更新 (package updates)
接著在命令列下執行
rpm
Uvh filename
rpm 並且記得定時到網站去看看有沒有新的修補檔案
還要訂閱相關的郵件論壇
例如有 tsl
announce
tsl
discuss
tsl
testers 詳細的資料請參考
另一個要討論安全問題的就是 LInux LOader (LILO)
LILO 是激活管理程序
當一台計算機要使用許多種操作系統時
就可以用 LILO 來管理
LILO 也能夠提示符號中去輸入參數
LILO 通常在安裝完之後就大概會被忘記
然而它卻存在著安全的危險
因為可能有惡意的使用者可以經由不同的LILO參數去通過安全的手段進而取得讀者的系統
舉例來說
如果有使用者在LILO的提示符號中輸入這樣的參數
linux init=/bin/sh 然後這個參數允許使用者直接去激活 linux 並且給予使用者 root 的權限(盡管它是在只讀的型式)而不需要密碼
因為可能會發生上述的事件
所以必須去對 LILO 做限制
這個控制包含在 /etc/nf 檔案中
理想上這 /etc/nf 檔案應該如下列所設定的一樣
Boot=/dev/had map=/boot/map install=/boot/boot
b Prompt timeout=
image=/boot/vmlinuz
label=linux initrd=/boot/initrd read
only root=/dev/hda
restricted password=PASSWORD 結果為
LILO boot
Password
這個例子中設定時間為
秒
如果沒有命令參數在
秒內輸入的話
它就會繼續去激活預設的設定去開機
這樣子就沒有機會去輸入參數
在這檔案中另外一個重要的地方就是使用者必需要去輸入密碼
密碼就是存放在這個檔案中
可以任意去改變
格外要注意的是它的權限必須改成
避免被人去讀取
只能由 root 去讀寫這個檔案
執行
chmod
/etc/nf 為了讀者的 Linux 主機變的更安全
還有許多額外的步驟要去執行
首先必需要做的是對系統帳號對安全管制
在 /etc/passwd 檔案中包含了許多預先設定好的帳號
這些帳號包括 gopher
news
mail
ftp 等等僅僅為了軟件使用權等目的而設置
在這建議讀者將這些帳號通通移除或用
#
批注掉
在此有些帳號會沒有去設定密碼
必須要確定每個帳號都有密碼保護著
執行下面指令
可以找出 /etc/passwd 中沒有密碼保護的帳號
awk –F:
$
==
/etc/passwd
當修改了 /etc/passwd 時
也必需去檢查影子密碼文件(shadow passwords)
可以去執行
pwconv
and
grpconv
命令
去讀取 /etc/passwd 檔
產生 shadow 檔案出來
注一
字典法 在passwd檔裡
使用crypt加密
過程為
以明碼正文形式取出密碼
把密碼做為關鍵詞
用一系列
進行加密
把一個
位二進制值轉變成
位變量基礎的唯一的
位二進制值
作為關鍵詞再加密
crypt加密隨機性大
位關鍵詞存在可為
x
E
個
所以要逆向譯碼是不可能的
使用比較法
獲得一個字典文件
它是一個單字表
把單字用用戶的加密程序加密(符合DES的標准)
把每個單字加密後的結果與目標加密後的結果進行比較
如果 符合
則該單字就是加密關鍵詞
也就是密碼
這就是所謂的字典法
檔案權限 Linux 檔案系統跟其它的 UNIX 系統非常相似
每個檔案都有它的權限在
包含
讀取
寫入
執行等
種權限
和大部分的 UNIX 一樣
檔案和目錄權限會產生問題及被有心人利用來破壞或竊取讀者寶貴的資料
所以系統上檔案和目錄必須設權根
只能給有權根的使用者去讀取
寫入和執行
Read
該檔案或目錄可以被讀取
對目錄來說讀取權限可以允許使用者去查看目錄的內容
但不能對目錄內的檔案進行讀取
Write
該檔案或目錄可以被寫入
對於目錄來說
寫入是指在此目錄區中建立
刪除檔案及改名的能力
要注意的是移除檔案的能力並不是由檔案的權限控制的
而是由包含該檔案的目錄權限位所控制
Execute
該檔案或目錄可以被執行(被搜尋)
對目錄而言是指允許該目錄區能被搜尋的權限
即查看目錄中檔案的權限
執行已編譯的可執行檔只需要設定該檔案的執行權限即可
但執行 shell 指令文件則必需同時需要設定讀取和執行兩種權限
因為 shell 必須先能夠從檔案中讀取指令
再去執行以 /bin/mount 這個檔案舉例來說(這檔案是用來掛上某些裝置
如 CD
ROM)
它標准的權限是
rwsr
xr
x
表示一般的使用者能夠去執行這個檔案
從安全的觀點來看
一般的使用者不應該能夠去執行這個檔案
就這點來看
有許多系統的檔案是被濫用的
誰都可以去執行
不用說
最基本的就是去討論重要的目錄(例如
/etc
From:http://tw.wingwit.com/Article/program/Oracle/201311/17811.html