制作会社へファイル修正を頼む場合は、契約全体を操作できるIDではなく、作業専用のアカウントを使うと権限を絞れます。サーバーが対応していれば、対象サイトのディレクトリだけにアクセスを制限できます。
ただし、FTPアカウントを追加できる数や、SFTPで制限できる範囲はサービスによって異なります。「専用IDを作る」「暗号化して接続する」「見せる範囲を制限する」は、それぞれ別に確認する点です。
最初にFTP・FTPS・SFTPのどれを使うか確認する
標準FTPは、ユーザー名やパスワードを含む通信を暗号化しません。RFC 2577のセキュリティ上の注意でも、標準FTPは制御情報とデータを暗号化せず送るため、可能な場合は強い暗号化を使うよう示しています。インターネット経由の制作作業では、標準FTPを新たに選ばない方が安全です。
FTPSはFTP通信をTLSで保護する方式です。SFTPはFTPへ暗号を足したものではなく、SSH上でファイルを転送する別の仕組みです。OpenBSDのSFTPマニュアルでは、すべての操作を暗号化されたSSH通信上で行うと説明しています。
サーバー管理画面や公式マニュアルで、利用できる方式・ホスト名・ポート番号を確認します。「セキュアFTP」という商品上の呼び方だけで判断せず、クライアントソフトの接続方式まで合わせます。方式を間違えると接続できないだけでなく、暗号化されていないFTPへ戻して解決したつもりになることがあります。
契約者アカウントとは別に制作会社専用を作る
サーバー契約者の管理画面には、サイトのファイル以外にメール・DNS・請求・解約などの機能があります。制作作業だけを依頼する相手へ、契約全体を変更できる権限は不要です。管理画面へ入らなくても作業できるよう、ファイル接続専用のアカウントを作ります。
制作会社の社内でも複数人が作業する場合は、可能なら担当者ごとに分けます。一つのIDを共有すると、誰がいつ変更したかを追いにくくなります。サーバーが作成数を制限する場合は、制作会社側の管理責任者と利用者を記録し、共有範囲を明確にします。
アカウント名と利用者、いつまで使うかが分かれば、作業後に停止する対象を選べます。専用の台帳を新しく作ることが必須ではありません。パスワードは通常の依頼書へ平文で載せず、会社で認めた共有手段を使います。
接続できるディレクトリを対象サイトへ限定する
複数サイトを同じサーバーで運用している場合は、依頼対象の公開ディレクトリを確認します。サーバー側で対象ディレクトリ外への移動を禁止できれば、ほかのサイトを誤って変更する範囲を狭められます。接続ソフトの初期表示フォルダを指定するだけでは、アクセス制限にはなりません。バックアップや設定ファイルが公開領域の外にある場合も、閲覧させる必要があるかを分けて判断します。
WordPressでは、テーマ修正だけでもプラグインやアップロード画像との関係を調べることがあります。最初からサーバー全体を渡すのではなく、依頼内容に必要な範囲を制作会社へ確認します。範囲を追加するときは、理由と期間を記録してから権限を変更します。
レンタルサーバーによっては、アカウントごとの読み取り・書き込みを細かく分けられません。ディレクトリ制限自体も提供されているかを確認する必要があります。分離できない構成なら、検証環境で修正ファイルを受け取り、社内または保守担当者が本番へ反映する方法も検討します。
修正を頼む範囲と、戻す方法
アカウントを発行する前に、変更するファイル・作業日時・確認するページを決めます。WordPressの管理画面からも同じファイルを更新できる場合は、作業中の変更が重ならないようにします。緊急時の連絡先と、予定時間を超えたときに中止する基準も共有します。
作業直前には、影響する範囲をバックアップします。WordPressの更新ならファイルとデータベースの両方、静的HTMLの差し替えだけなら上書き前のファイルが対象です。制作会社が控えを取る場合も、顧客情報を含むデータの保管場所と削除時期は合わせておく必要があります。
依頼情報は次の順序で準備します。
- 対象サイトと変更内容を文書で確定する
- 暗号化された接続方式で専用アカウントを作る
- 接続先を必要なディレクトリへ限定する
- バックアップと切り戻し担当を決める
- 接続確認後に作業日時と完了条件を共有する
ホスト名・ID・パスワードを一通の通常メールへまとめないようにします。会社で認めたパスワード共有機能を使い、閲覧期限を設定します。制作会社から再委託する場合は、誰が情報を受け取るかを事前に確認します。
ファイル権限は接続できない理由だけで緩めない
アップロードできないときに、ファイル権限を一律777へ変更する方法は避けます。書き込み可能な利用者を必要以上に増やし、Webから実行されるプログラムにも変更を許す可能性があります。まず接続アカウント・対象ディレクトリ・所有者・サーバー会社の推奨値を確認します。
既存ファイルと新しくアップロードしたファイルで所有者が変わると、WordPressから更新できなくなる場合があります。制作会社には、権限値を変更したファイルと理由を作業報告へ残してもらいます。問題を解消するために一時変更した場合も、確認後に推奨値へ戻します。
設定ファイルにはデータベースの認証情報が含まれることがあります。閲覧できる範囲へ含める場合は、制作会社側の保管と削除を確認します。ローカル端末へ複製したファイルも、契約終了後に残し続けないようにします。
完了確認後にアカウントを無効にする
作業後は制作会社の報告だけで完了とせず、変更したファイルの一覧を受け取ります。公開ページをパソコンとスマートフォンで開き、フォームなど影響を受ける機能を確認します。サーバーの接続ログを確認できる場合は、予定した時間と接続元に大きな違いがないかも見ます。
問題がなければ、期間限定のアカウントを無効または削除します。継続保守で緊急対応にも使うアカウントは、作業のたびに消すと対応が遅れる場合があります。契約で必要な権限を残し、保守終了時や担当変更時に見直します。サーバーが無効化に対応しない場合は、パスワード変更かアカウント削除を選びます。
予定外の変更を見つけたときは、最初に専用アカウントを止めます。現在のファイルと接続ログを保全し、バックアップへ戻す前に変更範囲を確認します。専用アカウントであれば、契約全体のパスワードを共有した場合より、止める対象と調査範囲を明確にできます。