未來的裕翔
要開啟vsftpd服務, 要先安裝vsftpd套件
port 21/tcp, ftp command
port 20/tcp, ftp data
/etc/vsftpusers, 黑白名單
vsftpd可用TCPWRAPPER控管
預設是:
normal user可以上傳下載, 登入預設進入家目錄
不過selinux要開, setsebool -P ftp_home_dir=1
帳密就是/etc/passwd
如果是anonymous user登入, 就只能下載, 登入預設是/var/ftp
如果想讓anonymous user可以上傳
vsftpd.conf要先設定
anon_upload_enable=YES
建議修改上傳的檔案屬性和權限
chown_uploads=YES
chown_username=XXX, /etc/passwd要存在此使用者
anon_umask=077, 上傳後的檔案就會變成600
這樣除了XXX誰都不能讀anonymous user的檔案了
所以也就不能下載
通常會另外建一個資料夾以供上傳
mkdir incoming
chown root.ftp incoming, w和x要一組才能寫入
chmod 730 incoming, 這樣大家就看不到別人上傳的檔案
到此, 還要修改incoming資料夾的context
不然selinux預設(public_content_t)無法寫入
chcon -t public_content_rw_t incoming
最後最後, selinux還有擋一個^^
setsebool -P allow_ftpd_anon_write on
補充:
pc連到unix預設是ascii mode
可輸入bin切換到binary mode
想換到ascii mode就輸入ascii
ACTIVE MODE(server主動SYN client):
1. 當client向server的port 21送出SYN
2. client再跟server的port 21說client自己要開哪個port(隨機, >1024)
3. server用port 20跟client的那個隨機port聯絡, 用SYN
4. 然後client的那個隨機port回一個ACK給server的port 20
就可以開始傳了
不過在3可能會被client的防火牆擋住
所以需要PASSIVE MODE:
1. client SYN server的port 21
2. client跟server的port 21說client要進行PASSIVE MODE
3. server的port 21跟client說, 請聯絡server的隨機port(>1024)
4. 於是由client SYN server的隨機port
5. 然後server回一個ack給client
不過如果server也檔那個隨機port就不用玩了
所以iptables才會有那個RELATED,ESTABLISHED blabla
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment