綠色資源網(wǎng):您身(shēn)邊最放(fàng)心的安(ān)全下(xià)載站! 最新軟件|熱門(mén)排行|軟件(jiàn)分類|軟件專題|廠商大(dà)全

綠色資源網

技術教程(chéng)
您的位(wèi)置:首頁服務器類Linux服務器 → 教你用SELinux來保護你的Apache

教你用SELinux來保護你的Apache

我要評論 2011/09/21 13:17:29 來源:綠色資(zī)源網(wǎng) 編輯:ynaad.com [ ] 評(píng)論:0 點擊(jī):178次

你的Web服務器確實有可能遭受攻擊,但是SELinux可以用來確保你的網站不用承受真正的傷害。

你可以運用SELinux類(lèi)型來創建一個確切定義:一個服(fú)務可以做什麽和它在(zài)哪裏完(wán)成要(yào)做的事情。默認情況下,httpd_sys_content類型(xíng)被設為/var/www,它規定httpd進(jìn)程(chéng)可(kě)以在該目錄中工(gōng)作。如果攻擊者破壞了Apache Web服務器並嚐試在別處寫(xiě)入,就像紅帽和Fedora以及(jí)CentOS等相似Linux版本的默認/tmp,你需要知道你(nǐ)正在處理什麽。如果你配置Apache來為/data目錄中的內(nèi)容服(fú)務,SELinux也會默認地防止這種情況。

由於這些默認設置可能造成複雜的情況,很多Linux管理員(yuán)關閉SELinux。雖然關閉SELinux的確讓你的(de)服務器提供服務時更容(róng)易,但是它還是增加了安(ān)全(quán)風險。

為Apache管理SELinux設置

為Apache等服務管理SELinux設置並不(bú)難。問題是並沒(méi)有簡單(dān)的圖形工具(jù)可以讓你快速安裝。但隻要用三條命令,你就可以配置它。

為了在你想讓服務訪問到的目錄上設置文件(jiàn)類型(xíng),你首(shǒu)先必須決定要使用的文件係統類型。要這麽做,隻需在服務使(shǐ)用的默認目錄上輸入ls –ldZ。

對於Apache,你會使用(yòng)ls –ldZ /var/www。你會(huì)注意(yì)到在(zài)這(zhè)種情況下,–Z選項給出了額外的文件屬性(xìng),而–t選項才是最關鍵的一個。這個進(jìn)程(chéng)規定現有的文件(jiàn)係統類型,這個係(xì)統類型(xíng)是Apache設置的(httpd_sys_content_t)。這也是你需要按照新文件根設置的文件類型。

你可以用兩條命令設置你的內容形(xíng)式:用chcon你可以做一次暫時(shí)的變更,它在重啟後消失(shī);用followed by緊跟著的semanage,你可(kě)以做永久(jiǔ)的變更(gèng)。

semanage命令似乎有些複雜,但它(tā)實際上非常簡單,因為你隻需要改(gǎi)變你想要用的(de)類(lèi)型和目(mù)標目錄。在下麵的例子中,你隻需要改變兩個參數。

semanage fcontext -a -t httpd_sys_content_t /web(/.*)/?

在運用semanage設置(zhì)默認文件類型(xíng)之後,運用(yòng)restorecon命令來確保它得到(dào)應用了(le)。在上麵的例子中,針對(duì)目錄/web的(de)文件類型被變更來允許到那個目錄上服務器文件的Apache,運行以下命令來應(yīng)用該變更:

restorecon -R -v /web

在這一點上,Apache將能服務於新的非默認文件根目錄上的文件。

為SELinux管理布爾值

你需要管理(lǐ)的SELinux的另一個方麵是SELinux布爾值。這些都是開啟或關閉某(mǒu)些功能的二進製值。布爾值可以在多種服務(wù)中獲得。運用getsebool –a命令來概觀整個現有的布爾(ěr)值。該命令通常會將你能應用的設置列成一個長長的列表。

要為你想配置的服務找到所有布爾值,通過grep傳輸所有getsebool –a的輸出。舉例來(lái)說,運用getsebool –a | grep http來找到所有與(yǔ)行http匹配的(de)布爾值。即使你並不(bú)是對所有布爾值都有明確認識,你通常(cháng)還是可以通過觀察它(tā)們的名(míng)字(zì)和它們可能做的事情(qíng)查明白。

使用getsebool -a來找出哪個SELinux可以用(yòng)來修改服務(wù)行為:

[root@bia Desktop]# getsebool -a | grep http allow_httpd_anon_write --> off allow_httpd_mod_auth_ntlm_winbind --> off allow_httpd_mod_auth_pam --> off allow_httpd_sys_script_anon_write --> off httpd_builtin_scripting --> on httpd_can_check_spam --> off httpd_can_network_connect --> off httpd_can_network_connect_cobbler --> off httpd_can_network_connect_db --> off httpd_can_network_relay --> off httpd_can_sendmail --> off httpd_dbus_avahi --> on httpd_enable_cgi --> on httpd_enable_ftp_server --> off httpd_enable_homedirs --> off httpd_execmem --> off httpd_read_user_content --> off httpd_setrlimit --> off httpd_ssi_exec --> off httpd_tmp_exec --> off httpd_tty_comm --> on httpd_unified --> on httpd_use_cifs --> off httpd_use_gpg --> off httpd_use_nfs --> off

學會了(le)你想用哪個布爾值後,運(yùn)用setsebool -P來應用它們。如果你想允許Apache運用nfs,在上(shàng)麵運用setsebool -P http_use_nfs。想要(yào)得到所有可用布(bù)爾值的完整列表,谘詢一下httpd_selinux頁麵,這個頁麵解(jiě)釋了Apache特有的文件標簽和布爾值。

關鍵詞:SELinux,Apache

閱讀本文後您有什麽(me)感想? 已有(yǒu) 人給出評(píng)價!

  • 0 歡迎喜歡
  • 0 白癡
  • 0 拜托
  • 0 哇
  • 0 加油(yóu)
  • 0 鄙(bǐ)視
免费人欧美成又黄又爽的视频丨一本色道久久88综合日韩精品丨国产专区日韩精品欧美色丨午夜无遮挡男女啪啪视频丨国产欧美日韩综合精品一区二区丨亚洲精品无码不卡在线播HE丨亚洲精品国产精品国自产观看丨日韩国产高清av不卡