FTP (Vsftp) log 設定說明

由 Derek 發表於 五月 29, 2012 / 尚無評論

前言 

在使用FTP(Vsftp)的時後,有時會需要記錄log,以方便日後有問題發生時,比較容易查到是什麼問題。在Vsftp的log方面有兩種記錄方式,分別為syslog(預設的)、xferlog。可以依照個人需求選擇設定,也可兩種同時設定。

 

設定 

在開始設定之前,先說明一下使用到的參數和參數介紹。

1. 參數介紹

繼續閱讀 »

vsftp虛擬化-內外網設定

由 Derek 發表於 三月 26, 2012 / 尚無評論

 

前言

在完成vsftp虛擬化後,接下來就是一些進階的設定了。如果還不會設定或是還沒設定vsftp虛擬化的可參考此篇「Centos FTP (vsftp)虛擬化設定」後在接著看下面的設定。要不然怕在步驟上跳太快會看不懂。

 

環境

Centos 5.7

vsftpd-2.0.5-24.el5

 

需求

在虛擬化設定下,用外網連線時能看到「ftp」這個資料夾內的東西。而在使用內網連線時要能看到整個「faq」內的東西。

/home/faq

             ftp

           public

       customer

     user

        sales

         customer

         accounting

會使用到此方法來設定FTP主要是想要讓某些資料夾只可允許公司內網IP連線,增加安全性上的考量。

 

設定說明

1. 設定vsftp虛擬化。

   若還沒設定的請參考此篇「Centos FTP (vsftp)虛擬化設定

 

2. 帳密管理

在使用此方式設定下,在user的帳號密碼部份,則是統一使用相同的設定檔管理

此設定方式可參考Centos FTP (vsftp)虛擬化設定4-建立虛擬帳號的資料庫。

  繼續閱讀 »

Centos FTP (vsftp)虛擬化設定

由 Derek 發表於 三月 21, 2012 / 5 則評論

 

前言:

為什麼要虛擬化? 虛擬化有什麼好處?

使用虛擬化主要是方便管理和增加Server的安全性。在未虛擬化的情況下,若使用ftpuser過多,那勢必會造成Server在安全性上的重大隱憂。而在虛擬化後的vsftp可靈活的設定FTP虛擬用戶的權限,降低因user過多造成的安全性問題。這邊會比較建議,在允許的情況下就使用虛擬化設定會好一些。

 

環境:

Centos 5.7

vsftpd-2.0.5-24.el5

 

需求:

建立兩個虛擬帳號共用資料夾faq並且能下載、上傳和刪除的權限,但不可離開家目錄

 

設定說明:

1. 安裝

1.1 檢查是否已安裝vsftp

[root@localhost ~]# rpm -qa | grep vsftpd 

vsftpd-2.0.5-21.el5

 

1.2 若是沒有安裝的話可自行安裝,或升級版本為vsftpd-2.0.5-24.el5

[root@localhost ~]# yum -y install vsftpd* 

Dependencies Resolved

==============================================================

Package     Arch          Version        Repository               Size

==============================================================

Updating:

vsftpd      x86_64       2.0.5-24.el5        base                    141 k

Transaction Summary

==============================================================

Install       0 Package(s)

Upgrade       1 Package(s)

繼續閱讀 »

FTP (VsFTP) 設定

由 Derek 發表於 十二月 12, 2011 / 尚無評論

一、 FTPVsftp介紹

FTP 

檔案傳輸協議(英文:File Transfer Protocol,簡稱為FTP)是用於在網路上進行檔案傳輸的一套標準協議。透過FTP就可以在網路上進行文件的上傳或下載。它屬於網路傳輸協議的應用層。FTP是一個8位元的用戶端-伺服器協議,能操作任何型別的檔案而不需要進一步處理,就像MIMEUnicode一樣。但是,FTP有著極高的延時,這意味著,從開始請求到第一次接收需求資料之間的時間,會非常長;並且不時的必須執行一些冗長的登陸行程。

 

維基百科

VsFTP

VsFTP是一款在Linux版本中,最被廣泛使用的FTP服務。優點是小巧輕快、安全易用,能讓自身特點得以發揮。目前在開源碼中常見的FTPD套件主要有,ProFTPDPureFTPdwuftpd等。

 

 

二、 VsFTP 設定說明

VsFTP的啟動方式有兩種「VsFTP」和「xinetd」。

在這邊就先來介紹用VsFTP啟動的方式。

若想了解xinetd啟動方式可參考「vsftpd架設(Super daemon)

 

1. 安裝VsFTP

1.1 先查詢是否有安裝了VsFT

[root@localhost ~]#  rpm -q vsftpd 

vsftpd-2.0.5-21.el5

 

1.2 安裝及啟用VsFTP

若沒有安裝的話請先行安裝

[root@localhost ~]#  yum install vsftpd 

[root@localhost ~]# /etc/init.d/vsftp start

[root@localhost ~]#  netstat -tulnp |grep 21

tcp    0    0 0.0.0.0:21     0.0.0.0:*       LISTEN      4804/vsftpd

#確定vsftp服務是否有起來,並且是以vsftp所啟動的

 

繼續閱讀 »

vsftpd架設(Super daemon)

由 Derek 發表於 五月 18, 2011 / 4 則評論

vsftpd 的全名是『Very Secure FTP Daemon 

vsftpd 擁有兩種啟動的方式,分別是一直在監聽的stand alone 

一種則是透過 xinetd 這個  super daemon 來管理的方式。

CentOS上預設都是用Stand alone來啟動的。


兩種vsftpd的使用時機為 :

stand alone如果你的ftp伺服器是提供給整個網際網路來進行大量下載的任務,例如公

                           家機關,或各大學校的 FTP 伺服器,那建議你使用stand alone 的方式,

                           服務的速度上會比較好

super daemon如果只是提供給公司內部人員使用的FTP,那使用super daemon

                               管理就可以了

 

stand alone中又可分為【stand alone-實體用戶】和【super daemon-匿名用戶

這邊先介紹super daemon


  

一開始先檢查是否有安裝vsftp


[root@localhost ~]#  rpm -q vsftpd

vsftpd-2.0.5-16.el5_4.1

如果你的 CentOS 沒有安裝, 請利用 yum install vsftpd 來安裝他

 

Super daemon】的設定方式

如果FTP較少在使用的情況下,可考慮使用Super daemon,在Super daemon管理部份就要自行修改設定檔。


[root@localhost ~]#  vi /etc/vsftpd/vsftpd.conf

#找到這一行

listen=YES

#YES改成NO

listen=NO

 

 

接下來修改設定檔,但是底下設定檔必須要自己新增才行。(基本設定)

有關設定檔內容的部份可參考【Super daemon設定檔語法說明

 


[root@localhost ~]#  vi /etc/xinetd.d/vsftpd

service ftp

{

        socket_type             = stream

        wait                    = no

        user                    = root

        server                  = /usr/sbin/vsftpd

        log_on_success          += DURATION USERID

        log_on_failure          += USERID

        nice                    = 10

        disable                 = no

}

  繼續閱讀 »

vsftpd架設(Super daemon-匿名登入)

由 Derek 發表於 五月 17, 2011 / 4 則評論

vsftpd 的全名是『Very Secure FTP Daemon 

vsftpd 擁有兩種啟動的方式,分別是一直在監聽的stand alone 

一種則是透過 xinetd 這個  super daemon 來管理的方式。

CentOS上預設都是用Stand alone來啟動的。

 

兩種vsftpd的使用時機為 :

stand alone如果你的ftp伺服器是提供給整個網際網路來進行大量下載的任務,例如公

                           家機關,或各大學校的 FTP 伺服器,那建議你使用stand alone 的方式,

                           服務的速度上會比較好

super daemon如果只是提供給公司內部人員使用的FTP,那使用super daemon

                               管理就可以了

 

stand alone中又可分為【stand alone-實體用戶】和【super daemon-匿名用戶

 

這邊先介紹super daemon-匿名用戶

若要了解匿名登入可參考此篇stand alone-實體用戶

 

 

匿名登入的設定方式

首先我們要先知道當用匿名登入時的目錄在那個地方。基本上都是放在預設/var/ftp/目錄當中。

首先,先說明一下幾個重要的設定檔案

    /etc/vsftpd/vsftpd.conf

簡單來說,整個 vsftpd 的設定檔就只有這個檔案!是用『參數=設定值』來設定的, 等號兩邊不

能有空白喔!詳細的vsftpd.conf說明可用『man 5 vsftpd.conf 』查看。

    /etc/pam.d/vsftpd

       這個是 vsftpd 使用 PAM 模組時的相關設定檔。主要用來作為身份認證之用,還有一些使用者

       身份的抵擋功能, 也是透過這個檔案來達成的。

    /etc/vsftpd.ftpusers

/etc/pam.d/vsftpd有關係,也就是PAM模組(/etc/pam.d/vsftpd_ 所指定的那個無法登入的使用

者設定檔。這個檔案的設定很簡單,只要將『不想讓他登入的帳號』寫入這個檔案就可以。一行

一個帳號。

    /etc/vsftpd.user_list

       這個檔案能否生效與vsftpd.conf內的兩個參數有關,分別是『userlist_enableuserlist_deny』。

       如果說/etc/vsftpd.ftpusersPAM模組的抵擋設定項目,那麼這個/etc/vsftpd.user_list 則是 vsftpd

       自訂的抵擋項目。事實上這個檔案與/etc/vsftpd.ftpusers幾乎一模一樣,在預設的情況下,你可

       以將不希望可登入vsftpd的帳號寫入這裡。不過這個檔案的功能會依據vsftpd.conf設定檔內的

       userlist_deny=(YES/NO) 而不同

    /etc/vsftpd.chroot_list

這個檔案預設是不存在的,所以必須要手動自行建立。這個檔案的主要功能是可以將某些帳號的

使用者chroot在家目錄下。但這個檔案要生效與vsftpd.conf內的『 chroot_list_enable,

chroot_list_file 』兩個參數有關。如果想要將某些實體用戶限制在家目錄下而不許到其他目錄去,

可以啟動這個設定項目喔

    /usr/sbin/vsftpd

       這是 vsftpd 的主要執行檔,vsftpd只有這一個執行檔

    /var/ftp/

       這是vsftpd預設匿名者登入的根目錄

 

 

建立vsftpd.conf的設定資料

雖然說可以同時開啟【stand alone-實體用戶】和【super daemon-匿名用戶 】,不過基於

安全性考量還是建議針對單一種身份來設定會比較安全一些。這邊就來介紹匿名登入的

設定方式

可依照個人的需求來設定vsftpd.conf,以下是一些基本的設定可參考看看。

至於其它Vsftd.conf詳細說明,可以參考【Vsftd.conf設定說明

繼續閱讀 »

vsftpd架設(stand alone-實體用戶)

由 Derek 發表於 五月 16, 2011 / 1 則評論

vsftpd 的全名是『Very Secure FTP Daemon 

vsftpd 擁有兩種啟動的方式,分別是一直在監聽的stand alone 

一種則是透過 xinetd 這個  super daemon 來管理的方式。

CentOS上預設都是用Stand alone來啟動的。

 

兩種vsftpd的使用時機為 :

stand alone: 如果你的ftp伺服器是提供給整個網際網路來進行大量下載的任務,例如公

                           家機關,或各大學校的 FTP 伺服器,那建議你使用stand alone 的方式,

                           服務的速度上會比較好

super daemon: 如果只是提供給公司內部人員使用的FTP,那使用super daemon

                               管理就可以了

 

stand alone中又可分為【stand alone-實體用戶】和【super daemon-匿名用戶

 

這邊先介紹stand alone-實體用戶

若要了解匿名登入可參考此篇super daemon-匿名用戶

 

查詢是否有安裝vsftpd


[root@localhost ~]#  rpm -q vsftpd

vsftpd-2.0.5-16.el5_4.1

 


如果你的 CentOS 沒有安裝, 請利用 yum install vsftpd 來安裝他吧


 [root@localhost ~]# yum install vsftpd

Loaded plugins: fastestmirror

Loading mirror speeds from cached hostfile

 * addons: centos.ustc.edu.cn

 * base: centos.ustc.edu.cn

 * extras: centos.ustc.edu.cn

 * updates: centos.ustc.edu.cn

addons                                                   |  951 B     00:00

base                                                       |  2.1 kB     00:00

#中間內容略過。

Is this ok [y/N]: y

中間過程會有兩次需要輸入y(確定)

Is this ok [y/N]: y

Running rpm_check_debug

Running Transaction Test

Finished Transaction Test

Transaction Test Succeeded

Running Transaction

  Updating       : vsftpd                                                   1/2

  Cleanup        : vsftpd                                                   2/2

Updated:

  vsftpd.x86_64 0:2.0.5-16.el5_5.1

Complete!

#這樣就安裝完了

 

 

先來啟動vsftp


 [root@localhost ~]# /etc/init.d/vsftpd start

正在啟動 vsftpd 中的 vsftpd:                               [  確定  ]

[root@localhost ~]# netstat -tulnp| grep 21  

tcp    0    0 0.0.0.0:21     0.0.0.0:*       LISTEN      4804/vsftpd

#確定vsftp服務是否有起來,並且是以vsftp所啟動的

 

 

繼續閱讀 »

Super daemon設定檔說明

由 Derek 發表於 五月 15, 2011 / 1 則評論

再來介紹Super daemon各種語法的功能和說明

 

一般設定項目:服務的識別、啟動與程式

      disable(啟動與否)

   設定值:[yes|no],預設 disable = yes

     disable為取消的意思,此值可設定該服務是否要啟動。預設所有的super daemon

     管理的服務都不啟動的。若要啟動就得要設定為『disable = no

 

    id(服務識別)

   設定值:[服務的名稱]

     雖然服務在設定檔開頭『service服務名稱』已經指定了,不過有時後會有重

     複的設定值,此時可以用id來取代服務名稱。可以參考一下

     /etc/xinetd.d/time-stream來思考一下原理

 

    server(程式檔名)

   設定值:[program 的完整檔名]

     這個就是指出這個服務的啟動程式。例如/usr/bin/rsync為啟動rsync服務的指令,

     所以這個設定值就會成為:『server = /usr/bin/rsync

 

    server_args(程式參數)

   設定值:[程式相關的參數]

     這裡應該輸入的就是server那裡需要輸入的一些參數。例如rsync需要

     加入 –daemon,所以這裡就設定:『server_args = –daemon』。與上面server 

     搭配,最終啟動服務的方式『/usr/bin/rsync –daemon

 

    user(服務所屬UID)

   設定值:[使用者帳號]

     如果 xinetd 是以 root 的身份啟動來管理的,那麼這個項目可以設定為其他使用

     者。此時這個daemon將會以此設定值指定的身份來啟動該服務的程序喔!舉

     例來說,你啟動rsync時會以這個設定值作為該程序的UID

 

    group

   user的意思相同。此項目填入群組名稱即可。

  繼續閱讀 »