自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

玩轉(zhuǎn)vsftpd服務(wù)器的四大高級(jí)配置

原創(chuàng)
運(yùn)維 系統(tǒng)運(yùn)維
vsftpd是一個(gè)FTP服務(wù)器,其名稱的意思為“非常安全的FTP”,其招牌特性可想而知。vsftpd服務(wù)器有一些高級(jí)的配置方式,通過這些配置可以進(jìn)一步增加其安全性。本文介紹的四條是非常實(shí)用的配置推薦,包括虛擬用戶、chroot、端口設(shè)置以及虛擬服務(wù)器。

【51CTO獨(dú)家特稿】vsftpd是一個(gè)基于GPL發(fā)布的類UNIX類操作系統(tǒng)上運(yùn)行的服務(wù)器的名字(是一種守護(hù)進(jìn)程),可以運(yùn)行在諸如Linux、BSD、Solaris、HP-UX以及Irix上面。該服務(wù)器支持很多其他傳統(tǒng)的FTP服務(wù)器不支持的良好特征,本文將介紹該服務(wù)使用的一些高級(jí)配置方式。

51CTO推薦專題:vsftpd入門——安裝、配置、案例與常見問題

1、虛擬用戶使用vsftpd服務(wù)器

虛擬用戶是指在FTP服務(wù)器上擁有賬號(hào),并且該賬號(hào)只能用于文件傳輸服務(wù)的用戶,也稱作Guest用戶。該類用戶可以通過輸入賬號(hào)以及口令來進(jìn)行授權(quán)登錄。登錄入系統(tǒng)后,其登錄目錄為指定的目錄。一般情況下,該類用戶既可以下載也可以上傳文件。

vsftpd的虛擬用戶采用單獨(dú)的用戶名/口令保存方式,與系統(tǒng)賬號(hào)(passwd/shadow)分離,這大大增強(qiáng)了系統(tǒng)的安全性。vsftpd可以采用數(shù)據(jù)庫(kù)文件來保存用戶/口令,如hash;也可以將用戶/口令保存在數(shù)據(jù)庫(kù)服務(wù)器中,如MySQL等。vsftpd驗(yàn)證虛擬用戶,則采用PAM方式。由于虛擬用戶的用戶名/口令被單獨(dú)保存,因此在驗(yàn)證時(shí),vsftpd須要用一個(gè)系統(tǒng)用戶的身份來讀取數(shù)據(jù)庫(kù)文件或數(shù)據(jù)庫(kù)服務(wù)器以完成驗(yàn)證,這就是guest用戶,這正如同匿名用戶也需要有一個(gè)系統(tǒng)用戶ftp一樣。當(dāng)然,guest用戶也可以被認(rèn)為是用于映射虛擬用戶。

在虛擬用戶使用vsftpd服務(wù)器之前,要對(duì)服務(wù)器進(jìn)行配置,主要包括如下幾個(gè)步驟:

(1)生成虛擬用戶口令庫(kù)文件。

(2)配置生成vsftpd的認(rèn)證文件。

(3)建立虛擬用戶訪問所需要的目錄并且設(shè)定相應(yīng)的訪問權(quán)限。

(4)建立配置文件。

(5)重新啟動(dòng)vsftpd服務(wù)器。

下面是完成上述五個(gè)步驟的基本命令和過程,如下所示:

生成虛擬用戶口令庫(kù)文件

//生成虛擬用戶口令庫(kù)文件,按照格式編輯口令文件。單數(shù)行為用戶名,偶數(shù)行為用戶口令
#vi login.txt
liyangsuper//用戶名
real//口令
patterson//用戶名
jef//口令
guest//用戶名
guest//口令
//存盤退出

配置生成vsftpd的認(rèn)證文件

//使用db_load命令生成口令庫(kù)文件
#db_load –T –t hash –f login.txt /etc/vsftpd/vsftpd_login.db
//修改該口令庫(kù)文件的權(quán)限
#chmod 600 /etc/vsftpd/vsftpd_login.db
//編輯虛擬用戶所需的PAM配置文件
#vi /etc/pam.d/vsftpd
//在該文件中加入如下兩行,并且保存后退出
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login.db
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login.db

建立虛擬用戶訪問所需要的目錄并且設(shè)定相應(yīng)的訪問權(quán)限

#useradd –d /home/ftp virtual
#chmod 700 /home/ftp

對(duì)vsftpd的主配置文件進(jìn)行配置

//為了保證安全,首先生成該文件的一個(gè)備份,然后進(jìn)行修改
#cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak
#vi /etc/vsftpd/vsftpd.conf
//配置相關(guān)選項(xiàng)如下所示
listen=YES
tcp_wrappers=YES //支持tcp_wrappers,限制訪問
(/etc/hosts.allow,/etc/hosts.deny)
listen=YES的意思是使用standalone啟動(dòng)vsftpd,而不是super daemon(xinetd)控制它
(vsftpd推薦使用standalone方式)
anonymous_enable=NO
local_enable=YES //PAM方式此處必須為YES
write_enable=NO
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
chroot_local_user=YES
guest_enable=YES
guest_username=vsftpd //采用虛擬用戶形式

重新啟動(dòng)vsftpd服務(wù)器

#service vsftpd restart

經(jīng)過上面幾個(gè)步驟的配置后,就可以使用虛擬用戶登錄vsftpd服務(wù)器了,如下所示:

使用創(chuàng)建的虛擬用戶liyangsuper,登錄成功:

#ftp 127.0.0.1
Connected to 127.0.0.1 (127.0.0.1).
220 Welcome to virtual FTP service.
Name (127.0.0.1:root): liyangsuper
331 Please specify the password.
Password:
230 Login successful. Have fun.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
227 Entering Passive Mode (127,0,0,1,119,210)
150 Here comes the directory listing.
drwxr-xr-x    2 0        0            4096 Jul 09 15:26 ftp
226 Directory send OK.

能夠?yàn)g覽虛擬目錄/home/ftp里的文件和目錄

ftp> cd ftp
250 Directory successfully changed.
ftp> ls
227 Entering Passive Mode (127,0,0,1,149,3)
150 Here comes the directory listing.
-rw-r--r--    1 0        0              10 Jul 09 15:26 test.c
226 Directory send OK.

測(cè)試是否能夠創(chuàng)建目錄

ftp> mkdir super
550 Permission denied.//操作被禁止
ftp> bye
221 Goodbye.

通過以上的測(cè)試可以知道,系統(tǒng)關(guān)于虛擬用戶的默認(rèn)用戶權(quán)限與匿名用戶的用戶權(quán)限一致,都只有瀏覽以及下載的權(quán)限,而不具有上傳和創(chuàng)建目錄等寫操作權(quán)限。

#p#

2、配置vsftpd服務(wù)器中chroot

在vsftpd服務(wù)器的默認(rèn)設(shè)置中,本地用戶可以切換到主目錄以外的目錄進(jìn)行瀏覽訪問,這樣對(duì)于服務(wù)器來說是不太安全的,因?yàn)槿魏斡脩艨梢噪S時(shí)瀏覽到別的用戶的私有信息,下面介紹如何使用chroot選項(xiàng)來防止這種情況的發(fā)生。

與該功能相關(guān)的選項(xiàng)主要包括:

  1. chroot_local_user
  2. chroot_list_enable
  3. chroot_list_file

可以通過如下兩種方法來設(shè)置chroot,從而杜絕上述不安全的情況發(fā)生:

(1)設(shè)置所有的本地用戶執(zhí)行chroot,只要將/etc/vsftpd/vsftpd.con文件中的chroot_local_ user值置為YES,即chroot_local_user=YES。

(2)設(shè)置指定的用戶執(zhí)行chroot,按照如下方法進(jìn)行設(shè)置:

chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list

設(shè)置后,只有/etc/vsftpd.chroot_list文件中指定的用戶才能夠執(zhí)行chroot命令。

3、配置vsftpd服務(wù)器在非標(biāo)準(zhǔn)端口工作

在使用FTP服務(wù)的過程中,可以使該服務(wù)在非標(biāo)準(zhǔn)端口(非21端口)工作,不過要完成這項(xiàng)工作,須要使vsftpd服務(wù)器運(yùn)行在獨(dú)立啟動(dòng)方式下,而且要配置vsftpd的主配置文件/etc/vsftpd/vsftpd.conf,將listen_port=10003或者是其他端口號(hào)的選項(xiàng)加入該文件即可,然后要重新啟動(dòng)vsftpd守護(hù)進(jìn)程:

#service vsftpd restart

下面是對(duì)該功能進(jìn)行實(shí)例驗(yàn)證:

使用匿名用戶登錄到服務(wù)器的10003端口,成功:

#ftp 127.0.0.1 10003
Connected to 127.0.0.1 (127.0.0.1).
220 (vsFTPd 1.1.3)
Name (127.0.0.1:root): anonymous
331 Please specify the password.
Password:
230 Login successful. Have fun.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> bye
221 Goodbye.

測(cè)試以前使用的21端口,該端口已經(jīng)不再有用:

# ftp 127.0.0.1
ftp: connect: Connection refused

#p#

4、配置虛擬FTP服務(wù)器

所謂虛擬FTP服務(wù)器,是指一臺(tái)機(jī)器上有多個(gè)IP地址,并且可以向外提供多FTP服務(wù),這些服務(wù)器在邏輯上是獨(dú)立的,有不同的訪問控制表和不同的下載內(nèi)容。

配置虛擬FTP服務(wù)器的步驟如下所示:

(1)為一個(gè)服務(wù)器配置多個(gè)IP地址。假設(shè)原來的主機(jī)內(nèi)部地址為210.77.27.222,可再綁定一個(gè)IP地址如下:

向接口添加一個(gè)新的IP210.77.27.223

#/sbin/ifconfig eth0:0 210.77.27.223 up 

(2)創(chuàng)建虛擬FTP服務(wù)器的根目錄,并確保/var/newftp和/var/newftp/pub目錄的擁有者和組均為root,掩碼為755。

#mkdir -p /var/newftp/pub
#chmod 755 /var/newftp
#chmod 755 /var/new/ftp/pub

(3)增加虛擬FTP服務(wù)器的匿名用戶賬號(hào)。原先的FTP服務(wù)器使用系統(tǒng)用戶ftp作為其匿名用戶賬號(hào)。需要增加一個(gè)newftp用于虛擬FTP服務(wù)器。

useradd -d /var/newftp -M newftp

(4)創(chuàng)建虛擬FTP服務(wù)器的配置文件。復(fù)制原來的vsftpd.conf作為虛擬FTP服務(wù)器的配置文件,并修改相關(guān)參數(shù)。

#cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd2.conf

新添或修改以下參數(shù):

listen=YES
listen_address=210.77.27.223
ftp_username=newftp

此處需要特別注意:由于vsftpd默認(rèn)是監(jiān)聽所有的IP地址,當(dāng)設(shè)定基于IP的虛擬FTP服務(wù)器時(shí),為防止原來的FTP服務(wù)器與虛擬FTP服務(wù)器發(fā)生監(jiān)聽上的沖突,原FTP服務(wù)器須要指定監(jiān)聽的IP地址。在這里,原來的配置文件中就要設(shè)置listen_address=//向接口添加一個(gè)新的IP210.77.27.222。

(5)啟動(dòng)和測(cè)試虛擬FTP服務(wù)器。

可以使用命令同時(shí)啟動(dòng)或關(guān)閉原FTP服務(wù)器和新加的虛擬FTP服務(wù)器,如下:

#service vsftpd restart
Shutting down vsftpd:                                    [  OK  ]
Starting vsftpd for vsftpd2:                             [  OK  ]
Starting vsftpd for vsftpd:                              [  OK  ]

啟動(dòng)成功后,就可以對(duì)該虛擬服務(wù)器登錄進(jìn)行測(cè)試,如下面所示:

測(cè)試以127.0.0.1登錄:

# ftp 127.0.0.1
ftp: connect: Connection refused
ftp> bye
//測(cè)試失敗,因?yàn)樵摲?wù)器具有兩個(gè)不同的IP

連接原來的FTP服務(wù)器,其IP地址為210.77.27.222,端口號(hào)為10003:

# ftp 210.77.27.222 10003
Connected to 210.77.27.222 (210.77.27.222).
220 Welcome to virtual FTP service.

使用匿名用戶登錄,成功:

Name (210.77.27.222:root): anonymous
331 Please specify the password.
Password:
230 Login successful. Have fun.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
227 Entering Passive Mode (210,77,27,222,51,224)
150 Here comes the directory listing.
drwxr-xr-x    2 0        0            4096 Jul 09 15:26 pub
226 Directory send OK.
ftp> cd pub
250 Directory successfully changed.
ftp> ls
227 Entering Passive Mode (210,77,27,222,223,123)
150 Here comes the directory listing.
-rw-r--r--    1 0        0              10 Jul 09 15:26 test.c
226 Directory send OK.
ftp> bye
221 Goodbye.

連接虛擬FTP服務(wù)器,其IP地址為210.77.27.223,端口號(hào)為10004:

# ftp 210.77.27.223 10004
Connected to 210.77.27.223 (210.77.27.223).
220 Welcome to virtual FTP service.

使用匿名用戶登錄,成功:

Name (210.77.27.223:root): anonymous
331 Please specify the password.
Password:
230 Login successful. Have fun.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
227 Entering Passive Mode (210,77,27,223,102,119)
150 Here comes the directory listing.
drwxr-xr-x    2 0        0            4096 Jul 10 13:23 pub
226 Directory send OK.

進(jìn)入該登錄文件夾:

ftp> cd pub
250 Directory successfully changed.
ftp> ls //由于該虛擬服務(wù)器沒有加入任何文件,所以ls結(jié)果為空
227 Entering Passive Mode (210,77,27,223,170,40)
150 Here comes the directory listing.
226 Directory send OK.
ftp> bye
221 Goodbye.

作者簡(jiǎn)介:李洋,博士畢業(yè)于中科院計(jì)算所。10多年來一直從事計(jì)算機(jī)網(wǎng)絡(luò)信息安全研發(fā)工作,曾主持和參與多項(xiàng)國(guó)家重點(diǎn)項(xiàng)目以及信息安全系統(tǒng)和企業(yè)信息安全系統(tǒng)的研發(fā)工作。具有Linux系統(tǒng)應(yīng)用、管理、安全及內(nèi)核的研發(fā)經(jīng)驗(yàn),擅長(zhǎng)網(wǎng)絡(luò)安全技術(shù)、協(xié)議分析、Linux系統(tǒng)安全技術(shù)、Linux系統(tǒng)及網(wǎng)絡(luò)管理、Linux內(nèi)核開發(fā)等。

【51CTO.com獨(dú)家特稿,轉(zhuǎn)載請(qǐng)注明原文作者和出處。】

【編輯推薦】

  1. 如何進(jìn)行vsftpd的虛擬用戶建立
  2. vsftpd 安全快速的FTP服務(wù)器
  3. Linux下vsftpd的安全化的配置
責(zé)任編輯:yangsai 來源: 51CTO.com
相關(guān)推薦

2010-08-25 20:43:59

DHCP服務(wù)器

2009-02-27 13:07:00

服務(wù)器解析基本特性

2009-02-12 15:29:00

2011-06-29 10:13:49

服務(wù)器災(zāi)難恢復(fù)

2010-01-13 13:26:41

Linux服務(wù)器維護(hù)

2011-01-21 16:20:05

給力服務(wù)器

2011-03-04 10:03:44

VSFTPD虛擬服務(wù)器

2013-10-31 12:31:49

Linux服務(wù)器Windows服務(wù)器

2009-06-24 14:59:00

FTP服務(wù)器部署網(wǎng)絡(luò)管理

2009-05-11 21:01:58

2010-01-13 14:45:25

CentOS配置

2013-01-05 11:10:41

服務(wù)器領(lǐng)域大數(shù)據(jù)云計(jì)算

2014-05-09 10:50:07

IBM NeXtSca

2012-03-02 09:21:22

服務(wù)器虛擬化

2011-03-04 17:38:24

2014-05-30 09:47:26

2009-06-04 08:49:40

2015-11-30 12:02:25

DNS服務(wù)器

2017-05-17 14:29:09

服務(wù)器后端FaaS

2011-01-13 15:57:20

FreeBSD 8.1vsftpd
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)