999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

解析Linux下vsFTP安全認(rèn)證

2018-03-03 18:11:15
網(wǎng)絡(luò)安全和信息化 2018年9期
關(guān)鍵詞:設(shè)置用戶

基本的用戶安全管理功能

vsFTP是基于PAM進(jìn)行用戶的安全認(rèn)證的,如果讓其支持虛擬用戶,就必須修改PAM配置文件。PAM本身其實(shí)是一個框架,支持的認(rèn)證機(jī)制很豐富,對應(yīng)的認(rèn)證模塊也很多,允許用戶靈活的定制所需的認(rèn)證機(jī)制。

PAM需要依靠“/etc/pam.d”目錄下的各種配置文件,以及在“/lib/security”或“/lib64/security”目錄下的認(rèn)證模塊信息。vsFTP是安全性很高的FTP,對文件權(quán)限的檢測很嚴(yán)格。在默認(rèn)情況下,使用“/var/ftp”目錄作為FTP根目錄。該目錄只允許Root賬戶有寫權(quán)限,而對于“vsftpd”進(jìn)程來說,對應(yīng)的是“FTP”賬戶不具有寫權(quán)限。

為了滿足文件上傳要求,只能在該目錄中創(chuàng)建子目錄,用來讓用戶上傳文件。例如在“/var/ftp/pub”目錄中存儲公開的文件。vsFTP的安裝很簡單,執(zhí)行“yum install vsftpd”命令安裝。執(zhí)行“service vsftpd start”、“chkconfig vsftpd on”命令啟動vsFTP服務(wù)。vsFTP的用戶類型包括anonyous匿名用戶、系統(tǒng)用戶和虛擬用戶三類,實(shí)際上不管哪一類,都需要映射為與之對應(yīng)的系統(tǒng)用戶。例如匿名用戶會被映射為“FTP”用戶。每個用戶都對應(yīng)各自的家目錄,例如執(zhí)行“finger ftp”命令,可以看到FTP用戶對應(yīng)的是“/var/ftp”目錄。進(jìn)入“/etc/vsftpd”目錄,執(zhí)行“vim vsftpd.conf”命令,打開vsFTP配置文件。

在“anonymous=”和“l(fā)ocal_enable=”欄中可以設(shè)置是否開啟匿名和系統(tǒng)用戶。為保證可以執(zhí)行寫操作,需要事先 執(zhí)行“setenforce 0”命令將Selinux關(guān)閉。在“write_enable=”欄中設(shè)置是否允許利用系統(tǒng)賬戶上傳文件。在“anon_upload_enable=”欄中設(shè)置是否允許匿名用戶上傳文件。

注意,執(zhí)行“ps aux|grep vsftpd”命令,可以看到vsFTPS進(jìn)程是以FTP用戶身份運(yùn)行。

執(zhí)行“l(fā)s -ld /var/ftp/”命令,顯示該目錄屬主為Root賬戶。對于匿名用戶來說,雖然允許其上傳文件,但是還必須開放文件寫權(quán)限。執(zhí)行“mkdir /var/ftp/uploadfile”、“setfacl-m u:ftp:rwx /var/ftp/uploadfile/”命令,為FTP用戶創(chuàng)建名為“uploadfile”的目錄,并開放寫權(quán)限。這樣,匿名用戶就可以向該目錄上傳文件了。

注意,對于匿名用戶來說,無法刪除文件和創(chuàng)建目錄操作,除非將“anon_mkdir_write_enable=”和“anon_other_write_enable=”的值均設(shè)置為“Yes”。

為防止以系統(tǒng)用戶身份登錄FTP后,在系統(tǒng)中隨意切換目錄,必須禁錮在其家目錄中。需要刪除“chroot_list_enable=Yes”和“chroot_list_ file=/etc/vsftpd/chroot_list”兩行前面的“#”號激活。在“/etc/vsftpd”目錄下執(zhí)行“touch chroot_list”命令,創(chuàng)建“chroot_list”文件。執(zhí)行“vim chroot_list”命令進(jìn)行編輯,在其中添加需要禁錮的所有用戶名(例如“ftpuser”等),執(zhí)行“service vsftpd restart”命令重啟vsFTP,這樣當(dāng)使用預(yù)設(shè)的用戶登錄FTP后,就只能在其家目錄中活動。如果希望禁錮所有的用戶,可以編輯“vsftpd.conf”文件,將上述指令前面恢復(fù)“#”號禁用,之后添加“chroot_local_user=Yes”行即可。

默認(rèn)情況下在“/etc/vsftpd”目錄下執(zhí)行“cat ftpusers”命令打開該文件,存儲在其中的所有用戶(例如 root、daemon、operator等)均禁止訪問vsFTP服務(wù)。這是因?yàn)関sFTP的用戶認(rèn)證機(jī)制受到PAM控制,執(zhí)行“cat/etc/pam.d/vsftpd”命令,打開對應(yīng)的PAM認(rèn)證文件,可以看到其中包含“auth required pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr= succeed”行,表示對于“ftpusers”文件中的所有賬戶的敏感度為拒絕狀態(tài),自然無法正常訪問FTP服務(wù)了。在vsFTP配置文件中 的“userlist_enable=”的值為“Yes”,意味著當(dāng)在“/etc/vsftpd”目錄下打開“user_list”文件,其中的用戶也是無法訪問vsFTP的。只有將該文件中的所有用戶名清空,上述“ftpusers”文件才真正擁有控制vsFTP的用戶訪問功能。

如果在vsFTP配置文件中添加“userlist_deny=No”行,則剛好相反,表示僅僅允許“user_list”文件中的用戶訪問vdFTP服務(wù),如果修改 為“userlist_deny=yes”行,則禁止該文件中的用戶訪問,這就實(shí)現(xiàn)了黑白名單功能。為了控制vsFTP的資源訪問機(jī)制,可以在配置文件中的“max_clients=”和“max_per_ip=”欄分別定制許可的客戶端連接數(shù)及每個客戶IP運(yùn)行連接的最大值。

使用證書加密FTP數(shù)據(jù)傳輸

因?yàn)镕TP協(xié)議是以明文傳輸?shù)模虼耸褂米グ羁梢院苋菀撞东@密碼等敏感信息。

為了保護(hù)vsFTP的數(shù)據(jù)傳輸安全,就需要進(jìn)行加密處理。vsFTP支持兩種安全通訊方式,包括FTPS和SFTP。前一種采用FTP加SSL或TLS的機(jī)制。后一種是基于SSH來實(shí)現(xiàn)安全的FTP傳輸功能。在OPenSSH中提供了名為SubSystem的子模塊,可以實(shí)現(xiàn)SFTP功能。

要想讓vsFTP支持基于FTPS的安全通信方式,首先需要創(chuàng)建一張證書,即私有CA,讓其給vsFTP頒發(fā)一張證書,之后在vsFTP配置文件中啟用相關(guān)指令即可。

執(zhí)行“cd /etc/pki/CA”命令,進(jìn)入目標(biāo)路徑。執(zhí)行“mkdir certs newscerts crl”,“touch index.txt”、“echo 01 > serial”、“(umask 077;openssl genrsa -out private/cakey.pem 2048>)”命令,創(chuàng)建基于RAS的長度為2048的密鑰。執(zhí)行“openssl req-new -x509 -key private/cakey.pem -out cacert.pem-days 3650”命令,創(chuàng)建自簽名證書,依次輸入國家名稱、州或省份名稱、城市名、組織名等內(nèi)容。

執(zhí)行“mkdir /etc/vsftpd/ssl”、“cd /etc/vsftpd/ssl”、“(umask 077;openssl genrsa -out vsftpd.key 2048; )”命令,在目標(biāo)路徑下創(chuàng)建私鑰。執(zhí)行“openssl req -new -key vsftpd.key -out vsftpd.csr”命令,生成證書頒發(fā)申請文件,根據(jù)提示信息依次輸入國家名稱、州或省份名稱、城市名、組織名、組織單元名稱等信息。執(zhí)行“vim/etc/pki/tls/openssl.cnf/”命令,將該配置文件中的“dir=../../CA”修改為“dir=/etc/pki/CA”。執(zhí)行“openssl ca -in vsftpd.csr -out vsftpd.crt”命令,在提示欄中依次輸入“Y”完成證書簽署操作。

進(jìn)入“/etc/vsftpd”目錄,執(zhí)行“vim vsftpd.conf”文件,在其中添加“ssl_enable=Yes” 行,啟動SSL加密功能。添加“ssl_tlsv1=Yes” 和“ssl_sslv3=Yes”行,使其支持TLS V1和SSL V3協(xié)議。添加“allow_anno_ssl=No”行,禁止匿名用戶使用加密傳輸。添加“force_local_data_ssl_=Yes”和“force_local_logins_ssl=Yes”行,強(qiáng)制本地用戶在登錄和傳輸數(shù)據(jù)時,必須使用SSL加密協(xié)議。添加“rsa_cert_file=/etc/vsftpd/ssl/vsftpd_cert.crt”,“rsa_private_key_file=/etc/vsftpd/ssl/vsftpd_key.key”行,分別指定RSA格式的證書和密鑰文件路徑。保存該文件,并重啟vsFTP服務(wù)使上述配置生效。

這樣,使用非匿名賬戶無法使用“FTP”命令進(jìn)行登錄,這就需要使用特定的FTP客戶端來實(shí)現(xiàn)安全傳輸。例如使用CuteFTP、FileZilla、FlashFXP等。

使用MySQL實(shí)現(xiàn)安全認(rèn)證

前面談到,vsFTP支持匿名、本地和虛擬用戶。對于虛擬用戶來說,最重要的是存儲用戶賬戶信息的方法。當(dāng)然,其存儲格式必須能夠被認(rèn)證功能支持。

例如,在MySQL中創(chuàng)建名為vsFTP的數(shù)據(jù)庫,其中包含名為“nmyh”的表,在該表中包含名為“Name”和“Mima”的字段。之后將匿名用戶信息存儲在該表中,當(dāng)進(jìn)行vsFTP認(rèn)證時,只要能讓其去查詢該表中的信息,如果客戶端輸入的賬戶名和密碼域該表中的對應(yīng)行匹配,即可完成認(rèn)證操作。當(dāng)然,也可以采取其他合適的用戶信息存儲方式。

例 如,在“/etc/vsftp/目錄中創(chuàng)建名為“nmuser”的文本文件,在其中一行存儲用戶名,一行存儲對應(yīng)的密碼。這樣,可以將所有的匿名用戶信息存儲在該文件中。之后使用“db4_utils”工具中的“db_load”之類的命令,將該文件轉(zhuǎn)換為二進(jìn)制格式。使用該文件也可以實(shí)現(xiàn)vsFTP認(rèn)證功能,當(dāng)然,vsFTP的認(rèn)證其實(shí)是基于PAM來實(shí)現(xiàn)的,這樣就必須修改對應(yīng)的PAM文件才可以實(shí)現(xiàn)上述虛擬用戶認(rèn)證功能。

這里就以使用MySQL數(shù)據(jù)庫實(shí)現(xiàn)認(rèn)證為例進(jìn)行說明,首先需要安裝MySQL數(shù)據(jù)庫和開發(fā)環(huán)境,具體操作起來并不復(fù)雜,執(zhí)行“yum-y install mysql -server mysql -devel”、“yum -y groupinstall "Development Libraries"”命令即可,這里就不再贅述。

之后需要安裝名為“PAM_MySQL”模塊。執(zhí)行“tar zxvf pam_mysql-0.7rc1.tar.gz”、“cd pam_mysql-0.7rc1”、“./configure-with-mysql=/usrl --withopenssl”、“make”、“make install”、“cp /usr/lib/security/pam_mysql.so /lib/security/”等命令,來安裝該模塊。接下來需要手動編譯安裝vsFTP,執(zhí)行“mkdir -pv /usr/share/empty /var/ftp”、“useradd-s /bin/false -d /var/ftp ftp”、“tar xzvf vsftpd-x.x.x.tar.gz”、“cd vsftp-x.x.x”、“make”、“make install”等命令,執(zhí)行vsFTP的手動編譯安裝。執(zhí)行“cp vsftp.conf /etc”、“vim /etc/vsftpd.conf”命令,在vsFTP配置文件中添加“l(fā)isten=yes”項(xiàng),使vsFTP進(jìn)程處于獨(dú)立運(yùn)行狀態(tài)。

執(zhí)行“/usr/local/sbin/vsftpd &”、“chmod og-w /var/ftp”命令,來啟動vsFTP服務(wù)。連接到MySQL操作環(huán)境,執(zhí)行“create database vsftp;”命令,創(chuàng)建名為“vsftp”的數(shù)據(jù)庫,執(zhí)行“grant select on vsftp.*to vsftpd@localhost identified by 'vsftpd';”、“grant select on vsftp.*to vsftpd@127.0.0.1 identified by 'vsftpd';”命令,授權(quán)給名為“vsftpd”的用戶進(jìn)行訪問,該用密碼為“vsftpd”,該賬戶可以在Linux中手動建立。執(zhí)行“use vsftp;”、“create table nmyh(id SAMLLINT AUTO_INCREMENT NOT NULL ,name CHAR(20) BINARY NOT NULL,mima CHAR(50) BINARY NOT NULL ,PRIMARY key(id))”命令,創(chuàng)建名為“nmyh”的表,其中存在名為“name”和“mima”的字段,用來存儲匿名用戶信息。

執(zhí)行“insertinto nmyh(name,mima)values('ftpuser1','123456');”、“insert into nmyh(name,mima)values('ftpuser2','123456');”命令插入兩個用戶信息,名稱分別為“ftpuser1”和“ftpuser2”。密碼均為“123456”。執(zhí)行“select*from nmyh;”命令,來查看該表中的內(nèi)容。執(zhí)行“mysql -uvsftpd -p”命令,以“vsftpd”賬戶連接MySQL,輸入密碼后可以正常查看上述數(shù)據(jù)庫。因?yàn)樯厦嬷粸槠湓O(shè)置了Select權(quán)限。僅僅有匿名用戶信息還不夠,必須修改用來進(jìn)行PAM認(rèn)證的文件。

執(zhí)行“vim /etc/pam.d/vsftp.mysql”命令,在該配置文件中添加“auth require /lib/security/pam_mysql.so user=vsftpd password=vsftpd usercolume=name passwordcolume=mimacrypt=0”、“account require/lib/security/pam_mysql.so user=vsftpd password=vsftpd host=localhost db=vsftp table=nmyh usercolumn=name pass wordcolumn=mima crypt=0”等行內(nèi)容。表示當(dāng)?shù)卿泇sFTP服務(wù)器時必須滿足“pam_mysql.so”模塊的檢查,即從上述MySQL數(shù)據(jù)表中匹配客戶端輸入的用戶名和密碼。在Linux提示符下執(zhí)行“useradd -s /sbin/nologin -d /var/ftp2 vuser”、“chmod go+rx/var/ftp2”命令,創(chuàng)建名為“vuser”的賬戶,并設(shè)定該賬戶對應(yīng)的家目錄,并允許其他用戶讀取和執(zhí)行其家目錄的權(quán)限。當(dāng)然該賬戶無法正常登錄系統(tǒng)。

對vsFTP的配置文件“/etc/vsftpd.conf” 進(jìn)行修改,設(shè)置“anonyous_enable=Yes”、“l(fā)ocal_enable=Yes”、“write_enable=Yes”、“anon_upload _enable=Yes”、“anon_mkdir_write_enable=Yes”、“anon_other_mkdir_write_enable=Yes”、“chroot_local_user=Yes”、“guest_enable=Yes”、“guest_username=vuser”、“l(fā)isten=Yes”,“pam_service_name=vsftpd.mysql”等行,允許來賓賬戶進(jìn)行訪問。并將來賓賬戶映射為“vuser”用戶,使PAM認(rèn)證服務(wù)使用自定義的“vsftpd.mysql”文件。之后執(zhí)行“service vsftpd restart”命令重啟vsFTP。客戶端執(zhí)行“ftp xxx.xxx.xxx.xxx”命令,即可用上述“nmyh”表中的用戶進(jìn)行登錄了。在上述配置文件中允許用戶對FTP路徑具有讀寫操作,所以當(dāng)使用虛擬賬戶登錄后,執(zhí)行的指令均被匿名用戶進(jìn)行匹配,可以上傳下載文件。

控制匿名用戶訪問權(quán)限

當(dāng)然,針對不同的虛擬賬戶可設(shè)置不同的權(quán)限。打開vsFTP的配置文件“/etc/vsftpd/vsftpd.conf”, 添加“user_config_dir=/etc/vsftpd/vusers”行設(shè)置用戶配置目錄。執(zhí)行“mkdir /etc/vsftpd/vusers”命令創(chuàng)建該目錄。執(zhí)行“cd /etc/vsftpd/vusers”命令進(jìn)入該目錄,為每一個匿名用戶創(chuàng)建同名文件。

執(zhí)行“vi ftpuser1”命令,在該文件中設(shè)置“anon_upload_enable=Yes”、“anon_mkdir_write_enable=Yes”和“anon_other_write_enable=Yes”項(xiàng),允許上傳、下載和刪除文件,如果設(shè)置為“anon_upload_enable=No”、“anon_mkdir_write_enable=No”和“anon_other_write_enable=No”項(xiàng),則禁止該用戶上傳、下載和刪除文件。

猜你喜歡
設(shè)置用戶
中隊(duì)崗位該如何設(shè)置
7招教你手動設(shè)置參數(shù)
關(guān)注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關(guān)注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關(guān)注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
本刊欄目設(shè)置說明
中俄臨床醫(yī)學(xué)專業(yè)課程設(shè)置的比較與思考
Camera360:拍出5億用戶
100萬用戶
如何獲取一億海外用戶
主站蜘蛛池模板: 久久公开视频| 国产91九色在线播放| 日韩成人高清无码| 九月婷婷亚洲综合在线| 久久久久亚洲av成人网人人软件| 国产精品女人呻吟在线观看| 国产老女人精品免费视频| 久久久精品无码一区二区三区| 亚洲一区二区三区国产精华液| 狠狠做深爱婷婷综合一区| 五月天天天色| 国产成人亚洲综合a∨婷婷| 国产一级毛片网站| 国产亚洲欧美日本一二三本道| 日韩免费成人| 91青青视频| 国产精品人成在线播放| av在线手机播放| 日韩高清成人| 香蕉综合在线视频91| 丁香亚洲综合五月天婷婷| 日本精品αv中文字幕| 精品夜恋影院亚洲欧洲| 国产尤物jk自慰制服喷水| 91色综合综合热五月激情| 91精品国产情侣高潮露脸| 天天综合网站| 狠狠v日韩v欧美v| 国产91丝袜在线播放动漫 | 国产小视频a在线观看| 亚洲无码日韩一区| 在线日本国产成人免费的| 欧美色综合久久| 永久天堂网Av| 国产一二三区视频| 91久久偷偷做嫩草影院电| 99九九成人免费视频精品| 一级全免费视频播放| 国产Av无码精品色午夜| 手机精品视频在线观看免费| 青青青视频91在线 | 国产真实乱了在线播放| 2020久久国产综合精品swag| 日韩国产黄色网站| 国产欧美日韩va| 国产亚洲精品在天天在线麻豆| 四虎影视8848永久精品| 国产亚洲高清视频| 国产成人亚洲毛片| 亚洲成人高清在线观看| 伊人无码视屏| 老司机精品久久| 国产黄网站在线观看| 黄色福利在线| 素人激情视频福利| 国产成+人+综合+亚洲欧美| 黄色不卡视频| 亚洲成a人片| 亚洲国产成熟视频在线多多 | 亚洲精品自拍区在线观看| 91热爆在线| 久久夜色撩人精品国产| 久久永久视频| 亚洲天堂网视频| 国产精品久久自在自线观看| 欧美性色综合网| 免费高清a毛片| 国产精品久久久久久久久| 呦女精品网站| 色老头综合网| 国产二级毛片| 日韩欧美国产综合| 日韩欧美国产成人| 日本一本正道综合久久dvd| 亚洲国产理论片在线播放| 男女猛烈无遮挡午夜视频| 五月婷婷导航| 成人永久免费A∨一级在线播放| 欧美日韩国产在线播放| 试看120秒男女啪啪免费| 久久综合国产乱子免费| 亚洲精品视频网|