歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Unix知識 >> Unix教程

構築Unix系統防火牆體系的多種解決方案

解決方案

  近一段時間,某銀行地市級分行計算機中心的某些服務器,如儲蓄服務器、本地服務器多次出現了相同的奇怪現象:正常運行的計算機被意外關掉。

  經檢查機器的各方面資源都沒有明顯的故障,而且相同配置的服務器也只是個別機器被關掉,最關鍵的是被關的機器上除了關機信息外沒有其他報錯信息。綜合種種跡象確定,是市分行下屬的某縣支行機房中有人用telnet登錄到市分行的服務器,進入一個菜單用戶後,執行了菜單中的關機選項而關掉了正在運行的機器。通過這件事例,使人警覺到利用遠程計算機進行高科技作案的潛在危險。

  目前銀行系統的計算機網絡發展迅猛,由於全省乃至全國通存通兌的需要,地市級分行的計算機系統對上要與省分行的計算機網絡相連,對下連通了全市所轄的數十家縣市工行或辦事處的計算機;又由於代理業務和電子商務的需要,銀行內部網絡必須與越來越多的被代理企事業單位的計算機相連。這樣一個龐大的網絡,要防范“黑客”的偷襲確實有一定的困難。為了使Unix服務器或前置機能安全正常地運行,必須及時地根據業務的不同應用和需求,有針對性地構築Unix系統內的防火牆體系,對遠程登錄和遠程數據傳輸進行過濾,從而實現Unix防火牆的作用, 同時能保障合法計算機遠程業務操作的正常進行。下面把多種防火牆體系的具體實現方案介紹給讀者。

  方案一 禁止其他任何計算機向本機的遠程登錄和遠程數據傳輸。

  設置方法 進入超級用戶,用vi打開/etc/inetd.conf文件,用"#"字封閉ftp、telnet、login、exec打頭的四行,然後執行/etc/inetd命令,即可生效。

  特點 網絡中其他計算機都無法遠程登錄和傳輸數據到本機,但本機卻可以登錄到其他計算機,也可向其他計算機收發數據。對本機來說,遠程登錄和數據傳輸變為單向操作,雖然其設置非常簡單,但它的應用范圍極為有限。

  方案二 禁止其他任何計算機向本機的遠程登錄,允許其他計算機向本機部分用戶的遠程傳輸數據。

  設置方法 以允許用ftp到本機的普通用戶而禁止用ftp到超級用戶為例。

  (1)進入超級用戶,用vi打開/etc/inetd.conf文件,用“#”字封閉telnet、login、 exec打頭的三行,並放開ftp,然後執行/etc/inetd命令。

  (2)用vi修改/etc/passwd文件,把第一行

  root:x:0:1:Superuser:/:

  改為 root:x:0:1:Superuser:/:/bin/shcheck

  (3)用vi創建/etc/shcheck文件,內容如下

  /bin/sh /etc/profile

  /bin/sh /.profile

  /bin/sh -sh

  (4)修改/etc/profile文件,把其中的一行

  -sh | -rsh | -ksh | -rksh)

  改為 -sh | -rsh | -ksh | -rksh | /etc/profile)

  (5)執行命令

  chmod a-w /etc/shcheck

  chmod u+x /etc/shcheck

  特點 仍禁止其他任何計算機向本機的telnet、login的登錄, 有條件地放開用ftp進行雙向傳輸數據。需要特別注意的是:必須按以上方法禁止其他機器用ftp進入到本機的超級用戶,否則其他機器就可以用ftp接收本機的inetd.conf文件,經修改後再用ftp傳回本機,以達到放開本機telnet、login等遠程服務的目的。

  方案三 以IP地址為對象,允許部分計算機向本機的遠程登錄,允許其他計算機向本機普通用戶的遠程傳輸數據。

  設置方法 設置步驟如下:

  (1)進入超級用戶,用vi打開/etc/inetd.conf文件,放開telnet、login、ftp的功能,然後執行/etc/inetd命令。

  (2)參照方案二中的(2)、(3)兩步的做法進行設置。

  (3)把/etc/profile文件修改成以下內容

  trap “”1 2 3

  umask 022

  fhq=‘netstat -n|grep ESTABLISHED|awk’{print $5}'|cut -f1-4 -d. |head -1'

  fhq=“(”$fhq“)”

  fhqchk=‘grep $fhq /etc/.safe'

  if [“$fhq”=“$fhqchk”]

  then

  echo

  else

  echo “警告:你的地址為$fhq禁止非法登錄!”

  exit

  fi

  case “$0” in

  -sh | -rsh | -ksh | -rksh | /etc/profile)

  [“X$HUSHLOGIN” !=“XTRUE”] && [ -s /etc/motd ] && {

  trap : 1 2 3

  echo “”# skip a line

  cat /etc/motd

  trap “”1 2 3

  }

  if [“X$HUSHLOGIN”!=“XTRUE”]

  then

  [ -x /usr/bin/mail ] && { # if the program is installed

  [ -s “$MAIL”] && echo “\you have mail”

  }

  if [“$LOGNAME”!=“root”-a -x /usr/bin/news ] # be sure it's there

  then news -n

  fi

  fi

  ;;

  -su)

  :

  ;;

  esac

  trap 1 2 3

  (4)創建/etc/.safe文件,加入允許登錄的計算機的IP地址,一個地址占一行,格式如下所示

  (195.1.2.3)

  (194.10.2.4)

  (5)執行下列命令

  chmod a-w /etc/shcheck /etc/.safe

  chmod u+x /etc/shcheck

  chmod 0100 /bin/su

  特點 允許經過定義的部分計算機用telnet、login登錄,允許其他計算機用ftp進入本機的普通用戶進行數據傳輸,未經定義的計算機將被禁止登錄到本機。本方案的應用范圍比較廣,可使經過定義的多台計算機形成一個內部寬松而對外嚴防的安全系統。

Copyright © Linux教程網 All Rights Reserved