Chinaunix首页 | 论坛 | 博客
  • 博客访问: 128011
  • 博文数量: 38
  • 博客积分: 2510
  • 博客等级: 少校
  • 技术积分: 385
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-14 17:13
文章分类

全部博文(38)

文章存档

2009年(3)

2008年(35)

我的朋友

分类:

2008-11-14 17:41:05

前言:

TCP Wrappers 在 Unix 或 Linux 世界中已經使用了很多年。 它是用來限制遠端IP Address權限,和是否能夠獲得基於TCP的服務。 telnetd 和 ftpd 都是 TCP services,當然還有很多。 有了 TCP Wrappers,你就可以控制那些IP Address可以使用 telnetd 服務,和那些不可以。 在沒有 ssh 之前,TCP Wrappers 可說是謂一的保賬系統安全的方法。 需然,這個是一個很老舊的系統安全功能,但到現在還有很多人在使用它。 不要看它舊,最起碼Hacker沒辦法知道你容許那一個IP Address可以使用TCP Service。 就算知道了IP Address,Hacker們也不能除意使用你的IP Address,Hacker 假裝IP Address也沒用。

由 Solaris 9 開始,TCP Wrappers已經開始加入到系統中。對inetd為基礎的服務進行保護,但系統預設是沒有打開這個功能。所以,你如果需要這個TCP Wrappers功能,你便需要人手打開TCP Wrappers對那一個 TCP Services產生作用。

TCP Wrappers 的 IP 限制規則,是透過 /etc/hosts.allow 和 /etc/hosts.deny 來決定。
要了解更多 TCP Wrappers 的 IP 限制規則方法,可在 Solaris 10 系統中,輸入以下指令:

$ man -M /usr/sfw/man -s 4 hosts_access

Solaris 10 以前的版本:

Soalris 10 和 Solaris 9或以前的版本,啟動 TCP Wrappers 方法是有很大的分別。
Solaris 9或以前的版本如果需要啟動 TCP Wrappers,就必須要修改 /etc/inetd.conf 來達到目標。
可參考:

Service Management Facility (SMF):

Solaris 10 已經開始使用 Service Management Facility (SMF) 來代替修改 inetd.conf 來管理 TCP Service。所以,如果你已前習慣了修改 inetd.conf 來控制 daemon 的運作的話,在使用 Solaris 10 後你可能會覺得很難使用。 新的方法可以使用 inetadm 來處理 deamon的運作。

inetadm 的簡單介紹:

檢查 daemon (services) 是否安裝或啟動

舊版本 Solaris Solaris 10

編輯 /etc/inetd.conf 來檢查安裝了什麼 daemon和啟動了什麼 daemon

執行 inetadm 便可檢查安裝了什麼 services 和啟動了什麼 services

執行 inetadm -l 便可以了解該 services 的詳細資料。 e.g. : inetadm -l telnet

svcadm 的簡單介紹:

停止 Telnetd service 運作:

舊版本 Solaris Solaris 10

編輯 /etc/inetd.conf

把要停用的 services 前加上一個 #

telnet stream tcp6 nowait root /usr/sbin/in.telnetd in.telnetd

改成

#telnet stream tcp6 nowait root /usr/sbin/in.telnetd in.telnetd

離開編輯程式並存檔

執行 /etc/init.d/inetsvc restart

$ inetadm | grep telnet
enable online svc:/network/telnet:default

$ svcadm disable network/telnet

開啟 Telnetd service 運作:

舊版本 Solaris Solaris 10

編輯 /etc/inetd.conf

把要啟用的 services 前的 # 號刪去

#telnet stream tcp6 nowait root /usr/sbin/in.telnetd in.telnetd

改成

telnet stream tcp6 nowait root /usr/sbin/in.telnetd in.telnetd

離開編輯程式並存檔

執行 /etc/init.d/inetsvc restart

$ inetadm | grep telnet
enable online svc:/network/telnet:default

$ svcadm enable network/telnet

設定 Telnetd 使用 TCP Wrappers:

以下例子,將會說明如何使用 TCP Wrappers 在 telnetd 上,並且使用 SMF 來操作。
如果要了解更多TCP Wrappers在Solaris 10上的其它操作資料,可參考:

1. 查詢 Telnetd 的 services 全名。

$ inetadm | grep telnet
enabled online svc:/network/telnet:default

services 名為 network/telnet

2. 檢查 telnet 的 tcp_wrappers 功能是否開啟,如果是FALSE就代表還未開啟。

$ inetadm -l telnet | grep tcp_wrappers
tcp_wrappers=FALSE

3. 開啟 telnet 的 tcp_wrappers 功能。

$ inetadm -m telnet tcp_wrappers=TRUE

4. 再檢查 telnet 的 tcp_wrappers 功能是否開啟,如果是TRUE就代表已經開啟。

$ inetadm -l telnet | grep tcp_wrappers
tcp_wrappers=TRUE

5. 檢查 telnetd 的執行程式名稱。

$ inetadm -l telnet | grep exec
exec="/usr/sbin/in.telentd"

執行程式為 in.telentd

6. 建立 /etc/hosts.deny,用來拒絕任何人使用 telnet services,否則你還是可以 telnet 進去 server裡。

hosts.deny 是 TCP Wrappers 設定檔,用來設定那些services需要拒絕 。

備注: ::DENY

編輯 /etc/hosts.deny,並把 in.telnetd 加進去。

in.telnetd:ALL:DENY

離開並存檔

7. 建立 /etc/hosts.allow,用來允許某些 IP 可以使用 telnet services,否則你便不可以 telnet 進去 server裡。

hosts.allow 是 TCP Wrappers 設定檔,用來設定某些IP允許使用某些services 。

備注: ::ALLOW

以下例子,將會允許 202.134.101.110 和 192.168.30.1 至 192.168.30.255 使用 telnet services。

編輯 /etc/hosts.allow,並把 in.telnetd 加進去。

in.telnetd:202.134.101.110:ALLOW
in.telnetd:192.168.30.0/255.255.255.0:ALLOW

離開並存檔

 

設定已經完成,你可以開始測試 Telnet 功能了。

阅读(2270) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~