歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux綜合 >> Linux資訊 >> 更多Linux

用FWTK配置Linux防火牆

  FWTK是一套用來建立和維護內部網絡防火牆的工具集。它包含了許多獨立的組件,大部分組件是代理應用程序,如telnet、FTP、rlogin、 sendmail、HTTP、X windows等。與Squid、Socks等同類軟件相比,它的突出優點是不但可以從本地和目標地的主機名、IP地址來指定訪問規則,而且可以根據訪問操作來允許或拒絕某個執行命令,充分地體現了應用層網關的優勢。本文以telnet為例介紹如何利用FWTK配置Linux上的代理服務器型防火牆。 系統環境和設計目標 系統配置環境:Red Hat Linux 6.1、FWTK v2.1、雙網卡(一塊用於外部網絡,一塊用於內部網絡),設192.9.200.* 為外部網絡,10.1.1.*為內部子網。 設計目標: ● 內部網絡用戶可以telnet到任意外部主機上; ● 外部網絡用戶必須在經過認證許可後才可以telnet到內部主機上; ● 只允許10.1.1.5 telnet到防火牆主機上(用於遠程管理); ● 所有用戶通過防火牆代理時,只允許使用普通用戶權限; ● 限制超時設置為300秒鐘; ● 可以自行編輯防火牆上的提示信息。 安裝FWTK 1.新建目錄/home/fwtk,將fwtk.tar.z拷貝到該目錄中,並解包:tar xzvf fwtk.tar.z。 2.准備編譯: ● 用Makefile.config.linux替換掉Makefile.config; ● 將Makefile.config中AUXLIB=-lcrypt一行前的#號去掉; ● 在auth/Makefile中的CFLAGS=-I…$(COPT)一行後添加-I /usr/inclue/db1。 3.編譯:make。 4.安裝:make install,所有的可執行文件默認安裝在/usr/local/etc目錄中。 制作配置文件 1.配置/etc/services。給telnet代理(簡稱tn-gw)增加端口號: tn-gw 3333/tcp 2.配置/etc/inetd.conf。將通常的telnet端口移至3333,telnet代理在23號端口監聽(用高端口保護正常telent服務,netacl是FWTK提供的TCP包裝程序,功能和tcpd相似): telnet stream tcp nowait root /usr/local/etc/tn-gw tn-gw tn-gw stream tcp nowait root /usr/local/etc/netacl in.telnetd 執行命令killall -HUP inetd使改動生效。 3.配置/usr/local/etc/netperm-table(其中.txt文件的內容由自己編寫,但一定要保證和Directory的路徑一致): ● 控制登錄防火牆主機(正常telnet)部分: #允許本地登錄 netacl-in.telnetd: permit-hosts 127.0.0.1 -exec /usr/sbin/in.telnetd #只允許10.1.1.5遠程登錄到防火牆 netacl-in.telnetd: permit-hosts 10.1.1.5 -exec /usr/sbin/in.telnetd #顯示不允許登錄時的拒絕信息 netacl-in.telnetd: permit-hosts * -exec /bin/cat /home/guest/notelnet.txt netacl-in.telnetd: timeout 300 #超時設置 ● 控制通過防火牆主機(telnet代理)部分(最好在/etc/passwd中將guest的/bin/bash改成/bin/false): #認證服務器IP和端口號 tn-gw: authserver 127.0.0.1 7777 tn-gw: directory /home/guest #工作目錄 tn-gw: groupid guest #工作組名 tn-gw: userid guest #工作用戶名 # 歡迎信息 tn-gw: welcome-msg tn-welcome.txt # 對拒絕訪問者的信息 tn-gw: denial-msg tn-deny.txt # 對受限目的拒絕訪問者的信息 tn-gw: denydest-msg tn-denydest.txt tn-gw: help-msg tn-help.txt # 幫助信息 tn-gw: timeout 300 # 設定超時的時間 tn-gw: prompt tn-gw-> # 提示符 # 允許10.1.1.*機器登錄 tn-gw: permit-hosts 10.1.1.* -dest * -passok # 允許192.9.200.*機器登錄,但要求進行身份認證 tn-gw: permit-hosts 192.9.200.* -dest 10.1.1.* -auth 4.配置認證服務器 ● 配置/etc/services,給authsrv增加端口號: authsrv 7777/tcp ● 配置/etc/inetd.conf,以inted進程啟動authsrv: authsrv stream tcp nowait root /usr/local/etc/authsrv authsrv 執行killall -HUP inetd使改動生效。 5.配置netperm-table: #允許防火牆主機使用認證服務器 authsrv: hosts 127.0.0.1 #數據庫所在路徑 authsrv: database /usr/local/etc/fw-authdb authsrv: directory /home/guest #工作目錄 authsrv: groupid guest #工作組名 authsrv: userid guest #工作用戶名 authsrv: badsleep 1200 #禁止嘗試注冊的時間 authsrv: timeout 300 #超時設置 authsrv: nobogus true #允許注冊失敗響應 依據以上步驟,同樣可以高效地配置FTP代理(ftp-gw)、郵件代理(smap)、HTTP代理(http-gw)、pop3代理(plug-gw)。




Copyright © Linux教程網 All Rights Reserved