網路與資訊安全
課程說明:
- 最近更新時間: 2010/07/26 14:30
- 本課程使用教材為:『Linux 系統安全防護與建置』,�眳p出版社;
- 本課程使用教材為:『資訊安全概論與實務』,�眳p出版社;
- 每週都有可能會有上機實作,要等老師檢查完畢才能夠下課!否則就不算有來上課!
第一週:Windows 的一般保護:
- 資訊安全的目的在維護資訊的:保密性、完整性、可用性三種;
- 破壞資安的主要威脅:
- 達到入侵 (access) 的目的:未經授權的使用他人資源,達到破壞資訊的保密性;
- 達到竄改 (modification) 的目的:隨意修改他人資訊而破壞某些事實,破壞資料的完整性;
- 達到拒絕服務的目的:干擾他人的正常使用功能,破壞資訊的可用性。
- 一般攻擊:
- 攻擊通關密語:就是密碼破解 (password-cracking),可能使用 (1)網路監看或 (2)字典攻擊;
- 利用後門:利用程式的漏洞進出系統或網路。可能使用原先軟體維護者的後門
(交貨時忘記關閉),或者是由攻擊者植入木馬程式開啟後門。
- 攔截與偽裝:利用中間攔截封包,並偽裝成為對方而給予錯誤資訊。
- 軟體弱點的利用:不一定是軟體的錯誤,可能是藉由某些軟體的功能或者是合併數種功能,來達到攻擊的目的。
例如 SQL injection ,巨集病毒、電子郵件的附檔夾帶功能、電子郵件的通訊錄發信功能等。
- 惡意程式的種類:
- 病毒:寄居於其他程式的小軟體,目的為:感染給其他電腦及讓受害電腦不能正常運作。常見感染途徑:
可攜式媒體 (USB最常見)、電子郵件、正常軟體的分享時被破解 (不隨意下載啊!)
- 蠕蟲:蠕蟲可以自己存在不需寄居於其他程式,蠕蟲可以自己複製自己而在網路上大量傳播。
蠕蟲通常會造成記憶體、頻寬的滿載使用,使得電腦與網路形成類似拒絕服務的狀態
- 木馬:程式是透過使用者的錯誤判斷而下載安裝。
- 邏輯炸彈:在某些條件下會被啟動的攻擊,例如十三號星期五或四月一號愚人節啟動的惡意軟體。
- 惡意行動碼:例如網頁伺服器若有弱點,恐怕會被惡意程式碼攻擊導致系統出現問題(紅色警戒蠕蟲對 IIS 的影響)
- 追蹤 cookies :找尋使用者電腦內的 cookie 藉以找到有用的資訊
- 攻擊工具:包括後門程式、鍵盤側錄或螢幕擷取、瀏覽器嵌入程式、攻擊工具包 (rootkits)
- 網路釣魚:偽裝合法的伺服器
- 怎麼防止惡意程式:
- 蠕蟲與病毒使用防毒軟體來抵擋;
- 木馬則需要使用者有較佳的電腦網路操作行為。
- 抵擋攻擊工具:(1)補丁軟體 (2)非管理員權限登入系統 (3)隨時更新所有防毒、防木馬軟體
- 網路攻擊的手法:
- 偵察:送出偵測封包來收集你主機上面的資訊 (包括 WWW 的軟體版本等)
- 測試:依據這些回應的資訊,來分析可能可以攻擊的軟體
- 侵入:開始嘗試各種軟體攻擊,最終能夠掌握你的防火牆或植入木馬
- 控制:安插後門程式,建立一個控制入口
- 利用:利用妳主機上面的各種資源 (尤其是網路頻寬)
- 轉戰:當作跳板攻擊別人 (僵屍電腦)
- 最常使用的軟體:瀏覽器的相關功能分析:
- ActiveX : Microsoft 的 IE 瀏覽器的 ActiveX 網路技術,允許 IE 使用應用程式的部分功能,
由於允許額外程式的運作,若未能適當的訂定規則,可能發生較嚴重的資安問題。
- Java 相關程式: 一種跨平台的程式語言,可用來建置動態網頁的程式語言。目前瀏覽器很多都有支援 Java
的環境功能。但需要注意 Java 程式的安全性;
- Active Content 或 Plug-ins:舉例來說, Flash player 就是一種 plugin 的額外軟體。
- Javascript: 不必編譯即可在瀏覽器上面運作的程式語言,常用來存取本地端的相關電腦資源;
- VBScript:類似 Javascript ,但只適用於 IE 而已。
- Cookies: Cookies 原先設計只有建置他的網站才能存取,但目前很容易被破解。
主要是在用戶端電腦放置使用者相關的資料,可能包括登入的帳號與密碼等。
- 強化個人電腦 Windows 系統:
- 強化 Windows 作業系統本身:
- 透過 Windows Live Update 去更新!
- 透過工作管理員去監看 CPU, RAM, 磁碟機的運作
- 透過事件檢視器去觀察系統運作的資料
- 強化網路安全:
- 網路協定與 NetBEUI:NetBIOS 或許可以關閉!請自行檢查有無啟動 port 139 ?
- 透過 netstat 與管理介面去控制相關的服務功能。
- 強化應用程式:
- 備份 Windows 的重要資料:利用 Cwrsync 的超強備份功能 (按這裡下載)
- 瀏覽器功能的重新訂定:
- 在 IE 上面制訂:(1)網際網路安全性重新調整為中/高安全性; (2)將崑山與相關的網站加入信任網站;
(3)將 cookies 處理為『覆寫自動 cookie 處理,並於『第一方 cookies, 第三方 cookies 』選擇『提示』功能;
(4)在工具/網際網路選項/進階中,調整多媒體的防護機制,取消播放聲音與影像功能。
- 在 Firefox 上面制訂:(1)勾選『在網站試圖安裝附加元件時通知我』 (2)建議取消 Java 程式選項;
(3)在『清理隱私資料』中,開啟選項,可移除敏感的資訊。
第二、三週:主機的安全防護入門 (課本第一、二章內容)
- 進行安全性相關方案的建立,我們需要考量的項目主要有:
- 環境中哪些資產是需要被進行保護的;
- 需要被保護的資產中,哪些具備安全性的風險?
- 這些安全風險是否造成你運行的環境上之安全事件的來源?
- 新的方案或修改現有的安全方案時,是否有相關的成本考量或所需要衡量的其他非安全因素存在?
- 資產中特定項目的保護主要分為:(1)保密性資料例如一些商業技術與 (2)可用性資料例如電子郵件服務
- 資產的風險主要有:(1)自然災害的發生 (2)資產濫用的風險 (3)用戶本身的錯誤 (4)虛假的訊息資訊
(5)火災與水災的發生。
- 通訊分析法:
- 資料封包以何種傳輸協定在網路上的主機間運作?
- 對於每個使用者來說,哪些資源是可存取的?哪些是被限制的?
- 哪些資源一定得在每個工作區域中被進行取得的?
- 哪些資訊可以提供給外部使用者來存取?可透過何種方式來取得?
- 公司內部提供了哪些外部的資源存取?
- 使用者使用資源時需要付費嗎?
- 是否有外部服務的提供者,這些提供者會牽涉到哪些範圍?
- 安全限制是否會影響到原有使用者的操作習慣?
- 常見的攻擊手法:
- 存取式攻擊:窺探 (人肉搜索)、竊聽 (CSMA/CD功能)、攔截 (類似監聽,但是強制攔截訊息)
- 竄改式攻擊:變更 (首頁)與刪除 (登錄檔)
- 阻斷式服務攻擊:單一來源方式、分散式阻斷式服務攻擊!
- 常見的網路安全威脅:
- 駭客與怪客 (hack, cracker)
- 授權的內部人員
- Hactivists: 挑戰能否攻擊某一目標而入侵或攻擊
- Script Kiddies:毛頭小子!
- 三種帽子:
- 白帽駭客 (white hat hacker): 找出問題攻擊自我;
- 黑帽駭客 (black hat hacker): 利用破解程式來針對某些特定目標進行攻擊,取得自己想要取得的利益
- 灰帽駭客 (grey hat hacker) : 與白帽駭客有類似的技術,但用來破解別人的系統,但不見得會去竊取人家的機密資料。
- 建置伺服器時所需要考量的相關因素:
- 伺服器主機類型的挑選:支援多用戶存取?支援高負載網路存取?支援可用性硬體架構?可確保資料完整性?
- 作業系統挑選:使用最新的 Linux ,且使用企業版會比較好,為何?
- 災難復原的方案設計:服務的高可用性 (備援與接管系統)
- 容錯站的使用:準備另一台可用的相同機型硬體備用
- 電力保護:包括不斷電系統 (on-line, off-line)、電源突波保護等保護你的硬體設備
- 磁碟的容錯機制:包括使用磁碟陣列 (RAID)
- 主機的安全防護步驟:
- 主機存取的實體安全: 地點 (機房)、進出管制單、環境維護 (溫度/濕度/電力控制等)、作業系統故障排除
- BIOS 防護: 設定 BIOS 密碼,如何讓 BIOS 密碼失效?
- Linux 的選單保護 (grub)
- 檔案系統的安全配置: 包括分割的資料與參數,以及權限的概念等,重點包括分割 (fdisk)、掛載 (mount)、
權限 (rwx, 使用 chown, chgrp, chmod 等指令)、特殊單一用戶權限 (ACL)等
- 服務的新增與移除: 可透過 rpm 以及 yum 線上處理機制來運作
-
- 本週習題與實作:
- 說明 RAID 0, RAID 1, RAID 5 的容量、效能、容錯等機制
- 在你的 Linux 上面新建一個 Software RAID ,等級為 5 ,使用 3 個 partition 構成,且保留一個 spare-disk
- 使用 fdisk -l 觀察你的系統磁碟分割表;
- 使用 fdisk /dev/sda 開始進行分割,每個分割使用 1000MB ;
- 使用 partprobe 或 reboot 整理好你的分割表
- 使用 mdadm --create /dev/md0 --level=5 --raid-devices=3 --spare-devices=1 /dev/sda... 建置 /dev/md0
- 使用 mdadm --detail /dev/md0 觀察磁碟陣列
- 使用 /etc/mdadm.conf 建置你的設定檔
- 使用 mkfs -t ext3 /dev/md0 格式化你的磁碟陣列
- 編輯 vim /etc/fstab 將 /dev/md0 掛載在你的 /raid 目錄中 (此目錄請自行建立)
- 使用 mount -a 並搭配 df 測試掛載與觀察
- 模擬你的某個 partition 發生錯誤,並觀察錯誤情況,且熱拔插有問題的磁碟
- 使用 mdadm --detail /dev/md0 觀察磁碟陣列,並模擬某個磁碟發生錯誤,假設為 /dev/sdaX
- 使用 mdadm --fail /dev/md0 /dev/sdaX ,再使用 mdadm --detail /dev/md0 觀察錯誤發生
- 使用 mdadm --remove /dev/md0 /dev/sdaX 取出錯誤的磁碟,再觀察 /dev/md0
- 使用 mdadm --add /dev/md0 /dev/sdaX 再插入新的磁碟,並觀察 /dev/md0
- 在你們家的電腦主機上面,找到 BIOS 密碼設定項目並嘗試設定密碼在上頭
- 檔案系統的安全性:如何建置專題小組的共享目錄
- 利用 useradd / groupadd 等指令,建立 dicgroup 群組,以及在此群組內的 dicuser1, dicuser2, dicuser3
- 建立共享的 /srv/dicgroup 群組,注意權限功能
- 將 /etc/shadow 複製到 /srv/dicgroup ,且需要讓 dicgroup 的人們可以進行讀寫動作
- 檔案系統的特殊權限設定: ACL (Access Crontrol List) 功能
- 用預設值建立 dicteacher 帳號
- 上述帳號在 /srv/dicgroup 內僅能讀取,不可寫入與修改
- 觀察你目前系統上面的服務資料:
- 有沒有安裝 httpd 這支程式?
- 這支程式預設有沒有開機啟動?
- 如何立即啟動?
- 如何觀察通訊埠口?
- 如何觀察程序 (PID) ?
- 刪除掉不需要的服務吧!依據老師在白版上面的設定值,將你的服務進行處理。
第四週:加密演算與憑證使用 (課本第三章內容)
- 加密與解密:
- 加密:透過複雜的函數以及/或特別的金鑰,將明文訊息轉成密文亂碼的一個過程;
- 解密:與加密過程相反,透過複雜的函數與解密金鑰將密文亂碼轉成可供查閱的明文訊息。
- 對稱式金鑰演算法:
- 利用同一把金鑰進行加密與解密的作業;
- 由於只有一把金鑰,如果金鑰遺失,容易造成安全性的問題;
- 常見的機制有:DES, Triple DES, Skipjack, IDEA, RC5, Blowfish, AES等。
- 非對稱式金鑰系統:
- 通訊雙方都有一對金鑰,分別為伺服器提供的公鑰(public key)以及用戶端電腦運算出的私鑰(private key);
- 一般來說,公鑰用在加密機制,而私鑰則是用在解密方面;
- 私鑰通常是用戶端自行運算出來的,所以原本就是有保密的狀態;
- 常見的機制:Diffie-Hellman, RSA
- 雜湊演算法 (hash algorithm)
- 將任意長度的資料轉成固定長度的輸出,這個輸出字串便是轉換字串的雜湊值;
- 通常是一種單向的演算方式,無法逆向解析;
- 常見的運算機制有:MD5, SHA1, RipeMD-160 等等
- 使用者的密碼保護:
- Linux 用 /etc/passwd, /etc/shadow 存放使用者資料;
- 可使用 finger 檢查使用者的參數;
- 可使用 chage -l 觀察使用者的密碼參數。
- 憑證的使用:
- 憑證的使用主要有四大部分元件組成:憑證管理中心、註冊管理中心、非對稱性加密演算法(RSA)、數位憑證;
- 目前瀏覽器均已內建 https 的憑證查詢與記錄功能。
- 安全連線機制:
- 透過 ssh 帳號@主機IP 連線到遠端主機上;
- 透過 scp -r 檔案 帳號@主機IP:/遠端主機/目錄 即可進行上傳;
- 透過 rsync -av -e ssh 檔案 帳號@主機IP:/遠端主機/目錄 即可進行上傳/下載的映射資料;
- 透過 sftp 帳號@主機IP 即可使用類似 FTP 的檔案傳輸功能。亦可使用 gftp 來處理。
- 如果公鑰記錄失效,可修改 ~/.ssh/known_hosts 內的記錄資料;
- 可透過成對的金鑰系統進行免密碼的登入狀態。
- 本週習題與實作:
- 透過 mkpasswd 以及 md5sum 檢測你的系統指紋資料;
- 透過 ssh 的成對金鑰機制,建立免密碼的可登入功能:
- 在用戶端建立成對的金鑰: ssh-keygen;
- 在使用者的 ~/.ssh/ 內,將 .pub 的公鑰上傳到伺服器上,並且更名;
- 連線至伺服器上,將該檔案轉存成為 ~/.ssh/authorized_keys ;
- .ssh/ 必須是 700,而 authorized_keys 必須要是 644 。
- 利用 rsync 配合 ssh 連線通道,將你主機上面的資料映射到 192.168.42.41 那部主機去。並請留意:
- 你得要使用 siteXX (XX 代表你的主機號碼) 作為帳號,登入到該機器中;
- 使用 siteXX 帳號時,不需要用到密碼 (siteXX 的密碼與帳號相同);
- 將你的 /etc 複製到遠端主機的 ~siteXX/backup/etc 去;
- 每週日凌晨 1:15 進行此項作業。
第五週:防火牆建置與安裝 (課本第四、五、六、七、八章內容)
- 觀察埠口的指令: netstat ,常用選項有:
- -l :顯示監聽埠口;
- -p :顯示 PID 與 progra
- -t :顯示 TCP 封包類型的連線
- -u :顯示 UDP 封包類型的連線
- -a :顯示所有連線資料,理論上不應與 -l 同時應用
- 埠口掃瞄指令: nmap ,簡易使用方式:『nmap localhsot』後面加上 IP 或主機名稱就是了!
- -sS :使用 TCP sync 掃瞄,但不執行完整的 TCP 三向交握,僅執行 ACK-SYN 而已;
- -sT :利用 TCP 三向交握去掃瞄 TCP 埠口;
- -sA :透過 ACK Stealth 掃瞄,列出掃瞄對象的防火牆配置狀態,不列出 TCP 埠口
- -sW :TCP Window 掃瞄,類似 TCP ACK,但會列出 TCP 埠口;
- -sU :UDP 掃瞄;
- -sN :TCP Null 掃瞄,透過 TCP 無旗標封包來格式來掃瞄;
- -sF :TCP Fin 掃瞄;
- -sI :Idle 掃瞄,主要掃瞄曾經被入侵攻擊或者是被用來做為跳板的僵屍主機
- -sP :透過 icmp 封包格式來掃瞄而已,可判斷該主機是否具有 ICMP 的回應功能。
- 基本的防火牆類型:
- 封包過濾式: Netfilter (iptables);
- 依據程式進行過濾: TCP Wrappers
- TCP Wrappers 的防火牆機制:
- 透過 /etc/hosts.allow 及 /etc/hosts.deny 進行抵擋;
- 簡易語法為:『 program : IP 主機名稱 IP/netmask 』
- 先分析該軟體的程式有沒有支援 TCP Wrappers 才能夠使用
- 只要是 Xinetd 管理都,都有支援,其他的就得要透過『 ldd program 』來判斷 (libwrap)
- 封包過濾式的防火牆通常可以管理的資料有:
- OSI 第二層 (資料鏈結): MAC (網卡卡號)
- OSI 第三層 (網路層): IP, ICMP (類別 0 與 8 要特別記憶)
- OSI 第四層 (傳輸層): TCP, UDP, port, 特殊旗標 (syn, ack...)
- iptables 的規則觀察:iptables-save
- iptables 中,針對本機所需要通過的常見鏈 (屬於 filter 表格)
- INPUT (最常用來管制的一項)
- OUTPUT
- FORWARD
- iptables 的基本語法 - 清除規則:
- iptables -F (-t nat):清除規則
- iptables -X (-t nat):清除自訂的鏈結
- iptables -Z (-t nat):清除統計資料
- iptables 的基本語法 - 訂定政策:
- iptables -P {INPUT|OUTPUT|FORWARD} {ACCEPT|DROP|REJECT}
- iptables 的基本語法 - 最基礎語法簡介:
- iptables [-A INPUT] [-i lo,eth0] [-s IP/netmask] [-d IP/netmask] [[-p tcp,udp]
[--dport 埠口] [--sport 埠口]] [[-p icmp] [--icmp-type 號碼]] [-j ACCEPT,DROP,REJECT,LOG]
- iptables 的基本語法 - 重要的模組:
- iptables -A INPUT -m state --state ESTABLISHED,RELATED
- iptalbes -A INPUT -m mac --mac-source aa:bb:cc:dd:ee:ff
- 利用程式控制作為防火牆,以代理伺服器 proxy 為例:
- 代理伺服器的原理:代理用戶端到 Internet 去捉取資料來回應;
- 由於回應前會先寫一份備份到硬碟快取,下一個讀取相同資料的用戶,可直接透過 proxy 的快取資料得到;
- 為應用程式層級的防火牆功能。
- 在 Linux 底下,可透過 squid 這個程式來給予處理
- squid.conf 的主要設定值:
- http_port 3128
- cache_mem 16
- cache_dir
- visible_hostname
- acl name src IP/netmask
- acl name dst IP/netmask
- acl name dstdomain 主機名
- http_access [allow|deny] name
- 關於 NAT (Network Address Translation, NAT) :
- NAT 技術或稱為 IP 掩蔽 (網路掩蔽),是一種用來取代來源或是目標位址的技術,可以將 IP 表頭的 IP/port 進行偽裝。
常用於僅有一個對外 IP (public IP) 但卻有多台電腦的環境 (想像一下教室就是啦)
- NAT 依據修改的來源或目的,而分為 SNAT (source NAT, 修改來源) 以及 DNAT (Destination, 修改目的地)。
- IP 分享器的功能 (SNAT):
- 啟動核心路由轉遞能力: vim /etc/sysctl.conf, 內部的 ip_forward 設定為 1;
- 實際啟動要 sysctl -p ,且查閱 /proc/sys/net/ipv4/ip_forward 是否為 1 呢?
- 最終再透過 iptables 的 IP 偽裝能力:
- iptables -t nat -A POSTROUTING -o eth0 -s 網域/子網路遮罩 -j MASQUERADE
- 將 server 架設在防火牆之內,就是 DNAT 囉!
- 一部主機 IP 為 192.168.42.41,擁有 port 80 的 http 功能;
- 當任何人連線到你的 port 8080 時,你將他導向該主機的 port 80 :
- iptables -t nat -A PREROUTING -p tcp -d 192.168.42.xx --dport 8080 -j DNAT
--to-destination 192.168.42.41:80
- 本週習題與實作:
- 觀察路由表,找到路由器,並檢測一下,該路由器有啟動什麼 TCP 與 UDP 的埠口?
- dovecot 為收信功能的軟體,假設我們今天想要啟動 pop3 這種收信機制:
- 檢查有無安裝 dovecot ,若無安裝請安裝他;
- 編輯 /etc/dovecot.conf ,找尋 protocol ,請啟動 pop3 機制即可;
- 啟動 dovecot ,並且會開機會自動啟動
- 觀察 pop3 的埠口有沒有啟動;
- 檢查 dovecot 有沒有支援 TCP Wrappers ?
- 現在要讓 172.25.0.0/16 沒有辦法使用 POP3 ,該如何處理?
- 依據底下行為,製作你的防火牆腳本,並將防火牆腳本覆寫至正確的規則制訂檔中
- 清除所有規則
- INPUT 為 DROP 其餘為 ACCEPT
- lo 為信任裝置
- 來自 eth0 且為 192.168.42.0/24 的封包,均是信任網域
- 只要是自己發出的回應封包,通通予以接受
- 來自 172.16.0.0/16 的來源,均可使用你的 POP3 服務;
- 來自 172.17.0.0/16 的來源,均可使用你的 SSH 功能;
- 你的 http 有對全世界開放;
- 你的 FTP 只對 172.18.0.0/16 的來源開放服務
- 執行腳本,觀察之,若沒有問題,請覆寫到正確的規則檔中
- 設定代理伺服器 squid
- 安裝好 squid 並且啟動 squid ,且設定為每次開機均啟動
- 設定 squid 的啟動埠口為 8080
- 設定 cache_dir 預設值修改一下,假設使用了 500MB 的容量;
- 讓 192.168.42.0/24 以及 192.168.1.0/24 均可使用你的 proxy
- 讓你的用戶不可以使用 www.bing.com 這個網域
- 讓你的用戶不可以使用 .sexy.com 這個網域
- 設定用戶端瀏覽器,指定這個 proxy ,並且進行測試
- 檢查登錄檔,看看是否有正確的給予記錄資料?
- 實作 squid 的身份認證!不需要加入 IP 網段的信任值,直接給予帳號/密碼即可使用你的 Proxy 。
- 在 squid.conf 內加入如下的參數:
- 密碼所在檔案:auth_param digest program /usr/lib/squid/digest_pw_auth /etc/squid/proxy_passwd
- 啟動程序數量:auth_param digest children 5
- 顯示在視窗字:auth_param digest realm This is squid web proxy
- 清空暫存時間:auth_param digest nonce_garbage_interval 5 minutes
- 驗證回應時間:auth_param digest nonce_max_duration 30 minutes
- 最多嘗試次數:auth_param digest nonce_max_count 50
- 允許驗證acl :acl allowed_users proxy_auth REQUIRED
- 允許驗證通過:http_access allow allowed_users
- 將 /etc/squid/proxy_passwd 內加入帳號密碼的相關資訊,例如:
- 最後得要重新啟動 /etc/init.d/squid restart
- 最終再測試看看,啟動你的瀏覽器設定試看看。(你可能還得要將自己的 Intranet IP 取消在
squid.conf 內才行!)
第六週:入侵偵測系統 (課本第九章)
- 入侵偵測 (Intrusion Detection) ,透過一些主機記錄的證據來查驗是否被攻擊的情境
- 網路監控系統: tcpdump 純文字介面
- 網路監控系統:透過 ntop 軟體功能
- 最簡單方便的入侵偵測檢測系統: rootkit hunter
- 製作系統的指紋碼: Tripwire 軟體
第七週:重要服務的資料加密功能
- ftp 的 chroot 功能:
- ftp 轉為 ftps 的功能:(http://www.brennan.id.au/14-FTP_Server.html)
- 建立 SSL 的憑證檔:
#cd /etc/pki/tls/certs
# make vsftpd.pem
- 修改 vsftpd.conf 的內容:
ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=NO
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
rsa_cert_file=/etc/pki/tls/certs/vsftpd.pem
- apache 的 SSL 功能
- apache 的重要資料認證功能 (.htaccess)
- ftp / apache 的使用者帳號磁碟配額 (quota) 功能
第八週:期末考題總整理
- 你系統的 SELinux 請將他調整成 Permissive 的模式;
- 我想要讓你的系統更加安全,所以軟體的更新是很重要的。請依序進行:
- 先修改 yum 設定檔,讓你前往 http://ftp.ksu.edu.tw/ 取得 os 及 updates 這兩個 repository
- 請進行全系統的更新,且在更新完畢後,使用新的核心開機;
- 設定每天的凌晨 3:10 進行一次全系統更新。
- 我想讓系統具有基本的防火牆,因此請依據如下的規則順序,設定好你的防火牆規則:
政策給予方面:
- 清除所有規則 (包括 filter 與 nat 表格)
- INPUT 為 DROP 其餘為 ACCEPT
規則順序方面:
- lo 為信任裝置
- 來自 eth0 且為 192.168.42.0/24 的封包,均是信任網域
- 只要是自己發出的回應封包,通通予以接受
- 放行所有的 icmp 封包
- 來自 172.16.0.0/16 的來源,均可使用你的 POP3 服務;
- 來自 172.17.0.0/16 的來源,均可使用你的 SSH 功能;
- 你的 http 有對全世界開放;
- 你的 FTP 對全世界開放
執行腳本,觀察之,若沒有問題,請覆寫到正確的規則檔中
- 建立一個 Software RAID ,所需要的參數如下:
- 確認 /dev/sda8 以前的 partition 必須要保留,底下新增 /dev/sda9 以後分割槽
- 共有 5 個相同容量的裝置,每個裝置 1.2GB (partition 的大小);
- 四個一組建置成為一個 level 5 的軟體磁碟陣列,且額外含有一個 spare disk ,所以總共花費 5 個裝置之意;
- 這個磁碟陣列被格式化成為 ext3 的檔案系統;
- 這個新的磁碟陣列被掛載到 /home 這個目錄下,且加入 acl 控制參數;
- 這個新的檔案系統在每次開機後都會自動掛載 (/etc/fstab)
- 帳號建置,我需要的帳號如下,請依序幫我建立他:
- 建立一個群組,名稱為 examgroup
- 建立三個帳號,這三個帳號的有加入 examgroup 群組,三個帳號名稱為: examuser1, examuser2, examuser3
- 這三個帳號的密碼均為 password
- 這三個帳號的共享目錄設定在 /home/examdir/ 中,請自行處理正確的權限喔!
- 帳號建置,我需要的特殊帳號與功能如下:
- 建立一個獨立的帳號,名稱為 examcheck,密碼為 password ,不屬於 examgroup 群組;
- 這個帳號要能夠進入與察看 /home/examdir/ (需有 r,x 權限)。
- 帳號控管,我需要將所有帳號的磁碟配額設計成為如下模樣:
- 主要控制 /home 這個 filesystem 的磁碟配額 (請處理 /etc/fstab 等動作)
- examuser1, examuser2, examuser3 的磁碟配額,管制的是容量,且 soft 為 100MB ,hard 為 200MB
- examcheck 的磁碟配額則為 soft 50MB, hard 100MB
- 異地備援,你需要的是 rsync 這個指令,且你有一個帳號名稱為 guestXX 在 192.168.42.42 那部主機上,然後:
- 你需要可以自動的使用 ssh 以 guestXX 帳號登入該系統,不需要密碼
- 你需要將你的 /home, /etc 備份到 192.168.42.41:/home/guestXX/backup/ 當中 (透過 rsync)
- 你需要每天凌晨 5:10am 進行上述動作。
- 你需要啟動代理伺服器,啟動的重點如下:
- 你需要啟動 proxy 埠口為 3128
- 這部 proxy 可以提供 192.168.42.0/24 來使用代理伺服器的功能。
- 系統偵測功能:你需要每天 3:30am 進行 rootkit hunter 的自動偵測功能喔!(不用進行)
- examuser1 等人均可使用 ftp ,但每個用戶都預設被鎖住在家目錄內 (chroot)
- 當有人使用 http://你的IP/secure/ 時,螢幕會出現需要輸入帳號密碼的資訊,且只要輸入帳號為 exam ,密碼為 password ,
他就會看到螢幕出現:『 You can access this directory 』的字樣了!