<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                # 7.1 網絡封包聯機進入主機的流程 ## 7.1 網絡封包聯機進入主機的流程 在這一章當中,我們要討論的是,當來自一個網絡上的聯機要求想進入我們的主機時, 這個網絡封包在進入主機實際取得數據的整個流程是如何?了解了整個流程之后, 你才會發現:原來系統操作的基本概念是如此的重要! 而你也才會了解要如何保護你的主機安全吶!閑話少說,咱們趕緊來瞧一瞧先。 - - - - - - ### 7.1.1 封包進入主機的流程 在[第一章](http://linux.vbird.org/linux_server/0105beforeserver.php#server_network_flow)我們就談過網絡聯機的流程, 當時舉的例子是希望你可以理解為啥架設服務器需要了解操作系統的基本觀念。在這一章當中,我們要將該流程更細致化說明, 因為,透過這個流程分析,你會知道為啥我們的主機需要進行過一些防護之后,系統才能夠比較強壯。此外,透過[第二章的網絡概念](http://linux.vbird.org/linux_server/0110network_basic.php)解釋后,你也了解了網絡是雙向的,服務器與客戶端都得要有 IP:port 才能夠讓彼此的軟件互相溝通。那么現在,假設你的主機是 WWW 服務器,透過底下的圖標,網絡封包如何進入你的主機呢? ![](https://box.kancloud.cn/2016-05-13_5735da486041c.gif) 圖 7.1-1、網絡封包進入主機的流程 1. 經過防火墻的分析: Linux 系統有內建的防火墻機制,因此你的聯機能不能成功,得要先看防火墻的臉色才行。預設的 Linux 防火墻就有兩個機制,這兩個機制都是獨立存在的,因此我們預設就有兩層防火墻喔。第一層是封包過濾式的 netfilter 防火墻, 另一個則是透過軟件控管的 TCP Wrappers 防火墻。 - 封包過濾防火墻:IP Filtering 或 Net Filter 要進入 Linux 本機的封包都會先通過 Linux 核心的預設防火墻,就是稱為 netfilter 的咚咚,簡單的說,就是 iptables 這個軟件所提供的防火墻功能。為何稱為封包過濾呢?因為他主要是分析 TCP/IP 的封包表頭來進行過濾的機制,主要分析的是 OSI 的第二、三、四層,主要控制的就是 MAC, IP, ICMP, TCP 與 UDP 的埠口與狀態 (SYN, ACK...) 等。詳細的資料我們會在[第九章防火墻](http://linux.vbird.org/linux_server/0250simple_firewall.php)介紹。 - 第二層防火墻:TCP Wrappers 通過 netfilter 之后,網絡封包會開始接受 [Super daemons](http://linux.vbird.org/linux_basic/0560daemons.php) 及 [TCP\_Wrappers](http://linux.vbird.org/linux_basic/0560daemons.php#tcp_wrappers) 的檢驗,那個是什么呢? 說穿了就是 /etc/hosts.allow 與 /etc/hosts.deny 的配置文件功能啰。 這個功能也是針對 TCP 的 Header 進行再次的分析,同樣你可以設定一些機制來抵制某些 IP 或 Port ,好讓來源端的封包被丟棄或通過檢驗; 透過防火墻的管控,我們可以將大部分來自因特網的垃圾聯機丟棄,只允許自己開放的服務的聯機進入本機而已, 可以達到最基礎的安全防護。 2. 服務 (daemon) 的基本功能: 預設的防火墻是 Linux 的內建功能,但防火墻主要管理的是 MAC, IP, Port 等封包表頭方面的信息,如果想要控管某些目錄可以進入, 某些目錄則無法使用的功能,那就得要透過權限以及服務器軟件提供的相關功能了。舉例來說,你可以在 httpd.conf 這個配置文件之內規范某些 IP 來源不能使用 httpd 這個服務來取得主機的數據, 那么即使該 IP 通過前面兩層的過濾,他依舊無法取得主機的資源喔!但要注意的是, 如果 httpd 這支程序本來就有問題的話,那么 client 端將可直接利用 httpd 軟件的漏洞來入侵主機,而不需要取得主機內 root 的密碼!因此, 要小心這些啟動在因特網上面的軟件喔! 3. SELinux 對網絡服務的細部權限控制: 為了避免前面一個步驟的權限誤用,或者是程序有問題所造成的資安狀況,因此 Security Enhanced Linux (安全強化 Linux) 就來發揮它的功能啦!簡單的說,SELinux 可以針對網絡服務的權限來設定一些規則 (policy) ,讓程序能夠進行的功能有限, 因此即使使用者的檔案權限設定錯誤,以及程序有問題時,該程序能夠進行的動作還是被限制的,即使該程序使用的是 root 的權限也一樣。舉例來說,前一個步驟的 httpd 真的被 cracker 攻擊而讓對方取得 root 的使用權,由于 httpd 已經被 SELinux 控制在 /var/www/html 里面,且能夠進行的功能已經被規范住了,因此 cracker 就無法使用該程序來進行系統的進一步破壞啰。現在這個 SELinux 一定要開啟喔! 4. 使用主機的文件系統資源: 想一想,你使用瀏覽器連接到 WWW 主機最主要的目的是什么?當然就是讀取主機的 WWW 數據啦! 那 WWW 資料是啥?就是檔案啊!^\_^!所以,最終網絡封包其實是要向主機要求文件系統的數據啦。 我們這里假設你要使用 httpd 這支程序來取得系統的檔案數據,但 httpd 默認是由一個系統賬號名稱為 httpd 來啟動的,所以:你的網頁數據的權限當然就是要讓 httpd 這支程序可以讀取才行啊!如果你前面三關的設定都 OK ,最終權限設定錯誤,使用者依舊無法瀏覽你的網頁數據的。 在這些步驟之外,我們的 Linux 以及相關的軟件都可能還會支持登錄文件記錄的功能,為了記錄歷史歷程, 以方便管理者在未來的錯誤查詢與入侵檢測,良好的分析登錄檔的習慣是一定要建立的,尤其是 /var/log/messages 與 /var/log/secure 這些個檔案!雖然各大主要 Linux distribution 大多有推出適合他們自己的登錄文件分析軟件,例如 CentOS 的 logwatch ,不過畢竟該軟件并不見得適合所有的 distributions ,所以鳥哥嘗試自己寫了一個 logfile.sh 的 shell script,你可以在底下的網址下載該程序: - <http://linux.vbird.org/download/index.php?action=detail&fileid=60> 好了,那么根據這些流程,你覺得 cracker 這些個壞蛋能夠怎樣的攻擊我們的系統呢?得要先到對方想要怎么破壞, 我們才能夠想辦法來補強系統嘛!底下先講講基本的攻擊手法啰。 - - - - - - ### 7.1.2 常見的攻擊手法與相關保護 我們由[圖 7.1-1](#fig7.1-1) 了解到數據傳送到本機時所需要經過的幾道防線后,那個權限是最后的關鍵啦! 現在你應該比較清楚為何我們常常在基礎篇里面一直談到設定正確的權限可以保護你的主機了吧? 那么 cracker 是如何透過上述的流程還能夠攻擊你的系統啊?底下就讓我們來分析分析。 - 取得帳戶信息后猜密碼 由于很多人喜歡用自己的名字來作為帳戶信息,因此賬號的取得是很容易的!舉例來說,如果你的朋友將你的 email address 不小心泄漏出去,例如: dmtsai@your.host.name 之類的樣式,那么人家就會知道你有一部主機,名稱為 your.host.name,且在這部主機上面會有一個使用者賬號,賬號名稱為 dmtsai ,之后這個壞家伙再利用某些特殊軟件例如 nmap 來進行你主機的 port scan 之后,嘿嘿!他就可以開始透過你主機有啟動的軟件功能來猜你這個賬號的密碼了! 另外,如果你常常觀察你的主機登錄文件,那你也會發現如果你的主機有啟動 Mail server 的服務時, 你的登錄檔就會常常出現有些怪家伙嘗試以一些奇怪的常見賬號在試圖猜測你的密碼, 舉例來說像:admin, administrator, webmaster .... 之類的賬號,嘗試來竊取你的私人信件。 如果你的主機真的有這類的賬號,而且這類的賬號還沒有良好的密碼規劃,那就容易『中標』! 唉!真是麻煩!所以我們常講,系統賬號千萬不能給予密碼,容易被猜密碼啊! 這種猜密碼的攻擊方式算是最早期的入侵模式之一了,攻擊者知道你的賬號,或者是可以猜出來你的系統有哪些賬號, 欠缺的就只是密碼而已,因此他會『很努力的』去猜你的密碼,此時,你的密碼規劃如果不好的話,很容易就被攻擊了! 主機也很容易被綁架啊!所以,良好的密碼設置習慣是很重要的。 不過這種攻擊方式比較費時,因為目前很多軟件都有密碼輸入次數的限制,如果連續輸入三次密碼還不能成功的登入, 那該次聯機就會被斷線!所以,這種攻擊方式日益減少,目前偶而還會看到就是了!這也是初級 cracker 會使用的方式之一。 那我們要如何保護呢?基本方式是這樣的: - 減少信息的曝光機會:例如不要將 Email Address 隨意散布到 Internet 上頭; - 建立較嚴格的密碼設定規則:包括 /etc/shadow, /etc/login.defs 等檔案的設定, 建議你可以參考[基礎篇](http://linux.vbird.org/linux_basic)內的[賬號管理](http://linux.vbird.org/linux_basic/0410accountmanager.php)那一章來規范你的用戶密碼變更時間等等, 如果主機夠穩定且不會持續加入某些賬號時,也可以考慮使用 [chattr](http://linux.vbird.org/linux_basic/0220filemanager.php#chattr) 來限制賬號 (/etc/passwd, /etc/shadow) 的更改; - 完善的權限設定:由于這類的攻擊方式會取得你的某個使用者賬號的登入權限, 所以如果你的系統權限設定得宜的話,那么攻擊者也僅能取得一般使用者的權限而已,對于主機的傷害比較有限啦! 所以說,權限設定是重要的; - 利用系統的程序漏洞『主動』攻擊 由[圖 7.1-1](#fig7.1-1) 里面的第二個步驟中,我們知道如果你的主機有開放網絡服務時, 就必須有啟動某個網絡軟件嘛!我們也知道由于軟件可能撰寫方式的問題,可能產生一些會被 cracker 亂用的臭蟲程序代碼,而這些臭蟲程序代碼由于產生問題的大小,有分為 bug (臭蟲,可能會造成系統的不穩定或當機) 與 Security (安全問題,程序代碼撰寫方式會導致系統的權限被惡意者所掌握) 等問題。 當程序的問題被公布后,某些較高階的 cracker 會嘗試撰寫一些針對這個漏洞的攻擊程序代碼, 并且將這個程序代碼放置到 cracker 常去的網站上面,藉以推銷自己的『功力』..... 鳥哥要提醒的是,這種程序代碼『是很容易被取得的』。 當更多『盈盈美黛子(臺語,閑閑沒事干之意)』取得這些程序代碼后,他可能會想要『試一試這個攻擊程序的威力』, 所以就拿來『掃射』一番,如果你八字比較輕,或者當天星座學家說你比較倒霉時,可能就會被不小心的攻擊到... 這種攻擊模式是目前最常見的,因為攻擊者只要拿到攻擊程序就可以進行攻擊了, 『而且由攻擊開始到取得你系統的 root 權限不需要猜密碼, 不需要兩分鐘,就能夠立刻入侵成功』,所以『盈盈美黛子』們最愛的就是這個咚咚了。 但這個玩意兒本身是靠『你主機的程序漏洞』來攻擊的,所以,如果你的主機隨時保持在實時更新的階段, 或者是關閉大部分不需要的程序,那就可以躲避過這個問題。因此,你應該要這樣做: - 關閉不需要的網絡服務:開的 port 越少,可以被入侵的管道越少, 一部主機負責的服務越單純,越容易找出問題點。 - 隨時保持更新:這個沒話講!一定要進行的! - 關閉不需要的軟件功能:舉例來說,后面會提到的遠程登錄服務器 SSH 可以提供 root 由遠程登錄,那么危險的事情當然要給他取消啊!^\_^ - 利用社交工程作欺騙 社交工程 (Social Engineering) 指的其實很簡單,就是透過人與人的互動來達到『入侵』的目的! @\_@!人與人的互動可以入侵你的主機?鳥哥在呼嚨你嗎?當然不是。 近日在臺灣的社會你不是常看到某些人會以『退稅、中獎、花小錢買貴重物品』等名義來欺騙善良老百姓, 讓老百姓掏出口袋里的金錢給那些可惡的金光黨嗎?社交工程也是類似的方法。在大公司里面, 或許你可能會接到這樣的電話:『我是人事部門的經理,我的賬號為何突然間不能登入了? 你給我看一看,恩?干脆直接幫我另建一個賬號,我告訴你我要的密碼是....』。如果你一時不查給他賬號密碼的話, 你的主機可能就這樣被綁走了~ 社交工程的欺騙方法多的是,包括使用『好心的 email 通知』、『警告信函』、『中獎單』等等, 在在都是要欺騙你的賬號密碼,有的則利用釣魚方式來欺騙你在某些惡意網站上面輸入你的賬號密碼, 很討厭的啦!舉例來說,我們昆山計中的 email 常常會收到系統維護的信件,要我們將賬號密碼提交給系統管理員統一控管, 這當然是假的!計中根本不會寄出這樣的信件啊!傷腦筋啦!所以要注意啊!那要如何防范呢? - 追蹤對談者:不要一味的相信對方,你必須要有信心的向上呈報, 不要一時心慌就中了計! - 不要隨意透露賬號/密碼等信息:最好不要隨意在 Internet 上面填寫這些數據, 真的很危險的!因為在 Internet 上面,你永遠不知道對方屏幕前面坐著的是誰? - 利用程序功能的『被動』攻擊 啥?除了主動攻擊之外,還有所謂的被動攻擊喔?沒錯啊,『系金ㄟ』!那如何作被動攻擊呢? 那就得要由『惡意網站』講起了。如果你喜歡上網隨意瀏覽的話,那么有的時候可能會連上一些廣告很多, 或者是一堆彈出式窗口的網站,這些網站有時還會很好心的『提供你很多好用的軟件自動下載與安裝』的功能, 如果該網站是你所信任的,例如 Red Hat, CentOS, Windows 官網的話,那還好, 如果是一個你也不清楚他是干嘛的網站,那你是否要同意下載安裝該軟件? 如果你常常在注意一些網絡危機處理的相關新聞時,常會發現 Windows 的瀏覽器 (IE) 有問題, 有時則是全部的瀏覽器 (Firefox, Netscap, IE...) 都會出現問題。那你會不會覺得奇怪啊, 怎么『瀏覽器也會有問題?』這是因為很多瀏覽器會主動的答應對方 WWW 主機所提供的各項程序功能, 或者是自動安裝來自對方主機的軟件,有時瀏覽器還可能由于程序發生安全問題, 讓對方 WWW 瀏覽器得以傳送惡意代碼給你的主機來執行,嘿嘿!中標! 那你又會想啊,那我干嘛瀏覽那樣的惡意網站?呵呵!總是會有些粗心大意的時候啊!如果你今天不小心收到一個 email ,里面告訴你你的銀行賬號有問題,希望你趕緊連上某個網頁去看看你的賬號是否在有問題的行列中,你會不會去? 如果今天有個網絡消息說某某網頁在提供大特價商品,那你會不會去碰碰運氣? 都是可能的啊!不過,這也就很容易被對方攻擊到了。 那如何防備啊?當然建立良好的習慣最重要了: - 隨時更新主機上的所有軟件:如果你的瀏覽器是沒有問題的, 那對方傳遞惡意代碼時,你的瀏覽器就不會執行,那自然安全的多啊! - 較小化軟件的功能:舉例來說,讓你的收信軟件不要主動的下載文件, 讓你的瀏覽器在安裝某些軟件時,要通過你的確認后才安裝,這樣就比較容易克服一些小麻煩; - 不要連接到不明的主機:其實鳥哥認為這個才最難! 因為很多時候我們都用 google 在搜尋問題的解決之道啊,那你如何知道對方是否是騙人的? 所以,前面兩點防備還是很重要的!不要以為沒有連接上惡意網站就不會有問題啊! - 蠕蟲或木馬的 rootkit rootkit 意思是說可以取得 root 權限的一群工具組 (kit),就如同前面主動攻擊程序漏洞的方法一樣, rootkit 主要也是透過主機的程序漏洞。不過, rootkit 也會透過社交工程讓用戶下載、安裝 rootkit 軟件, 結果讓 cracker 得以簡單的綁架對方主機啊! rootkit 除了可以透過上述的方法來進行入侵之外,rootkit 還會偽裝或者是進行自我復制, 舉例來說,很多的 rootkit 本身就是蠕蟲或者是木馬間諜程序。蠕蟲會讓你的主機一直發送封包向外攻擊, 結果會讓你的網絡帶寬被吃光光,例如 2001-2003 年間的 Nimda, Code Red 等等;至于木馬程序 (Trojan Horse) 則會對你的主機進行開啟后門 (開一個 port 來讓 cracker 主動的入侵),結果就是....綁架、綁架、綁架! rootkit 其實挺不好追蹤的,因為很多時候他會主動的去修改系統觀察的指令, 包括 ls, top, netstat, ps, who, w, last, find 等等,讓你看不到某些有問題的程序, 如此一來,你的 Linux 主機就很容易被當成是跳板了!有夠危險!那如何防備呢? - 不要隨意安裝不明來源的檔案或者是不明網站的檔案數據; - 不要讓系統有太多危險的指令:例如 SUID/SGID 的程序, 這些程序很可能會造成用戶不當的使用,而使得木馬程序有機可趁! - 可以定時以 rkhunter 之類的軟件來追查:有個網站提供 rootkit 程序的檢查,你可以前往下載與分析你的主機: [http://www.rootkit.nl/projects/rootkit\_hunter.html](http://www.rootkit.nl/projects/rootkit_hunter.html) - DDoS 攻擊法 (Distributed Denial of Service ) 這類型的攻擊中文翻譯成『分布式阻斷服務攻擊』,從字面上的意義來看,它就是透過分散在各地的僵尸計算機進行攻擊, 讓你的系統所提供的服務被阻斷而無法順利的提供服務給其他用戶的方式。 這種攻擊法也很要命,而且方法有很多,最常見的就屬 SYN Flood 攻擊法了!還記得我們在[網絡基礎](http://linux.vbird.org/linux_server/0110network_basic.php)里面提到的,當主機接收了一個帶有 SYN 的 TCP 封包之后,就會啟用對方要求的 port 來等待聯機,并且發送出回應封包 (帶有 SYN/ACK 旗目標 TCP 封包),并等待 Client 端的再次回應。 好了,在這個步驟當中我們來想一想,如果 cient 端在發送出 SYN 的封包后,卻將來自 Server 端的確認封包丟棄,那么你的 Server 端就會一直空等,而且 Client 端可以透過軟件功能,在短短的時間內持續發送出這樣的 SYN 封包,那么你的 Server 就會持續不斷的發送確認封包,并且開啟大量的 port 在空等~呵呵!等到全部主機的 port 都啟用完畢,那么.....系統就掛了! 更可怕的是,通常攻擊主機的一方不會只有一部!他會透過 Internet 上面的僵尸網絡 (已經成為跳板,但網站主卻沒有發現的主機) 發動全體攻擊,讓你的主機在短時間內就立刻掛點。 這種 DDoS 的攻擊手法比較類似『玉石俱焚』的手段, 他不是入侵你的系統,而是要讓你的系統無法正常提供服務! 最常被用來作為阻斷式服務的網絡服務就是 WWW 了,因為 WWW 通常得對整個 Internet 開放服務。 這種攻擊方法也是最難處理的,因為要嘛就得要系統核心有支持自動抵擋 DDoS 攻擊的機制, 要嘛你就得要自行撰寫偵測軟件來判斷!真是麻煩啊~而除非你的網站非常大, 并且『得罪不少人』,否則應該不會被 DDoS 攻擊啦! ^\_^ - 其他 上面提到的都是比較常見的攻擊方法,是還有一些高竿的攻擊法啦,不過那些攻擊法都需要有比較高的技術水準,例如 IP 欺騙。他可以欺騙你主機告知該封包來源是來自信任網域,而且透過封包傳送的機制, 由攻擊的一方持續的主動發送出確認封包與工作指令。如此一來,你的主機可能就會誤判該封包確實有響應, 而且是來自內部的主機。 不過我們知道因特網是有路由的,而每部主機在每一個時段的 ACK 確認碼都不相同, 所以這個方式要達成可以登入,會比較麻煩,所以說,不太容易發生在我們這些小型主機上面啦! 不過你還是得要注意一下說: - 設定規則完善的防火墻:利用 Linux 內建的防火墻軟件 iptables 建立較為完善的防火墻,可以防范部分的攻擊行為; - 核心功能:這部份比較復雜,你必須要對系統核心有很深入的了解, 才有辦法設定好你的核心網絡功能。 - 登錄文件與系統監控:你可以透過分析登錄文件來了解系統的狀況, 另外也可以透過類似 [MRTG 之類的監控軟件](http://linux.vbird.org/linux_security/old/04mrtg.php) 來實時了解到系統是否有異常,這些工作都是很好的努力方向! - 小結語 要讓你的系統更安全,沒有『三兩三』是沒辦法『上梁山』的!我們也一直鼓吹, 『維護網站比架設網站還要重要』的觀念!因為『一人得道雞犬升天』,同樣的道理:『一人中標全員掛點』, 不要以為你的主機沒有啥重要數據,被入侵或被植入木馬也沒有關系, 因為我們的服務器通常會對內部來源的主機規范的較為寬松,如果你的主機在公司內部, 但是不小心被入侵的話,那么貴公司的服務器是否就會暴露在危險的環境當中了? 另外,在蠕蟲很『發達』的年代,我們也會發現只要局域網絡里面有一部主機中標,整個局域網絡就會無法使用網絡了, 因為帶寬已經被蠕蟲塞爆!如果老板發現他今天沒有辦法收信了,但無法收信的原因并非服務器掛點, 而是因為內部人員的某部個人計算機中了蠕蟲,而那部主機中蠕蟲的原因只是因為該使用者不小心去看了一下色情網站, 你覺得老板會高興的跟該員工一起看色情網站還是 fire 掉該人員? 所以啊,主機防護還是很重要的!不要小看了!提供幾個方向給大家思考看看吧: 1. 建立完善的登入密碼規則限制; 2. 完善的主機權限設定; 3. 設定自動升級與修補軟件漏洞、及移除危險軟件; 4. 在每項系統服務的設定當中,強化安全設定的項目; 5. 利用 iptables, TCP\_Wrappers 強化網絡防火墻; 6. 利用主機監控軟件如 MRTG 與 logwatch 來分析主機狀況與登錄文件; - - - - - - ### 7.1.3 主機能作的保護: 軟件更新、減少網絡服務、啟動 SELinux 根據本章前面的分析,現在你知道封包的流向以及主機基本需要進行的防護了。不過你或許還是有疑慮,那就是, 既然我都已經有了防火墻,那么權限的控管啦、密碼的嚴密性啦、服務器軟件的更新啦、SELinux 啦等等的, 是否就沒有這么重要呢?畢竟它是封包進入的第一關卡!這關把關嚴格,后續可以稍微寬松嗎?其實...你錯了! 對于開放某些服務的服務器來說,你的防火墻『根本跟屁一樣,是沒有用的!』怎么說呢? - 軟件更新的重要性 讓我們瞧一瞧[圖 7.1-1](#fig7.1-1) 的流程好了,假設你需要對全世界開放 WWW ,那么提供 WWW 服務的 httpd 這只程序就得要執行,并且,你的防火墻得要打開 port 80 讓全世界都可以連接到你的 port 80 ,這樣才是一部合理的 WWW 服務器嘛!問題來啦,如果 httpd 這只程序有資安方面的問題時,請問防火墻有沒有效用?當然沒有!因為防火墻原本就得要開放 port 80 啊!此時防火墻對你的 WWW 一點防護也沒有。那怎辦? 沒啥好說的,就是軟件持續更新到最新就對了!因為自由軟件就是有這個好處,當你的程序有問題時, 開發商會在最短的時間內取得志工提供的修補程序 (patch) ,并將該程序代碼補充到軟件更新數據庫中, 讓一般用戶可以直接透過網絡來自動更新。因此,要克服這個服務器軟件的問題,更新系統軟件就對了。 但是你得要注意,你的系統能否更新軟件與系統的版本有關!舉例來說,2003 年左右發布的 Red Hat 9 目前已經沒有支持了, 如果你還是執意要安裝 Red Hat 9 這套系統,那么很抱歉,你得要手動將系統內的軟件透過 make 動作來重新編譯到最新版, 因此,很麻煩~同樣的, Fedora 最新版雖然有提供網絡自動更新,但是 Fedora 每一個版本的維護期間較短, 你可能需要常常大幅度的變更你的版本,這對服務器的設定也不妥當。此時一個企業版本的 Linux distributions 就很重要啦! 舉例來說,鳥站的主機截至目前為止 (2011/07) 還是使用 CentOS 4.x ,因為這個版本目前還是持續維護中。 這對服務器來說,是相當重要的!穩定與安全比什么都重要! 想要了解軟件的安全通報,可以參考如下的網站數據喔! - 臺灣計算機危機處理小組(TWCERT):<http://www.cert.org.tw/> - Red Hat 的官方說明:<https://www.redhat.com/support/> - 認識系統服務的重要性 再回到[圖 7.1-1](#fig7.1-1) 當中,同時思考一下第二章網絡基礎里面談到的網絡聯機是雙向這件事, 我們會得到一個答案,那就是在圖 7.1-1 內的第二個步驟中,如果能夠減少服務器上面的監聽埠口, 此時因為服務器端沒有可供聯機的埠口,客戶端當然也就無法聯機到服務器端嘛!那么如何限制服務器開啟的埠口呢? 第二章就談到過了,關閉埠口的方式是透過關閉網絡服務。沒錯啊!所以啰,此時能夠減少網絡服務就減少,可以避免很多不必要的麻煩。 - 權限與 SELinux 的輔助 根據網絡上面多年來的觀察,很多朋友在發生權限不足方面的問題后,都會直接將某個目錄直接修訂成為 chmod -R 777 /some/path/。 如果這部主機只是測試用的沒有上網提供服務,那還好。如果有上網提供某些服務時,那可就傷腦筋了!因為目錄的 wx 權限設定一起后, 代表該身份可以進行新增與刪除的動作。偏偏你又給 777 (rwxrwxrwx) ,代表所有的人都可以在該目錄下進行新增與刪除! 萬一不小心某支程序被攻擊而被取得操作權,想想看,你的系統不就可能被寫入某些可怕的東西了嗎? 所以不要隨便設定權限啊! 那如果由于當初規劃的賬號身份與群組設定的太雜亂,導致無法使用單純的三種身份的三種權限來設定你的系統時,那該如何是好? 沒關系的,可以透過 ACL 這個好用的東西! ACL 可以針對單一賬號或單一群組進行特定的權限設定,相當好用喔! 他可以輔助傳統 Unix 的權限設定方面的困擾哩。詳情請參考基礎篇的內容呦! 那如何避免用戶亂用系統,亂設定權限呢?這個時候就得要透過 SELinux 來控制了。SELinux 可以在程序與檔案之間再加入一道細部的權限控制,因此,即使程序與檔案的權限符合了操作動作,但如果程序與檔案的 SELinux 類型 (type) 不吻合時,那么該程序就無法讀取該檔案喔! 此外,我們的 CentOS 也針對了某些常用的網絡服務制訂了許多的檔案使用規則 (rule),如果這些規則沒有啟用, 那么即使權限、SELinux 類型都對了,該網絡服務的功能還是無法順利的運作喔! - - - - - - 根據這樣的分析,我們可以知道,隨時更新系統軟件、限制聯機端口以及透過啟動 SELinux 來限制網絡服務的權限,經過這三個簡單的步驟,你的系統將可以獲得相當大的保護!當然啦, 后續的防火墻以及系統注冊表檔分析工作仍是需要進行的。本章后續將依據這三點來深入介紹。 - - - - - -
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看