telnet服務(wù)的安全改進(jìn)
下面我們對(duì)telnet服務(wù)的有關(guān)內(nèi)容進(jìn)行了介紹。那么對(duì)于一些系統(tǒng)中telnet服務(wù)的安全問題,我們總是擔(dān)心不止,那么,在這之中,我們?nèi)绾稳ソ鉀Q呢?下面我們就來看看具體的實(shí)施情況吧。首先,了解一下硬件配置和實(shí)施環(huán)境吧。
服務(wù)器:CentOS-5.1(192.168.1.87)
客戶機(jī):FC6(192.168.1.86) Windows XP(192.168.1.88)
雖然telnet的明文傳輸有很大的安全隱患,而且現(xiàn)在基本上也被SSH來取代了,但是為了學(xué)習(xí)還是有必要了解一下,好了,進(jìn)入正題
實(shí)驗(yàn)名:telnet服務(wù)器配置
一、安裝telnet軟件包(通常要兩個(gè)).
1、telnet-client (或 telnet),這個(gè)軟件包提供的是 telnet 客戶端程序;
2、是 telnet-server 軟件包,這個(gè)才是真正的 Telnet server 軟件包!
安裝之前先檢測(cè)是否這些軟件包已安裝,方法如下:
- [root@linuxchao root]#rpm –qa |grep telnet
- telnet-server-0.17-38.e15
如果沒有檢測(cè)到軟件包,需要進(jìn)行安裝,CentOS服務(wù)器模式默認(rèn)已安裝了telnet軟件包,但是服務(wù)器需要telnet-server軟件包才行(安裝包在光盤內(nèi) 也可在在網(wǎng)絡(luò)上下載安裝)
我的是硬盤安裝的CentOS系統(tǒng),所以會(huì)掛載硬盤分區(qū)之后再掛載鏡像,光盤安裝方法相似!
- [root@linuxchao root]mount /dev/hda6 /mnt/da #da是我在/mnt下建立的目錄,hda6分區(qū)為centos鏡像所在
- [root@linuxchao root]mount -t iso9660 -o loop /mnt/da/CentOS-5.1-i386-bin-DVD.iso /mnt/iso #iso目錄也是我建的
- [root@linuxchao root]cd /mnt/iso/CentOS #這個(gè)目錄是rpm包所在的目錄
- [root@linuxchao root]rpm -ivh telnet-server-0.17-38.e15.rpm
上面就安裝好telnet服務(wù)器軟件包了,現(xiàn)在來查看一下.
- [root@linuxchao root]#rpm –qa |grep telnet
- telnet-0.17-38.e15
- telnet-server-0.17-38.e15
#p#二、啟動(dòng)telnet服務(wù)
1、開啟服務(wù)
方法一:使用ntsysv,在出現(xiàn)的窗口之中,將 telnet 勾選起來,然后按下 OK 即可 !
方法二:編輯 /etc/xinetd.d/telnet
- [root@linuxchao root]# vi /etc/xinetd.d/telnet
找到 disable = yes<==就是改這里,將 yes 改成 no 即可!服務(wù)預(yù)設(shè)是關(guān)閉的
方法三:使用chkconfig命令直接開啟
- [root@linuxchao root]chkconfig telnet on
2、激活服務(wù)
telnet 是掛在 xinetd 底下的,所以自然只要重新激活 xinetd 就能夠?qū)?xinetd 里頭的設(shè)定重新讀進(jìn)來,所以剛剛設(shè)定的 telnet 自然
也就可以被激活.
- [root@linuxchao root]# service xinetd restart
- 或者[root@linuxchao root]# /etc/rc.d/init.d/xinetd restart #這個(gè)是比較正規(guī)的方法
#p#三、測(cè)試服務(wù)
- [root@linuxchao root]#telnet localhost
如果配置正確,系統(tǒng)提示輸入遠(yuǎn)程機(jī)器的用戶名和密碼
Login:
Password:
注:默認(rèn)只允許普通用戶,因此可先建立一個(gè)普通用戶來做測(cè)試,不過也可以通過下面的方法來解決root訪問的問題
Telnet root用戶的登入
root 不能直接以 telnet 連接上主機(jī). telnet 不是很安全,默認(rèn)的情況之下就是無法允許 root 以 telnet 登入 Linux 主機(jī)的 .若要
允許root用戶登入,可用下列方法
- [root@linuxchao root]# vi /etc/pam.d/login
- #auth required pam_securetty.so #將這一行加上注釋!
- 或# mv /etc/securetty /etc/securetty.bak
這樣一來, root 將可以直接進(jìn)入 Linux 主機(jī).不過,建議不要這樣做.還可以在普通用戶進(jìn)入后,切換到root用戶,擁有root的權(quán)限!#p#
四、客戶端訪問實(shí)驗(yàn)
基礎(chǔ)由于LINUX為了提高TELNET的安全性和防止未授權(quán)的用戶利用TELNET的BUG
下面我們來看一下二種錯(cuò)誤:
第一種:
- [root@linuxchao ~]# telnet 192.168.1.87
- Trying 192.168.1.87...
- telnet: connect to address 192.168.1.87: No route to host
- telnet: Unable to connect to remote host: No route to host
解決方法:這種問題防火墻沒有允許telnet服務(wù),連接被阻止,默認(rèn)CentOS只允許SSH,所以進(jìn)入其自定義選項(xiàng),在telnet前打個(gè)勾!
第二種
- [root@test xinetd.d]# telnet 172.25.1.3
- Trying 172.25.1.3...
- Connected to 172.25.1.3 (172.25.1.3).
- Escape character is '^]'.
- getnameinfo: localhost: Success
- Temporary failure in name resolution: Illegal seek
- Connection closed by foreign host.
這一個(gè)就是/etc/hosts文件配置問題
解決方法:我在里面加兩個(gè)IP地址,內(nèi)容如下:
- [linuxchao@localhost ~]$ more /etc/hosts
- # Do not remove the following line, or various programs
- # that require network functionality will fail.
- 127.0.0.1localhost.localdomainlocalhost
- ::1localhost6.localdomain6localhost6
- 192.168.1.88
- 192.168.1.86
說明:因?yàn)榭蛻魴C(jī)的名字不好記就沒寫進(jìn)去,內(nèi)容格式應(yīng)為 127.0.0.1 pcname
總結(jié):在使用telnet時(shí)要記得1.打開防火墻對(duì)telnet的限制2./etc/hosts對(duì)客戶機(jī)的限制3.注意/etc/hosts.allow與/etc/hosts.deny兩個(gè)文件
里的內(nèi)容,都有可能會(huì)限制訪問,這里只是局域網(wǎng)測(cè)試就不說多了.#p#
五、Telnet服務(wù)限制
如果原本的默認(rèn)值你并不滿意,那么你可以修改成比較安全一點(diǎn)的機(jī)制.假設(shè)你這個(gè) Linux 是一部主機(jī),而且他有兩塊網(wǎng)絡(luò)接口,分別是
對(duì)外的 192.168.0.1 與對(duì)內(nèi)的212.45.16.5 這兩個(gè),如果你想要讓對(duì)內(nèi)的接口限制較松,而對(duì)外的限制較嚴(yán)格,你可以這樣的來設(shè)定:
- #vi /etc/xinetd.d/telnet
- # 先針對(duì)對(duì)內(nèi)的較為松散的限制來設(shè)定:
- service telnet
- { disable= no <==預(yù)設(shè)就是激活 telnet 服務(wù)
- bind = 212.45.16.5 <==只允許經(jīng)由這個(gè)適配卡的封包進(jìn)來
- only_from = 212.45.16.0/24 <==只允許 210.45.160.0/24 這個(gè)網(wǎng)段的主機(jī)聯(lián)機(jī)進(jìn)來使用 telnet服務(wù)
- .....
- }
- # 再針對(duì)外部的聯(lián)機(jī)來進(jìn)行限制
- service telnet
- {
- disable = no<==預(yù)設(shè)就是激活 telnet服務(wù)
- bind = 192.168.0.1<==只允許經(jīng)由這個(gè)適配卡的封包進(jìn)來
- only_from = 192.168.0.0/16<==只允許 192.168.0.0 ~ 192.168.255.255 這個(gè)網(wǎng)段聯(lián)機(jī)進(jìn)來使用 telnet服務(wù)
- only_from = .edu.cn<==重復(fù)設(shè)定,只有教育網(wǎng)才能聯(lián)機(jī)!
- no_access = 192.168.25.{10,26}<==不許這些 PC 登入
- access_times= 1:00-9:00 20:00-23:59 <==每天只有這兩個(gè)時(shí)段開放服務(wù)
- ......
- }