在 Linux 上保護(hù) Apache Web 服務(wù)器的技巧

      網(wǎng)友投稿 758 2025-04-06

      如果您是系統(tǒng)管理員,則應(yīng)遵循本文中提到的 10 個(gè)提示來保護(hù)您的 Apache Web 服務(wù)器。


      1.禁用不必要的模塊

      如果您打算從源代碼安裝 apache,則應(yīng)禁用以下模塊。如果您執(zhí)行 ./configure –help,您將看到所有可以禁用/啟用的可用模塊。

      userdir – 將請(qǐng)求映射到用戶特定的目錄。即 URL 中的 ~username 將被翻譯到服務(wù)器中的目錄

      autoindex – 不存在 index.html 文件時(shí)顯示目錄列表

      status – 顯示服務(wù)器統(tǒng)計(jì)信息

      env – 清除/設(shè)置 ENV 變量

      setenvif – 將 ENV 變量放在標(biāo)題上

      cgi – CGI 腳本

      actions - 請(qǐng)求觸發(fā)的動(dòng)作

      negotiation——內(nèi)容協(xié)商

      alias——將請(qǐng)求映射到不同的文件系統(tǒng)部分

      include——服務(wù)器端包括

      filter – 智能過濾請(qǐng)求

      version – 使用 IfVersion 處理配置文件中的版本信息

      as-is - 原樣文件類型

      執(zhí)行 ./configure 時(shí)禁用所有上述模塊,如下所示

      ./configure \ --enable-ssl \ --enable-so \ --disable-userdir \ --disable-autoindex \ --disable-status \ --disable-env \ --disable-setenvif \ --disable-cgi \ --disable-actions \ --disable-negotiation \ --disable-alias \ --disable-include \ --disable-filter \ --disable-version \ --disable-asis

      如果啟用 ssl 并禁用 mod_setenv,您將收到以下錯(cuò)誤。

      錯(cuò)誤:/usr/local/apache2/conf/extra/httpd-ssl.conf 第 223 行的語法錯(cuò)誤:無效命令“BrowserMatch”,可能拼寫錯(cuò)誤或由服務(wù)器配置中未包含的模塊定義

      解決方案:如果您使用 ssl,請(qǐng)不要禁用 setenvif。或者,如果禁用 mod_setenvif,請(qǐng)?jiān)?httpd-ssl.conf 中注釋掉 BrowserMatch。

      安裝后,當(dāng)您執(zhí)行httpd -l時(shí),您將看到所有已安裝的模塊。

      # /usr/local/apache2/bin/httpd -l Compiled in modules: core.c mod_authn_file.c mod_authn_default.c mod_authz_host.c mod_authz_groupfile.c mod_authz_user.c mod_authz_default.c mod_auth_basic.c mod_log_config.c mod_ssl.c prefork.c http_core.c mod_mime.c mod_dir.c mod_so.c

      在此示例中,我們安裝了以下 apache 模塊。

      core.c – Apache 核心模塊

      mod_auth* – 用于各種認(rèn)證模塊

      mod_log_config.c – 記錄客戶端請(qǐng)求。提供額外的日志靈活性。

      mod_ssl.c – 用于 SSL

      prefork.c – 用于 MPM(多處理模塊)模塊

      httpd_core.c – Apache 核心模塊

      mod_mime.c – 用于設(shè)置文檔 MIME 類型

      mod_dir.c – 用于目錄路徑上的斜杠重定向。如果您指定 url/test/,它會(huì)轉(zhuǎn)到 url/test/index.html

      mod_so.c - 用于在啟動(dòng)或重啟期間加載模塊

      2. 以單獨(dú)的用戶和組運(yùn)行 Apache

      默認(rèn)情況下,apache 可能會(huì)作為無人值守或守護(hù)進(jìn)程運(yùn)行。最好在自己的非特權(quán)帳戶中運(yùn)行 apache。例如:阿帕奇。

      創(chuàng)建 apache 組和用戶。

      groupadd apache useradd -d /usr/local/apache2/htdocs -g apache -s /bin/false apache

      修改httpd.conf,適當(dāng)設(shè)置User和Group。

      # vi httpd.conf User apache Group apache

      在此之后,如果你重新啟動(dòng) apache,然后執(zhí)行 ps -ef,你會(huì)看到 apache 以“apache”的身份運(yùn)行(除了第一個(gè) httpd 進(jìn)程,它總是以 root 身份運(yùn)行)。

      # ps -ef | grep -i http | awk '{print }' root apache apache apache apache apache

      3.限制對(duì)根目錄的訪問(使用允許和拒絕)

      通過在httpd.conf中設(shè)置以下內(nèi)容來保護(hù)根目錄

      Options None Order deny,allow Deny from all

      在上面:

      Options None- 將此設(shè)置為無,這將不會(huì)啟用任何可選的額外功能。

      Order deny,allow?– 這是處理“拒絕”和“允許”指令的順序。這首先處理“拒絕”,然后處理“允許”。

      Deny from all?– 這會(huì)拒絕所有人對(duì)根目錄的請(qǐng)求。根目錄沒有 Allow 指令。所以,沒有人可以訪問它。

      在 Linux 上保護(hù) Apache Web 服務(wù)器的技巧

      4.為conf和bin目錄設(shè)置適當(dāng)?shù)臋?quán)限

      bin 和 conf 目錄只能由授權(quán)用戶查看。最好創(chuàng)建一個(gè)組,并將所有允許查看/修改 apache 配置文件的用戶添加到該組。

      讓我們稱這個(gè)組為:apacheadmin

      創(chuàng)建組。

      groupadd apacheadmin

      允許訪問此組的 bin 目錄。

      chown -R root:apacheadmin /usr/local/apache2/bin chmod -R 770 /usr/local/apache2/bin

      允許訪問該組的 conf 目錄。

      chown -R root:apacheadmin /usr/local/apache2/conf chmod -R 770 /usr/local/apache2/conf

      向該組添加適當(dāng)?shù)某蓡T。在這個(gè)例子中,ramesh 和 john 都是 apacheadmin 的一部分

      # vi /etc/group apacheadmin:x:1121:ramesh,john

      5.禁用目錄瀏覽

      如果您不這樣做,用戶將能夠看到您的根目錄(或任何子目錄)下的所有文件(和目錄)。

      例如,如果他們?cè)L問 http://{your-ip}/images/ 并且如果您在圖像下沒有 index.html,他們將看到列出的所有圖像文件(和子目錄)瀏覽器(就像 ls -1 輸出)。從這里,他們可以單擊單個(gè)圖像文件進(jìn)行查看,或單擊子目錄查看其內(nèi)容。

      要禁用目錄瀏覽,您可以將Options 指令的值設(shè)置為“None”或“-Indexes”。A - 在選項(xiàng)名稱前面會(huì)將其從為該目錄強(qiáng)制執(zhí)行的當(dāng)前選項(xiàng)列表中刪除。

      索引將在瀏覽器的目錄中顯示可用文件和子目錄的列表(僅當(dāng)該文件夾中不存在 index.html 時(shí))。因此,不應(yīng)允許索引。

      Options None Order allow,deny Allow from all (or) Options -Indexes Order allow,deny Allow from all

      6. 不允許.htaccess

      在 htdocs (或任何外部)下的特定子目錄中使用 .htaccess 文件,用戶可以覆蓋默認(rèn)的 apache 指令。在某些情況下,這是不好的,應(yīng)該避免。您應(yīng)該禁用此功能。

      您不應(yīng)允許用戶使用 .htaccess 文件并覆蓋 apache 指令。為此,請(qǐng)?jiān)诟夸浿性O(shè)置“?AllowOverride None ”。

      Options None AllowOverride None Order allow,deny Allow from all

      7.禁用其他選項(xiàng)

      以下是 Options 指令的可用值:

      Options All- 啟用所有選項(xiàng)(多視圖除外)。如果您不指定 Options 指令,則這是默認(rèn)值。

      Options ExecCGI?– 執(zhí)行 CGI 腳本(使用 mod_cgi)

      Options FollowSymLinks – 如果您在此目錄中有符號(hào)鏈接,它將被跟蹤。

      Options Includes- 允許服務(wù)器端包括(使用 mod_include)

      Options IncludesNOEXEC – 允許服務(wù)器端包含但不能執(zhí)行命令或 cgi。

      Options Indexes- 禁用目錄列表

      Options MultiViews - 允許內(nèi)容協(xié)商的多視圖(使用 mod_negotiation)

      Options SymLinksIfOwnerMatch – 類似于 FollowSymLinks。但是,只有當(dāng)鏈接和鏈接到的原始目錄之間的所有者相同時(shí),才會(huì)出現(xiàn)這種情況。

      永遠(yuǎn)不要指定“全部選項(xiàng)”。始終指定一個(gè)(或多個(gè))上述選項(xiàng)。您可以在一行中組合多個(gè)選項(xiàng),如下所示。

      Options Includes FollowSymLinks

      當(dāng)您有嵌套的目錄并希望覆蓋父目錄指令中的選項(xiàng)時(shí),選項(xiàng)值前面的 + 和 – 很有幫助。

      在此示例中,對(duì)于 /site 目錄,它同時(shí)具有包含和索引:

      Options Includes Indexes AllowOverride None Order allow,deny Allow from all

      對(duì)于 /site/en 目錄,如果您只需要來自 /site 的索引(而不是包含),并且如果您只想跟隨符號(hào)鏈接到此目錄,請(qǐng)執(zhí)行以下操作。

      Options -Includes +FollowSymLink AllowOverride None Order allow,deny Allow from all

      /site 將具有包含和索引

      /site/en 將有索引和 FollowSymLink

      8.刪除不需要的DSO模塊

      如果您已將任何動(dòng)態(tài)共享對(duì)象模塊加載到 apache,它們將出現(xiàn)在 httpd.conf 中的“LoadModule”指令下。

      請(qǐng)注意,靜態(tài)編譯的 apache 模塊不會(huì)被列為“LoadModule”指令。

      在 httpd.conf 中注釋掉任何不需要的“LoadModules”

      grep LoadModule /usr/local/apache2/conf/httpd.conf

      9. 限制對(duì)特定網(wǎng)絡(luò)(或 IP 地址)的訪問

      如果您希望您的站點(diǎn)只能由特定的 IP 地址或網(wǎng)絡(luò)查看,請(qǐng)執(zhí)行以下操作:

      要允許特定網(wǎng)絡(luò)訪問您的站點(diǎn),請(qǐng)?jiān)?Allow 指令中提供網(wǎng)絡(luò)地址。

      Options None AllowOverride None Order deny,allow Deny from all Allow from 10.10.0.0/24

      要允許特定 ip-address 訪問您的站點(diǎn),請(qǐng)?jiān)?Allow 指令中提供 ip-address。

      Options None AllowOverride None Order deny,allow Deny from all Allow from 10.10.1.21

      10.不顯示或發(fā)送Apache版本(設(shè)置ServerTokens)

      默認(rèn)情況下,服務(wù)器 HTTP 響應(yīng)標(biāo)頭將包含 apache 和 php 版本。類似于以下內(nèi)容。這是有害的,因?yàn)槲覀儾幌M粽咧谰唧w的版本號(hào)。

      Server: Apache/2.2.17 (Unix) PHP/5.3.5

      為避免這種情況,請(qǐng)?jiān)?httpd.conf 中將 ServerTokens 設(shè)置為 Prod。這將顯示“Server: Apache”,沒有任何版本信息。

      # vi httpd.conf ServerTokens Prod

      以下是可能的 ServerTokens 值:

      ServerTokens Prod?displays “Server: Apache”

      ServerTokens Major?displays “Server: Apache/2”

      ServerTokens Minor?displays “Server: Apache/2.2”

      ServerTokens Min?displays “Server: Apache/2.2.17”

      ServerTokens OS?displays “Server: Apache/2.2.17 (Unix)”

      ServerTokens Full?displays “Server: Apache/2.2.17 (Unix) PHP/5.3.5” (如果您未指定任何 ServerTokens 值,則為默認(rèn)值)

      除了以上 10 條提示之外,請(qǐng)確保保護(hù)您的 linux 操作系統(tǒng)。如果您的操作系統(tǒng)不安全,那么保護(hù)您的 apache 毫無意義。此外,始終保持您的 apache 版本是最新的。最新版本的 apache 包含所有已知安全問題的修復(fù)程序。確保經(jīng)常查看您的 apache 日志文件。

      Apache linux web前端

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。

      上一篇:Excel2003如何制作考勤表(excel2007怎么制作考勤表)
      下一篇:微信二維碼(微信二維碼收款限額是多少)
      相關(guān)文章
      亚洲国产aⅴ成人精品无吗| 亚洲国产精品久久久天堂 | 亚洲国产成人精品女人久久久 | 亚洲人成电影网站国产精品 | 午夜亚洲国产精品福利| 色欲aⅴ亚洲情无码AV蜜桃| 亚洲日韩久久综合中文字幕| 中中文字幕亚洲无线码| 亚洲剧场午夜在线观看| 亚洲欧洲免费视频| 久久久久亚洲Av无码专| 亚洲国产成人九九综合| 亚洲酒色1314狠狠做| 亚洲乱码中文字幕手机在线| 国产AV日韩A∨亚洲AV电影| AV激情亚洲男人的天堂国语| 亚洲网红精品大秀在线观看| 亚洲美女激情视频| 亚洲精品视频观看| 亚洲一卡二卡三卡四卡无卡麻豆| 亚洲成a人片毛片在线| 久久精品国产亚洲夜色AV网站| 亚洲国产精品无码久久久不卡 | 亚洲啪啪综合AV一区| 国产亚洲真人做受在线观看| 亚洲国产精品VA在线看黑人 | 亚洲啪AV永久无码精品放毛片| 亚洲小说图区综合在线| 亚洲高清无在码在线电影不卡| 亚洲美女aⅴ久久久91| 亚洲五月综合缴情婷婷| 亚洲色大成WWW亚洲女子| 在线亚洲高清揄拍自拍一品区| 亚洲av无码专区在线电影天堂| 国产精品亚洲天堂| 亚洲乱码中文字幕手机在线 | 亚洲一卡2卡4卡5卡6卡在线99| 中文字幕亚洲综合小综合在线 | 国产精品无码亚洲精品2021| www国产亚洲精品久久久| 亚洲中文字幕无码爆乳|