亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        解析Linux下vsFTP安全認證

        2018-03-03 18:11:15
        網(wǎng)絡(luò)安全和信息化 2018年9期
        關(guān)鍵詞:配置文件命令賬戶

        基本的用戶安全管理功能

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

        PAM需要依靠“/etc/pam.d”目錄下的各種配置文件,以及在“/lib/security”或“/lib64/security”目錄下的認證模塊信息。vsFTP是安全性很高的FTP,對文件權(quán)限的檢測很嚴格。在默認情況下,使用“/var/ftp”目錄作為FTP根目錄。該目錄只允許Root賬戶有寫權(quán)限,而對于“vsftpd”進程來說,對應(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)用戶和虛擬用戶三類,實際上不管哪一類,都需要映射為與之對應(yīng)的系統(tǒng)用戶。例如匿名用戶會被映射為“FTP”用戶。每個用戶都對應(yīng)各自的家目錄,例如執(zhí)行“finger ftp”命令,可以看到FTP用戶對應(yīng)的是“/var/ftp”目錄。進入“/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進程是以FTP用戶身份運行。

        執(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”命令進行編輯,在其中添加需要禁錮的所有用戶名(例如“ftpuser”等),執(zhí)行“service vsftpd restart”命令重啟vsFTP,這樣當(dāng)使用預(yù)設(shè)的用戶登錄FTP后,就只能在其家目錄中活動。如果希望禁錮所有的用戶,可以編輯“vsftpd.conf”文件,將上述指令前面恢復(fù)“#”號禁用,之后添加“chroot_local_user=Yes”行即可。

        默認情況下在“/etc/vsftpd”目錄下執(zhí)行“cat ftpusers”命令打開該文件,存儲在其中的所有用戶(例如 root、daemon、operator等)均禁止訪問vsFTP服務(wù)。這是因為vsFTP的用戶認證機制受到PAM控制,執(zhí)行“cat/etc/pam.d/vsftpd”命令,打開對應(yīng)的PAM認證文件,可以看到其中包含“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”行,則禁止該文件中的用戶訪問,這就實現(xiàn)了黑白名單功能。為了控制vsFTP的資源訪問機制,可以在配置文件中的“max_clients=”和“max_per_ip=”欄分別定制許可的客戶端連接數(shù)及每個客戶IP運行連接的最大值。

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

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

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

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

        執(zhí)行“cd /etc/pki/CA”命令,進入目標(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”完成證書簽署操作。

        進入“/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”行,強制本地用戶在登錄和傳輸數(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”命令進行登錄,這就需要使用特定的FTP客戶端來實現(xiàn)安全傳輸。例如使用CuteFTP、FileZilla、FlashFXP等。

        使用MySQL實現(xiàn)安全認證

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

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

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

        這里就以使用MySQL數(shù)據(jù)庫實現(xià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”項,使vsFTP進程處于獨立運行狀態(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”的用戶進行訪問,該用密碼為“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ù)庫。因為上面只為其設(shè)置了Select權(quán)限。僅僅有匿名用戶信息還不夠,必須修改用來進行PAM認證的文件。

        執(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” 進行修改,設(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”等行,允許來賓賬戶進行訪問。并將來賓賬戶映射為“vuser”用戶,使PAM認證服務(wù)使用自定義的“vsftpd.mysql”文件。之后執(zhí)行“service vsftpd restart”命令重啟vsFTP??蛻舳藞?zhí)行“ftp xxx.xxx.xxx.xxx”命令,即可用上述“nmyh”表中的用戶進行登錄了。在上述配置文件中允許用戶對FTP路徑具有讀寫操作,所以當(dāng)使用虛擬賬戶登錄后,執(zhí)行的指令均被匿名用戶進行匹配,可以上傳下載文件。

        控制匿名用戶訪問權(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”命令進入該目錄,為每一個匿名用戶創(chuàng)建同名文件。

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

        猜你喜歡
        配置文件命令賬戶
        提示用戶配置文件錯誤 這樣解決
        只聽主人的命令
        搭建簡單的Kubernetes集群
        互不干涉混用Chromium Edge
        探索自由貿(mào)易賬戶體系創(chuàng)新應(yīng)用
        中國外匯(2019年17期)2019-11-16 09:31:14
        外匯賬戶相關(guān)業(yè)務(wù)
        中國外匯(2019年10期)2019-08-27 01:58:28
        忘記ESXi主機root密碼怎么辦
        父親的股票賬戶
        特別健康(2018年4期)2018-07-03 00:38:20
        移防命令下達后
        這是人民的命令
        粉嫩虎白女毛片人体| 亚洲精品女同一区二区三区| 妺妺窝人体色www在线| 少妇无码太爽了不卡视频在线看| 日韩精品区欧美在线一区| 一区二区三区国产精品| 风韵人妻丰满熟妇老熟| av无码av天天av天天爽| 国产欧美日韩视频一区二区三区 | 一区二区三区四区在线观看日本| 亚洲日韩av无码一区二区三区人| 鲁一鲁一鲁一鲁一澡| 91色婷婷成人精品亚洲| 色播视频在线观看麻豆| 人妻夜夜爽天天爽三区| 2021国产视频不卡在线| 亚洲国产精品一区二区第一| 亚洲第一幕一区二区三区在线观看| 亚洲va中文字幕无码毛片| 在线综合网| 高清亚洲精品一区二区三区| 亚洲在线视频免费视频| 久久久日韩精品一区二区三区| 无码中文av有码中文av| 自拍偷拍亚洲视频一区二区三区| 国产精品久久久久久av| 躁躁躁日日躁| 久久精品女人天堂AV一个| 亚洲国产中文字幕一区| 日韩人妻无码精品久久久不卡| 国产又黄又爽视频| 亚洲一区二区三区厕所偷拍| 风韵丰满熟妇啪啪区老熟熟女| 精品福利视频一区二区三区 | 国产成人午夜av影院| 手机免费在线观看av网址 | 蜜桃视频在线免费观看一区二区| 国产91传媒一区二区三区| 人妻丰满熟妇av无码片| 青青草视频华人绿色在线| 国产熟女白浆精品视频二|