さて、今回の鯖建ての一番の目的であるFTPサーバを一気に仕上げてしまおう。
まず、SSHのユーザ作成。
参考:https://centossrv.com/centos7-init.shtml(ここの2~4あたり)
SSHログインの踏み台専用とも言えるユーザを作成し、wheelグループに登録。
次にfirewallの設定。
参考:https://minory.org/ssh-local-ip.html
SSHはローカルからしか接続しない予定なので、hosts.deny でallを指定し、すべてのSSH接続を遮断した上で、hosts.allow にローカルIPのセグメントを書き込んだ。
まぁ、そもそもルータのポートはFTP以外開放しないので、大丈夫だとは思うんだけどね。
ここまでで、一旦電源を落とし、PCを開けて、3TBのHDD(他のWindowsで使用していた物)を接続。
このPCを設置する環境(配線とかファンの周りの空間確保)を整える。
ついでに、ルータ等の回線周りも熱を考慮した環境に整備。
この辺は100均アイテムが大活躍。
稼働させる場所にPCを設置し、再度電源ON。
さぁ、あとはガリガリと設定するだけだ。
3TBのHDDを一旦初期化してマウント。
参考:https://qiita.com/tororu/items/464773cc6902ff5e8359
vsftpdのインストール。
最初はここを参考に設定していた。
https://qiita.com/morih90/items/56aec95f25c0158848b0
いきなりだけど、告白。
実は、まともに外部公開する鯖を建てるのは17年ぶりくらい。
FTPはアクティブモードでいい…くらいにしか考えていなかった。
ところが、今やパッシブモードが基本らしいじゃないですか。
んじゃパッシブモードでやってみよう。
社内で共有する目的のFTPユーザを1つ作り、そのchrootを先ほどマウントした3TBのHDDの中に作った。
んで、いざローカルのWindowsでFilezillaを用いて接続してみると、暗号化されていないことに危機感を覚える。
仕事で扱う情報は機密性の高いものが多いので、さすがにマズいし、何かあってからでは遅い。
ってことで、他のところを参考にしつつ、いいとこどりで設定を進める。
https://www.rem-system.com/cent-ftpd-inst/
これで無事にパッシブモードで接続可能なセキュアなFTP環境が整った。
さぁ、いよいよルータのポート開放。
パッシブモードのみを許可することにしたので、21番とパッシブ接続用ポートを開けた。
そして、メインのWindowsでIPv6の回線から接続してみる。
うまくいった。
だが、見慣れないFilezillaのログが気になる。
“サーバーはルーティング不可能なアドレスでパッシブ応答を送信しました。代わりにサーバーのアドレスを使用します。”
と
“GnuTLS エラー -110 gnutls_record_recv 内: The TLS connection was non-properly terminated.”
軽く調べて対応してみたけど、このメッセージの出現は防げなかったし、結果的に問題なくファイルの送受信はできているので、いずれ解決していこう。
【2023年11月15日追記】
2年半経って「ルーティング不可能なアドレス…」は解決、「GnuTLSエラー」は原因がなんとなく掴めたような感じの記事をupしました。
→【生活】2年半以上ぶりの解決【日常】
そして、既存の社内ファイル共有用FTPサーバから全ファイルをダウンロードし、新鯖へup。
ローカルからupしたら、速い速い(笑)。
ファイルの分散を避けるために、社内メンバー全員に了承を取り、既存サーバをアクセスできないようにして、新鯖での稼働を開始した。
それから24時間以上経過したが、取り立てて問題はなし。
また制作案件が忙しくなってきたので、Apache、Mysql、PHPのインストール等はまた後日になる。