さまざまな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