• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 一個安全Web服務器的安裝(二)

    發表于:2007-07-04來源:作者:點擊數: 標簽:
    想定 Inte .net 需要配置一臺自己的WEB 服務器 ,由于沒有自己的 安全 基礎設施,應該在WEB服務器前面放一臺配置了相應過濾規則的路由器。這臺WEB服務器僅僅提供WWW和HTTPS服務,但是,它當然也需要具有遠程控制特性。另外,這臺WEB服務器最好還能夠發送郵件

    想定

      Inte.net需要配置一臺自己的WEB服務器,由于沒有自己的安全基礎設施,應該在WEB服務器前面放一臺配置了相應過濾規則的路由器。這臺WEB服務器僅僅提供WWW和HTTPS服務,但是,它當然也需要具有遠程控制特性。另外,這臺WEB服務器最好還能夠發送郵件。由于Linux服務器和網頁是由三個不同的管理員維護的,所有的管理操作都應該保證在以后進行日志分析是更容易理解。

      實現

      前面段落中說明的安全WEB服務器的需求如何實現呢?下面的例子說明了一種在SuSE Linux 6.4發布的服務器上的實現方法。為了實現上述想定,我們決定選擇SSH管理和Apache WEB服務器。

      第一步:配置路由器

      每一個流行的路由器都提供配置過濾列表的功能。您必需配置下面的簡單規則:


      +------------------------------------------------------------------------------+
      |------------------------------過濾規則--------------------------------------|
      +-------------------------+-------------------------+-------------------------+
      |----------來源----------|-----------目標----------|---------服務-----------|
      +-------------------------+-------------------------+-------------------------+
      |任何位置--------------|web服務器------------|WWW,HTTPS,UDP highport,|
      |--------------------------|---------------------------|ICMP types 0 + 3-----|
      +-------------------------+-------------------------+--------------------------+
      |管理員-----------------|web服務器------------|SSH---------------------|
      +-------------------------+-------------------------+-------------------------+
      |web服務器-----------|任何位置---------------|DNS, SMTP-----------|
      +-------------------------+-------------------------+-------------------------+
      |web服務器-----------|路由器------------------|SSH或telnet----------|
      +-------------------------+-------------------------+-------------------------+
      路由器的操作手冊會提供如何進行上述配置的詳細信息。這里我建議使用Cisco路由器,因為對于這種情況它非常容易配置,并且還在IOS的第12版以后提供了SSH的加密服務。

      第二步:安裝Linux服務器

      執行SuSE 6.4的標準安裝。處于安全考慮,至少應為/、/var、/tmp、/home和/usr/local安裝5個分區。后面會定義一些mount這些分區的特殊選項,這些選項可以保證系統具有更高的本地安全性能。

      現在是選擇需要安裝哪些程序包的時候了。選擇最小系統安裝,然后手工加入下面一些必要的程序包:

      在Basis (a)中選擇compat
      在Applications (ap)中選擇sudo
      在Network (n)中選擇apache, bindutil;去掉postfix和sendmail
      在Security (sec)中選擇firewals, hardensuse, mod_ssl, scanlogd, seclearcase/" target="_blank" >ccheck, secumod, tripwire.

      其它一些您認為需要的程序包,如數據庫和為Apache設計的一些模塊。然后完成安裝。

      第三步:更新

      在配置之前,檢查一下是否可以獲得這些安裝包的更新版本,如果有,需要的話最好進行更新。
      您可以在這里找到SuSE 6.4的更新信息。

      第四步:Linux的本地配置

      在開始真正工作之前,必需首先執行所有的諸如輸入服務器名、配置網絡接口和設置用戶等標準Linux配置。在初始情況下,所有不需要的服務都是非活動狀態的。特權程序的授權回收工作并不是必需的,您可以通過harden_suse工具簡單地實現這個任務:
      erde#harden_suse yes
      這個命令在很多地方更改了系統的配置,這些更改都記在/etc/harden_suse.log日志文件中,這些操作可以過/etc/undo_harden_suse腳本予以恢復。使用其它Linux發布的用戶可應使用Bastille腳本或者其它類似的程序。

      隨后,所有網絡訪問服務(除了SSH)都被禁止,僅僅保留了下面的授予特權的suid和sgid程序:
    erde# find / -perm -04000 -type f -exec ls -ld {} ;
    -rwsr-x--- 1 root trusted 23840 Mar 11 11:26 /bin/ping
    -rwsr-x--- 1 root trusted 30750 Mar 11 11:37 /bin/su
    -rwsr-x--- 1 root trusted 21268 Mar 11 11:10 /usr/bin/crontab
    -rwsr-xr-x 1 man root 85460 Mar 11 11:24 /usr/bin/man
    -rwsr-xr-x 1 root root 15308 Mar 11 11:26 /usr/bin/rcp
    -rwsr-xr-x 1 root root 11052 Mar 11 11:26 /usr/bin/rlogin
    -rwsr-xr-x 1 root root 8104 Mar 11 11:26 /usr/bin/rsh
    -rwsr-x--- 1 root shadow 38340 Mar 11 11:50 /usr/bin/gpasswd
    -rwsr-x--- 1 root trusted 22184 Mar 11 11:50 /usr/bin/newgrp
    -rwsr-xr-x 1 root shadow 27920 Mar 11 11:50 /usr/bin/passwd
    -rwsr-x--- 1 root trusted 56600 Mar 11 18:41 /usr/bin/sudo
    -rwsr-xr-x 1 root root 20300 Mar 11 11:26 /usr/sbin/traceroute
    -rwsr-xr-x 1 root root 6132 Mar 11 09:36 /usr/lib/pt_chown
    erde# find / -perm -02000 -type f -exec ls -ld ;
    -rwxr-sr-x 1 root tty 9452 Mar 11 11:26 /usr/bin/write
    -rwxr-sr-x 1 root tty 9796 Mar 11 11:49 /usr/bin/wall

      下一階段工作是編輯全局配置文件/etc/rc.config,將下面腳本行中的“no”改成“yes”:

    START_HTTPD=“yes”
    START_FW=“yes”
    START_SCANLOGD=“yes”

    這樣就會保證Apache、Scanlogd和SuSE防火墻在計算機啟動時自動執行?,F在我們繼續配置本地防火墻,將/etc/rc.config.d/firewall.rc.config(個別變量的細節描述在這個文件中可以找到)文件中的對應行改成下面的形式:

    FW_DEV_WORLD=“eth0” # query no. 2
    FW_SERVICES_EXTERNAL_TCP=“www https” # query no. 9
    FW_SERVICES_TRUSTED_NETS=“1.1.1.0/24” # query no. 10 - 1.1.1.0 is the netswheresthe administrators connect from.
    FW_TRUSTED_SERVICES_TCP=“ssh” # query no. 10

     ?。痵bin/SuSEfirewall命令可以更新防火墻規則。這些規則會在每個系統啟動周期中載入。

      現在我們以下面的形式集成SuSE專用的安全模塊:
    erde# cat >> /sbin/init.d/boot.local
    insmod secumod hardlink=1 symlink=1 pipe=1 trace=1 systable=1 logging=1
    ^D

      當系統引導時,這個模塊會被加載,它配置用來防止Symlink、Hardlink、Pipe和一些 UNIX特有的攻擊形式。

      第五步:配置Apache

      WEB軟件和頁面時服務器的核心。我們必需確保沒有人可以訪問未授權的數據或者改變頁面。為了這個目的,頁面必需進行特殊的防護,然后要給予Apache安全的配置。

      所有的頁面都必需由網站管理員統一管理,并且對除他以外的所有人都是本地寫保護的。WEB服務器最好以非頁面管理員身份運行,這樣即使入侵者侵入WEB服務器,他也沒有足夠的權限更改頁面。這樣,就需要設置一個用戶,還要產生一個cron工作,這個定時工作要保證所有的頁面修改權只屬于頁面管理員并且具有正確的授權。


      erde# useradd -m wwwdocs
      erde# cat > /etc/cron.daily/wwwdocs
      #!/bin/sh
     ?。痓in/chown -R -h wwwdocs /usr/local/httpd/htdocs/*
     ?。痓in/chmod -R go-w /usr/local/httpd/htdocs/*
     ?。痓in/chmod -R a+r /usr/local/httpd/htdocs/*
      ^D
      erde# chmod 700 /etc/cron.daily/wwwdocs
      由于Apache可能已經預先配置好了,所以可能根本不需要進行重新配置。當然,開始的時候/etc/httpd/httpd.conf文件中的MinSpareServers、MaxSpareServers和StartServers的值應該被正確設置。

      MaxClients選項可以用來避免connect-denial-of-service攻擊。應該注意的是:如果這個選項設置的太低,一般訪問者的訪問也可能會被拒絕;如果太高,管理員在日志跟蹤和入侵事件發生時的應對就會顯得比較困難。除了自己嘗試以外,好象也沒有什么確定合適數量的更好建議。

      應該關掉ServerSignature選項,這樣訪問一個不存在的頁面時就不會回應您所使用的軟件和版本號信息。但是這樣也解決不了多大的問題,因為HTTP頭中包含這些——甚至更多——信息。

      應該禁止/hilfe/、/doc/、/cgi-bin-sdb/、/sdb/和/manual/的別名。下面顯示了標準配置更改后的大概樣子:(“diff -u0”)

      --- httpd.conf.orig Sun Apr 9 19:37:44 2000
      +++ httpd.conf Sun Apr 9 19:42:57 2000
      @@ -141,2 +141,2 @@
      -MinSpareServers 1
      -MaxSpareServers 1
      +MinSpareServers 3
      +MaxSpareServers 10
      @@ -148 +148 @@
      -StartServers 1
      +StartServers 5
      @@ -157 +157 @@
      -MaxClients 150
      +MaxClients 100
      @@ -401 +401 @@
      -ServerAdmin root@localhost
      +ServerAdmin webdocs@echte-domain.de
      @@ -415 +415 @@
      -#ServerName hawking.suse.de
      +ServerName www.echte-domain.de
      @@ -485 +485 @@
      -UserDir public_html
      +#UserDir public_html
      @@ -646 +646 @@
      -ServerSignature On
      +ServerSignature Off
      @@ -665,11 +664,0 @@
      -Alias /hilfe/ /usr/doc/susehilf/
      -Alias /doc/ /usr/doc/
      -Alias /cgi-bin-sdb/ /usr/local/httpd/cgi-bin/
      -Alias /sdb/ /usr/doc/sdb/
      -Alias /manual/ /usr/doc/packages/apache/manual/
      -
      -
      - Options FollowSymLinks
      - AllowOverride None
      -
      -
      @@ -697,9 +685,0 @@
      -# cgi-bin for SuSE help system
      -# using SetHandler
      -
      -
      -AllowOverride None
      -Options +ExecCGI -Includes
      -SetHandler cgi-script
      -
      -
      @@ -981,4 +961,4 @@
      -#
      -# Deny from all
      -# ErrorDocument 403
      http://phf.apache.org/phf_abuse_log.cgi
      -#
      +
      + Deny from all
      + ErrorDocument 403
      http://phf.apache.org/phf_abuse_log.cgi
      +
      SSL的激活和證書的產生在/usr/doc/packages/apache/README.SuSE文件中描述。

    提示:SSL證書應該一個密碼保護起來,以減少攻擊者成功入侵后將其拷貝并濫用的可能性(很少發生!)。

      作為一個一般的規則,應該保證沒有在任何地方使用符號符號連接(Symlinks),因此要禁止FollowSymLinks選項。所有的CGI都放在cgi-bin目錄下,不允許放在其它任何地方,甚至也不允許在其它目錄下執行。為了做到這一點,請不要使用ExecCGI配置選項。

      為了禁止訪問某些文件區,應該在這些目錄下分別加入一個命名為.htaccess的文件,并在中加入下面的文本行:order deny,allow deny from all


    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>