さまざまなFTPがあるので使ったもののメモ

#contents

*vsftpd [#ea11cc1f]

-CentOSの設定例

**インストールした直後の問題点 [#y65f45a1]

-/などのディレクトリが見えてしまう。
-anonymousログインが可能

**セキュリティ強化のために変更する点 [#e97b2e4b]

デフォルトのconfから変更
+Anonymous ftpユーザを許可しない(=NO)
+userlist_enable=YES
+userlist_deny=NO
+ログインさせたいユーザーのみvstfpd.user_listに記述
+chroot_local_user=YES
+chroot_list_enable=YES
+chroot_list_file=/etc/vsftpd/chroot_list
+touch /etc/vsftpd/chroot_list

-vsftpd.conf

 anonymous_enable=NO
 local_enable=YES
 write_enable=YES
 local_umask=022
 dirmessage_enable=YES
 xferlog_enable=YES
 connect_from_port_20=YES
 xferlog_std_format=NO
 pam_service_name=vsftpd
 userlist_enable=YES
 userlist_deny=NO
 listen=YES
 tcp_wrappers=YES
 chroot_local_user=YES
 chroot_list_enable=YES
 chroot_list_file=/etc/vsftpd/chroot_list

**user_listファイルに利用できるユーザの記述 [#d7023393]

ログインさせたいユーザのみ/etc/vsftpd/user_listに記述する。

-/etc/vsftpd/user_list

 user1
 user2

**/etc/vsftpd/chroot_listの作成 [#l799e21e]

空でよいので作っておく
このファイルに記述があるユーザ以外はHOME以下しか見せない設定。空でよいので作っておく。

 touch /etc/vsftpd/chroot_list

**TCPWrapperの設定 [#vfe1e0c5]

デフォルトの設定で利用可能となっている。LAN内部からのみ利用可能としておくのが吉

-/etc/hosts.deny

 vsftpd: ALL

-/etc/hosts.allow

 vsftpd: 192.168.1.0/255.255.255.0 127.0.0.1



*各設定項目詳細 [#wfbcb898]

**使えるユーザーの制限 [#u836ab0a]


**自分のディレクトリ以下しかみせない(検証中) [#x80d5710]

下記の設定は基本自分のディレクトリ以下を見せない設定で、chroot_listファイルに記述があるユーザーのみ自由にディレクトリ移動ができる。

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


HP用として公開する場合はWebディレクトリ以下に限定して公開したい場合もあるだろう(たいていpublic_html)その場合は以下の記述を追記するとFTPログイン時にそこかTOPとなる。

 local_root=public_html


**バージョン情報を隠す [#f52db68e]

デフォルトではバージョン情報が出ているので隠す。

 ftpd_banner="rutake.com FTP" 

**FTPで使えるコマンドの制限 [#zac65c1a]

**TCPWrapperによるアクセス制限 [#mda70eba]

 hosts.deny
 vsftpd:ALL
 hosts.allow
 vsftpd: 172.16.


*ProFTPD [#zbb9bb2f]

Vine標準で入っているがスタンドアローンで動いてくれるので困る。

**inetd経由に変更する [#i27b2b3e]

-/etc/proftpd.confの変更

 ServerType                      inetd

-/etc/inetd.confの変更

 ftp     stream  tcp     nowait  root    /usr/sbin/tcpd  in.proftpd

-proftpdサービスの停止とinetdサービスの開始

 /etc/init.d/proftpd stop
 /etc/init.d/inetd start

*自動でFTPするスクリプト [#q97f950c]

 #!/bin/sh
 # log setting
 LOGDIR=/var/log
 LOG=$LOGDIR/ftpbackup.log
 DESTDIR=/var/tmp
 DESTFILE=test.dat
 echo `date` backup start >>$LOG
 cd $DISTDIR
 # ftp and tar backup start
 ftp -i -v -n FTPサーバー名 << END >>$LOG
 user ユーザー名 パスワード
 lcd $DESTDIR
 put $DESTFILE
 quit
 END
 echo `date` backup complete >>$LOG

#counter

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS