Professional Documents
Culture Documents
講義 Firewall mainpage
講義 Firewall mainpage
1
2. 系統安全設定..................................................................................................................................................1
3. 抵禦「黑客」入侵八大法門..........................................................................................................................4
4. NAT 設定 IP 分享功能....................................................................................................................................5
4. IPChains 基本語法...........................................................................................................................................6
5. iptables 與 ipchains 的差異..............................................................................................................................6
6. Url Links 網路連結..........................................................................................................................................7
2. 系統安全設定
在設定任何防火牆之前我們必須先從系統的安全設定開始著手。
1. 使用者帳號的權限 (加長密碼的長度)
選擇恰當的密碼
選擇密碼時要遵循如下原則:
密碼長度:安裝 Linux 系統時默認的最短密碼長度?5 個字元。這個長度還不夠,應該增?8 個。要改
8個
字元,必須編輯 login.defs 文件(/etc/login.defs):
1
PASS_MIN_LEN 5
改?:
PASS_MIN_LEN 8
“login.defs”是登錄程式的配置文件。
?用盲區密碼支援
請?用盲區密碼功能。要實現這一點,使用“/usr/sbin/authconfig”實用程式。如果想把系統中現有
的密碼和群組改?盲區密碼和群組,則分別用 pwconv 和 grpconv 命令。
在 UNIX 系統中,根帳戶具有最高許可權。如果系統管理員在離開系統時忘了從根系統登出,
系統應該能夠自動從 shell 中登出。那?,你就需要設置一個特殊的 Linux 變數“TMOUT”,用以
設定時間。
編輯“/etc/profile”文件在
"HISTFILESIZE="
之後添加:
TMOUT=3600
?“TMOUT=”輸入的值代表 1 小時的妙數(60 * 60 = 3600 妙)。
在“/etc/profile”文件中加了這一行後,任何用戶使用該系統時有 1 小時的休止狀態,將自動執
行登出操作。而如果用戶要對該變數進行分別設定,可以在“.bashrc”文件中定義自動登出的時間
修改了該參數後,必須退出並重新登錄,更改才能生效。
3. 規劃出系統所真正需要的服務, /etc/inetd.conf
禁用 & 卸載所有不使用的服務
對所有不使用的服務,應該禁用並卸載,這樣可以少些麻煩。查看“/etc/inetd.conf”文件,
在不需要的專案行前加“#”號,即改?注釋語句,就可以禁用它們了。然後給 inetd
過程發送一個 SIGHUP 命令,對“inetd.conf”文件進行更新。步驟如下:
步驟 1
將“/etc/inetd.conf”文件許可改?600,使其只對根用戶?可讀寫。
[Root@kapil /]# chmod 600 /etc/inetd.conf
步驟 2
確保“/etc/inetd.conf”文件的所有者?根用戶。
2
步驟 3
編輯 inetd.conf 文件(/etc/inetd.conf),禁用如下服務:
ftp、telnet、shell、login、exec、talk、ntalk、imap、pop-2、pop-3、finger、auth,等等。
如果不打算用,禁用了這些服務可以減少風險。
步驟 4
給 inetd 過程發送 HUP 信號:
[root@kapil /]# killall -HUP inetd
步驟 5
將“/etc/inetd.conf”文件設為不可更改,chattr 命令可以使任何人都無法對其進行修改:
[root@kapil /]# chattr +i /etc/inetd.conf
唯一可以設置或清除該屬性的用戶只有根用戶。要修改 inetd.conf 文件,必須去掉不可更改標記:
[root@kapil /]# chattr -i /etc/inetd.conf
4. /etc/hosts.* TCP_Wrapper 設定
通過 TCP_WRAPPERS,可以使伺服器更好地抵制外部侵入。最好的辦法是拒絕所有主機:在
“/etc/hosts.deny”文件中加入“ALL: ALL@ALL, PARANOID”,然後在“/etc/hosts.allow”
列出允許訪問的主機。TCP_WRAPPERS 受控於兩個文件,搜索時停在第一個匹配的地方。
/etc/hosts.allow
/etc/hosts.deny
步驟 1
編輯 hosts.deny 文件(/etc/hosts.deny),加入如下行:
# Deny access to everyone.
ALL: ALL@ALL, PARANOID
語句的意思是,除非在 allow 文件中說明允許訪問,所有服務、所有主機都被拒絕。
步驟 2
編輯 hosts.allow 文件(/etc/hosts.allow),例如在文件中添加如下行:
ftp: 202.54.15.99 foo.com
對於你的用戶來說:202.54.15.99 及 foo.com 才可允許使用 FTP 服務。
5. 禁用通常不用的 SUID/SGID 程式
3
步驟 1
要從根用戶的程式中搜索所有包含“s”字元的文件,使用命令:
[root@kapil]# find / -type f ( -perm -04000 -o -perm -02000 ) -exec ls -lg {} ;
按照上述的一些安全指南,系統管理員就可以達到基本的系統安全要求。上述的一些操作是一個
連續的過程。系統管理員必須保持它們的連續性,才能使系統真正安全。
3. 抵禦「黑客」入侵八大法門
抵禦「黑客」入侵八大法門
二十一世紀最矚目的可能不再是政治、種族、環境等老問題、而是虛擬社群所觸發的新問題。互聯網的
崛起,不但是科技上的突破,更是一個開闢新市場的契機。不過,與此同時,黑客(hacker)入侵的問題
亦日趨嚴重,引起了人們的關注。
在云云虛擬人口中,不限於特定的地區或集團,黑客的數量實在多不勝數。而且攻擊網站程式更可從
很多熱門軟件網站下載,其入侵手法令人防不勝防。
防微杜絕,筆者在此綜合了八大法門來抵禦黑客的入侵。
1. 訂定網路安全政策
公司內部的保安政策應該清楚地向僱員說明,並且明確他們的責任,以便當系統受到攻擊時能
立即應變。向員工進行反黑客攻擊培訓,使他們提高警覺性,及時揭發黑客的入侵。
2. 定期測試系統防禦
由於黑客組織已迅速成長及入侵技術不斷發展,有必要定期檢查公司現行的電腦保安系統,確
保有效遏止外來的入侵。
3. 安裝妥善的防火牆(Firewall)
4
防火牆是用以管理網站內訊息的傳送,能有效地將網路與其他系統隔離,使伺服器能檢查本身
的輸送是否符合網站的安全。
4. 進行網路風險評估
針對運行中的網路技術,進行全面的風險評估,並對數據的敏感性進行評估分級。這項評估有
助保安專家認識系統的弱點,從而加強防禦措施。
5. 加上防止侵入程式
妥善配置防禦軟件,可敏捷地確認攻擊模式,然後在警號響起之時,立即抵禦黑客。
6. 暸解意外應變步驟
大部份的公司皆會採取不同程度的預防措施,然而很少機會準備、預演在最壞的情形下執行正
確的應變步驟。
7. 制定預防步驟、聘獨立測試者
欲防止網路被襲,全賴一系列嚴格的管理、健全的內部處理程序和審核能
力。並須委託獨立認可的電腦科技公司測試、檢驗現役系統的安全程度。
8. 更新軟件
準時更新系統及修正相關的保安軟件,以降低受黑客入侵的風險。
節錄自陳裕康先生為數碼廣場 2000 年 4 月版內名為『「黑客」觸發電腦網絡保安危機』之文章。數碼廣場
為香港生產力促進局刊物。
4. NAT 設定 IP 分享功能
5
如果您有需要再某個時段關閉 分享功能可利用 crond 來設定: 只要把 forward 改成 0 即可。 如: echo 0
>/proc/sys/net/ipv4/ip_forward
4. IPChains 基本語法
6
TCP 與 UDP 埠口現在都要用 --source-port 或 --sport 選項來拼寫出來(或是掉過來寫 --
destination-port 或 --dport)﹐同時﹐必需置於 `-p tcp' 或 `-p udp' 選項之後﹐因為 TCP 或 UDP 延
伸是分開載入的。
以前 TCP 那個 -y 現在變成 --syn﹐並且必需置於 `-p tcp' 之後。
原來的 DENY 目標現在終於變成 DROP 了。
在列示其工作的同時可以將該鏈歸零(zeroing)。
歸零內建鏈也可以清掉原則記數器(policy counters)。
列示鏈可以讓您把記數器變成微小快照(atomic snapshot)。
REJECT 與 LOG 現在變成延伸目標了﹐意味著它們已經和核心模組分開。
鏈名稱最長可達 31 個字母。
MASQ 現在變成 MASQUERADE﹐ 而且使用不同的語法。REDIRECT 在保留相同名稱的同
時﹐也經歷了語法的變遷。至於如何設定它們的詳細資料﹐請參閱 NAT-HOWTO。
而 -o 選項則不再用來將封包傳遞給使用者空間設備了(參考前面的 -i )。現在則用 QUEUE 目標
將封包送給使用者空間。