- ベストアンサー
自宅のmacをftpサーバにしてメンテナンス方法と不正アクセスについて
- 自宅のmacをftpサーバにして使っていますが、メンテナンス方法を教えてほしいです。
- この環境で不正アクセスが心配です。何か対策が必要でしょうか?
- また、macで使えるアクセス解析ソフトはありますか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
環境設定>共有>サービスで「FTPサービス」をオンにした場合、共有>「ファイアウォール」では「FTPサービス」が自動的にチェックされますが、これで開かれるのはコマンド用の21番ポートのみです。このままではFTPサーバにログインすることはできても、一覧を表示したりデータを転送することはできません。 パッシブモードのデータ用に使用される1024番以降のポートは次のようにして開きます。 1.ファイアウォール→新規 2.ポート名→その他、TCPポート番号→1024-65535、説明→FTPデータ 登録ユーザとしてMacOSXのFTPサーバにアクセスした場合、初期状態ではホームディレクトリだけでなく、その上のディレクトリにもアクセスできてしまいます。もちろん、システムのパーミッションの設定は有効ですのでシステムファイルを書き換えることはできません。但し、ファイルシステムの一覧が丸見えになってしまうのはあまり好ましくありません。 これを避ける為に、FTPクライアント側から見て、ユーザのホームディレクトリをルート「/」ディレクトリに見せかけるchroot機能が用意されています。chroot機能を有効にするには、/etc/ftpchrootファイルを新規作成し、一行に一つずつ、chroot機能をオンにするユーザ名を記述します。 例 kengo050 wirelessml 全てのユーザに対してchroot機能を有効にするには、/etc/ftpchrootファイルを作成し、その中にアスタリスク「*」だけを記述します。 このファイルを作成すると、FTPクライアントからアクセスした時にホームディレクトリがルート「/」ディレクトリとして扱われ、その上のディレクトリには移動できなくなります。 MacOSXのFTPサーバである「tnftpd」には、さまざまなアクセス制御の仕組みが用意されています。 例えば、ユーザ「kengo050」にはFTPアクセスを許可しないといったように、システムに登録されているユーザの中から、FTPサーバにログインできるユーザを限定することが可能です。その為には、/etc/ftpusersファイルを編集して、一行に一つずつアクセスを拒否するユーザ名を記述します。/etc/ftpusersにはあらかじめ「root」や「www」などのシステムユーザが登録されていますので、この後にユーザを追加して行きます。 # list of users disallowed any ftp access. # read by ftpd(8). Administrator administrator root uucp daemon unknown www・・・これ以降の行にアクセスを許可しないユーザを追加する kengo050 wirelessml FTPサーバのログは、/var/log/ftp.logに保存されています。FTPサーバに接続できないなどの不具合が発生した場合は、まずログファイルを確認して下さい。コンソールでログを表示することができます。 FTPは古いプロトコルの為、セキュリティ的に弱い部分があるのはやむを得ません。ファイルのダウンロードに関してはWebサーバが使用するhttpプロトコルでも行えますし、アップロードに関してはWebDAVやSSHなどのセキュリティに強いプロトコルが使用できる為、現在ではあまり御薦めできません。
お礼
早速の回答ありがとうございます。 非常にわかりやすく詳しく書いていただいてかなり参考になりました。 ホームページもやったことないのに、ただ「ファイルをやり取りしたい。」から始まってなんとかサーバをたてることができました。 ほとんどがここでの回答を参考にしました。 まだわからないことが多いですが、いつも回答をしてくださる方には感謝しています。 回答を参考にしてまた一つ一つ学んでいきたいと思います。 ありがとうございました。