麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 服務(wù)器 > Ftp服務(wù)器 > 正文

用SRP建立安全的Linux FTP服務(wù)器_Ftp服務(wù)器教程

2024-09-09 20:58:05
字體:
供稿:網(wǎng)友

在中小型異構(gòu)網(wǎng)絡(luò)中,很多用戶選擇Linux作為網(wǎng)絡(luò)操作系統(tǒng),利用其簡單的配置和用戶熟悉的圖形界面提供Internet服務(wù),F(xiàn)TP便是其提供的服務(wù)之一。在眾多網(wǎng)絡(luò)應(yīng)用中,F(xiàn)TP(文件傳輸協(xié)議)有著非常重要的地位。互聯(lián)網(wǎng)一個十分重要的資源就是軟件資源,而各種各樣的軟件資源大多數(shù)都放在Ftp服務(wù)器中。與大多數(shù)互聯(lián)網(wǎng)服務(wù)一樣,F(xiàn)TP也是一個客戶機(jī)/服務(wù)器系統(tǒng)。


FTP是傳統(tǒng)的網(wǎng)絡(luò)服務(wù)程序,在本質(zhì)上是不安全的,因為它們在網(wǎng)絡(luò)上用明文傳送口令和數(shù)據(jù),別有用心的人非常容易就可以截獲這些口令和數(shù)據(jù)。而且,這些服務(wù)程序的安全驗證方式也是有其弱點的,就是很容易受到“中間人”(man-in-the-middle)這種方式的攻擊。所謂“中間人”的攻擊方式,就是“中間人”冒充真正的服務(wù)器接收你傳給服務(wù)器的數(shù)據(jù),然后再冒充你把數(shù)據(jù)傳給真正的服務(wù)器。服務(wù)器和你之間的數(shù)據(jù)傳送被“中間人”轉(zhuǎn)手后做了手腳之后,就會出現(xiàn)很嚴(yán)重的問題。 截獲這些口令的方式主要為暴力破解。另外使用sniffer程序監(jiān)視網(wǎng)絡(luò)封包捕捉FTP開始的會話信息,便可順手截獲root密碼。

 SSH(Secure Shell)是以遠(yuǎn)程聯(lián)機(jī)服務(wù)方式操作服務(wù)器時的較為安全的解決方案。它最初由芬蘭的一家公司開發(fā),但由于受版權(quán)和加密算法的限制,很多人轉(zhuǎn)而使用免費的替代軟件OpenSSH。SSH(Secure Shell)是以遠(yuǎn)程聯(lián)機(jī)服務(wù)方式操作服務(wù)器時的較為安全的解決方案。它最初由芬蘭的一家公司開發(fā),但由于受版權(quán)和加密算法的限制,很多人轉(zhuǎn)而使用免費的替代軟件OpenSSH。 用戶通過SSH可以把所有傳輸?shù)臄?shù)據(jù)進(jìn)行加密,使“中間人”的攻擊方式不可能實現(xiàn),而且也能夠防止DNS和IP欺騙。它還有一個額外的好處是傳輸?shù)臄?shù)據(jù)是經(jīng)過壓縮的,可以加快傳輸?shù)乃俣取SH作用廣泛,既可以代替Telnet,又可以為FTP、POP,甚至為PPP提供一個安全的“通道”。SSH協(xié)議在預(yù)設(shè)的狀態(tài)中,提供兩個服務(wù)器功能:一個是類似Telnet的遠(yuǎn)程聯(lián)機(jī)使用Shell服務(wù)器,即俗稱SSH功能;另一個是類似FTP服務(wù)的SFTP-Server功能,可提供更安全的FTP服務(wù)。

SSH的安全驗證如何工作呢?主要依靠聯(lián)機(jī)加密技術(shù)。從客戶端來看,有以下兩種安全驗證級別:

1.基于口令的安全驗證(ssh1) 只要知道自己的賬號和口令,就可以登錄到遠(yuǎn)程主機(jī)。所有傳輸?shù)臄?shù)據(jù)都將被加密,但是不能保證正在連接的服務(wù)器就是想要連接的服務(wù)器。可能受到“中間人”的攻擊。

2.基于密匙的安全驗證(ssh2) 需要依靠密匙,即用戶必須為自己創(chuàng)建一對密匙,并把公用密匙放在需要訪問的服務(wù)器上。如果要連接到SSH服務(wù)器上,客戶端軟件就會向服務(wù)器發(fā)出請求,請求用密匙進(jìn)行安全驗證。服務(wù)器收到請求之后,先在該服務(wù)器的home目錄下尋找公用密匙,然后把它和發(fā)送過來的公用密匙進(jìn)行比較。如果兩個密匙一致,服務(wù)器就用公用密匙加密“質(zhì)詢”(challenge),并把它發(fā)送給客戶端軟件。客戶端軟件收到“質(zhì)詢”后,就可以用私人密匙解密再把它發(fā)送給服務(wù)器。使用這種方式,用戶必須知道自己密匙的口令。與第一種級別相比,這種級別不需要在網(wǎng)絡(luò)上傳送口令,不僅加密所有傳送的數(shù)據(jù),而且阻止了“中間人”攻擊方式。OpenSSH目前存在兩個安全遺患:口令、密匙破解(利用字典文件去解密碼)和OpenSSH中可能被安放木馬。

一、SRP簡介

SRP全稱:Secure Remote Password(安全遠(yuǎn)程密碼),它是一個開放源代碼認(rèn)證協(xié)議。使用SRP的客戶機(jī)/服務(wù)器不會在網(wǎng)絡(luò)上以明文或加密的方式傳送密碼,這樣可以完全消除密碼欺騙行為。保證口令可以安全地在網(wǎng)絡(luò)上面?zhèn)魉汀;镜乃枷胧牵乐褂斜粍踊蛑鲃泳W(wǎng)絡(luò)入侵者使用字典攻擊。Standford大學(xué)計算機(jī)系開發(fā)了SRP軟件包,提供基于口令認(rèn)證和會話加密的安全機(jī)制,而不需要用戶或者是網(wǎng)管參與密鑰的管理或分發(fā)。SRP為每一個人提供透明的密碼安全,而沒有其他昂貴的起始開銷,比如阻止其他安全套件軟件的使用等。不像其他的安全軟件,SRP套件是一個完全的實現(xiàn)密碼認(rèn)證的軟件包,不是臨時的解決方案。和標(biāo)準(zhǔn)的/etc/shadow-style 安全比較,SRP在每一個方面都是比較好的。使用SRP對用戶和管理者都有以下的好處:

SRP抵制“password sniffing”(口令監(jiān)聽)攻擊。在一個使用SRP認(rèn)證的會話中,監(jiān)聽者不會監(jiān)視到任何在網(wǎng)絡(luò)中傳送的口令。在遠(yuǎn)程登陸軟件中,明文的密碼傳送是最大的安全漏洞。任何人可以用一個簡單的嗅探器(sniffer)工具得到你登陸到遠(yuǎn)程系統(tǒng)的密鑰。
SRP抵制字典攻擊。一個系統(tǒng)保護(hù)簡單的密碼監(jiān)聽是不夠的。如果攻擊者使用強(qiáng)力攻擊,例如字典攻擊等,他們不是簡單的直接監(jiān)聽密碼,而是跟蹤整個的會話過程,然后把整個的信息和字典中的普通密碼對照。甚至有的Kerberos系統(tǒng)對這樣的攻擊也是脆弱的。SRP在抵制字典攻擊的前,就進(jìn)行口令的安全處理了。使用的算法就是在攻擊者進(jìn)行強(qiáng)力攻擊前就要求攻擊者必須執(zhí)行一次不可能的的大的計算。SRP甚至保護(hù)針對口令的“active”攻擊。因此,即使入侵者有能力和網(wǎng)絡(luò)接觸,也不能攻破SRP。所以即使是用戶使用的是很脆弱的口令,也不會讓入侵者很容易地破解的。SRP對于終端用戶是完全透明的。因為沒有所謂的“密鑰鏈”(keyrings)以及“證書”(certificates),或者“票據(jù)”(ticket)。你的口令就是密鑰。SRP簡單地保護(hù)這個密鑰,但要比老的、弱的密鑰保護(hù)機(jī)制要好。SRP從管理者的角度來說也是容易實施的。沒有所謂的“密鑰服務(wù)器”、“證書認(rèn)證”,以及“認(rèn)證服務(wù)器”等這樣的概念。SRP口令文件在標(biāo)準(zhǔn)的Unix口令文件的旁邊,軟件本身協(xié)同這兩個系統(tǒng)口令和SRP口令文件的一致性,沒有多余的維護(hù)系統(tǒng)的機(jī)制。SRP在認(rèn)證一個用戶的時候交換一個加密的密鑰。這就意味著一個登陸會話是可以被加密,而抵制所謂的網(wǎng)絡(luò)監(jiān)聽和惡意地篡改。用戶在遠(yuǎn)程閱讀他們的信箋,是使用128-bit加密后的信息,這是當(dāng)用戶登陸后自動處理的,而用戶本身不必關(guān)心到底需要不需要加密。系統(tǒng)完成加密,然后送到用戶的這里。另外SRP不使用加密進(jìn)行認(rèn)證,這使得它比基于公用/私用密匙的認(rèn)證方式速度更快捷、安全。SRP缺省使用的128-bit的CAST加密算法。CAST-128在RFC2144(http://srp.stanford.edu/srp/rfc2144.txt)中有定義。標(biāo)準(zhǔn)的SRP也支持56-bit的DES以及48位的DES。高級的支持Triple-DES加密手段。本文將介紹如何建立基于SRP的Telnet服務(wù)器。操作環(huán)境Redhat Linux 9.0。

二、軟件下載和編譯

  SRP軟件主頁是:http://srp.stanford.edu 最新版本2.1.1,安裝SRP前先要安裝OpenSSL。

#wget http://srp.stanford.edu/source/srp-2.1.1.tar.gz

#cp  /usr/src/redhat/SOURCES

#./configure --with-openssl=/usr/src/redhat/SOURCES/openssl-0.9.6 /

--with-pam

#make;make install


  三、建立指數(shù)密碼系統(tǒng)EPS

  EPS全稱:Exponential Password System(指數(shù)密碼系統(tǒng)),SRP軟件包中已經(jīng)包括EPS源代碼。

  1. 安裝PAM模塊

     PAM簡介:

  PAM全稱:Pluggable Authentication Module (嵌入式認(rèn)證模塊)。它最初有SUN公司開發(fā);很快被Linux社區(qū)的接受,并且開發(fā)了更多的模塊。其目標(biāo)是提供一套可用于驗證用戶身份的函數(shù)庫,從而將認(rèn)證從應(yīng)用程序開發(fā)中獨立出來。Linux-PAM處理四種獨立的(管理)工作。它們是: 認(rèn)證管理; 帳號管理; 會話期間管理;和密碼管理。

  PAM工作方式:

  (1) 調(diào)用某個應(yīng)用程序,以得到該程序的服務(wù)。

  (2) PAM應(yīng)用程序調(diào)用后臺的PAM庫進(jìn)行認(rèn)證工作。

  (3) PAM庫在/etc/pam.d/目錄中查找有關(guān)應(yīng)用程序細(xì)節(jié)的配置文件,該文件告訴PAM,本應(yīng)用程序使用何種認(rèn)證機(jī)制。

  (4) PAM庫裝載所需的認(rèn)證模塊。

  (5) 這些模塊可以讓PAM與應(yīng)用程序中的會話函數(shù)進(jìn)行通信。

  (6) 會話函數(shù)向用戶要求有關(guān)信息。

  (7) 用戶對這些要求做出回應(yīng),提供所需信息。

  (8) PAM認(rèn)證模塊通過PAM庫將認(rèn)證信息提供給應(yīng)用程序。

  (9) 認(rèn)證完成后,應(yīng)用程序做出兩種選擇:

  將所需權(quán)限賦予用戶,并通知用戶。

  認(rèn)證失敗,并通知用戶。

    PAM工作流程見圖1。

 

   圖1 PAM工作流程

  PAM具體使用方法:

#cd /usr/src/redhat/SOURCES/srp-2.1.1/base/pam_eps.

#install -m 644 pam_eps_auth.so pam_eps_passwd.so /lib/security


  上面命令會在/lib/security 目錄下安裝PAM模塊。然后使用命令:“/usr/local/bin/tconf”創(chuàng)建/etc/tpasswd 和 /etc/tpasswd.conf文件。

2. 使用EPS PAM模塊進(jìn)行密碼驗證

  (1) 首先備份 /etc/pam.d/system-auth文件

  (2) 修改 /etc/pam.d/system-auth文件如下形式:

auth required /lib/security/pam_unix.so likeauth nullok md5 shadow

auth sufficient /lib/security/pam_eps_auth.so

auth required /lib/security/pam_deny.so

account sufficient /lib/security/pam_unix.so

account required /lib/security/pam_deny.so

password required /lib/security/pam_cracklib.so retry=3

password required /lib/security/pam_eps_passwd.so

password sufficient /lib/security/pam_unix.so nullok use_authtok md5 shadow

password required /lib/security/pam_deny.so

session required /lib/security/pam_limits.so

session required /lib/security/pam_unix.so

  

  注意上面第一行黑體字表示PAM的eps_auth模塊可以滿足認(rèn)證需求。第二行黑體字表示PAM 的pam_eps_passwd.so 模塊用來進(jìn)行密碼管理。

  (3) 將標(biāo)準(zhǔn)密碼轉(zhuǎn)換為EPS格式

  (4)   /etc/pam.d/system-auth 配置文件的模塊pam_eps_passwd.so 將EPS版本的密碼驗證字符串寫入/etc/tpasswd 文件中。 修改 /etc/pam.dpasswd文件如下形式:

auth required /lib/security/pam_stack.so service=system-auth

account required /lib/security/pam_stack.so service=system-auth

password required /lib/security/pam_stack.so service=system-auth

  四、啟動SRP版本下的Ftp服務(wù)器

  (1)進(jìn)入SRP源代碼FTP子目錄,分別建立Ftp服務(wù)器文件和FTP客戶端文件:

#cd /usr/src/redhat/SOURCES/srp-2.2.1/ftp

#make;make install


  (2)建立超級訪問程序/etc/xinetd.d/srp-ftpd 內(nèi)容如下:

service ftp

{

socket_type = stream

wait = no

user = root

server = /usr/local/sbin/ftpd

log_on_success += DURATION USERID

log_on_failure += USERID

nice = 10

disable = no

}


  (3)使用命令從新啟動xinetd

#killall -USR1 xinetd


  (4)建立/etc/pam.d/telnet 文件,內(nèi)容如下:

 #%PAM-1.0

auth required /lib/security/pam_listfile.so item=user /

sense=deny file=/etc/ftpusers onerr=succeed

auth required /lib/security/pam_stack.so service=srp-ftp

auth required /lib/security/pam_shells.so

account required /lib/security/pam_stack.so service=srp-ftp

session required /lib/security/pam_stack.so service=srp-ftp

到此為止現(xiàn)在就建立了一個使用SRP服務(wù)的Ftp服務(wù)器。首先在本地進(jìn)行試驗。下面是一個典型會話:

$$ /usr/local/bin/ftp localhost

Connected to localhost.intevo.com.

220 k2.intevo.com FTP server (SRPftp 1.3) ready.

SRP accepted as authentication type.

Name (localhost:kabir): cao

SRP Password: xxxxxxxx

SRP authentication succeeded.

Using cipher CAST5_CBC and hash function SHA.

200 Protection level set to Private.

232 user kabir authorized by SRP.

230 User kabir logged in.

Remote system type is UNIX.

Using binary mode to transfer file


  如果希望在其他Linux計算機(jī)使用FTP登錄到SRP服務(wù)器,需要安裝SRP服務(wù)支持和SRP客戶機(jī)軟件。方法是和在SRP服務(wù)器端相同的。

  使用SRP的FTP服務(wù)中非常好下面的密碼公式:

NONE (1)

BLOWFISH_ECB (2)

BLOWFISH_CBC (3)

BLOWFISH_CFB64 (4)

BLOWFISH_OFB64 (5)

CAST5_ECB (6)

CAST5_CBC (7)

CAST5_CFB64 (8)

CAST5_OFB64 (9)

DES_ECB (10)

DES_CBC (11)

DES_CFB64 (12)

DES_OFB64 (13)

DES3_ECB (14)

DES3_CBC (15)

DES3_CFB64 (16)

DES3_OFB64 (17)


  SRP也支持MD5和SHA哈希函數(shù)。缺省情況下SRP使用CAST5_CBC 密碼和SHA 函數(shù)。要使用其它格式的密碼。可以使用-c或-h(huán)選項。

#/usr/local/bin/ftp -c blowfish_cfb64 “ip地址”


  上面的命令使用BLOWFISH_CFB64 密碼而不是缺省的CAST5_CBC。

#/usr/local/bin/ftp

主站蜘蛛池模板: 免费在线观看毛片视频 | 一区二区免费 | 91网视频在线观看 | 高清做爰免费无遮网站挡 | 国产精品爱久久久久久久 | 欧美国产91 | 国产亚洲综合精品 | 成人毛片100部免费观看 | 91免费视频版 | 3344永久免费 | 免费啪视频在线观看 | 亚洲一区在线免费视频 | 成熟女人特级毛片www免费 | 最新一区二区三区 | 国产91在线亚洲 | 国产一区二区三区在线视频 | 成人一区二区三区在线 | 国产精品视频在线观看免费 | 黄色片视频观看 | 亚洲综人网 | 亚洲婷婷日日综合婷婷噜噜噜 | 免费视频a | 99视频网| 九九热精品在线视频 | 毛片大全免费看 | 狠狠干91| 国产一区二区精彩视频 | 欧美一区在线观看视频 | 一级免费观看 | 成人短视频在线播放 | 精品一区二区三区网站 | 黄色网址在线免费播放 | 一本色道久久99精品综合蜜臀 | 日本爽快片100色毛片视频 | 色视频在线 | 一级性生活免费视频 | 好骚综合在线 | 免费a级毛片永久免费 | 欧美 国产 综合 | 55夜色66夜色国产精品视频 | 可以看逼的视频 |