デザイナーさんもFTPではなくSSH(SFTP)を使いましょう
SSH接続の仕組みについて説明している媒体は多くありますが、イマイチ、理解しにくいです。わかりやすいSSH接続の説明をしているWEBサイトを発見しました!以下のWEBサイトを参考にすると非常にわかりやすいです。
『Webデザイナーなら知っておくべき サーバ知識相談室 第2回 ファイル転送はFTPじゃなくてSFTP? SSHで安全にサーバへ入ろう』
ポイントは『秘密鍵が鍵』『公開鍵が鍵穴』というあたりと『乱数』『暗号化』『復号』『照合』のあたりになります。よくあるパターンでは、秘密鍵と公開鍵を『鍵がふたつある』の様な感じで表現しているメディアが多いのですが、理解しにくいです。あとは『乱数』『暗号化』『復号』『照合』を双方(2者間の場合)でどのような順序で行っていくか?という点をきちんと理解していけば、ssh接続の公開鍵と暗号鍵の仕組は理解しやすいです。
デザイナーさんもFTPではなくSSHを使いましょう
ftpプロトコルによるネットワーク通信はユーザー名とパスワードが暗号化されていません。sshの鍵認証による暗号化通信に切り替えることを強くおすすめします。デザイナーさんであってもです。sshの原理を理解していなくても、ファイルのエクスポート・インポートだけであればWindowsでもMacでもFileZillaでSFTP接続のやり方だけ覚えれば大丈夫です。ssh接続向けのユーザー、キーペア、パスフレーズの作成は、インフラエンジニアやプログラマに頼んでもいいかと思います。ただ、WindowsでTeraTerm、Windowsでgit bash、Macでターミナル等の場合はLinuxコマンドでパスの概念を理解してファイルのエクスポート・インポートを行う必要があります。デザイナーさんが原因で情報ろうえい!となるのも困りますよね。
FTP通信はwireshark等で誰でも通信の中身を見られます
データベース接続アカウントなどが記載されているwp-config.phpファイルなどのワードプレスファイルをftpでアップロード/ダウンロードするとネットワーク経由で、wp-config.phpの中身を見知らぬ他人が搾取出来てしまう可能性があります。データベースの乗っ取りなど、悪用されてしまう危険性があります。無料ダウンロードできるwireshark等の高機能なパケット取得・プロトコル解析ソフトで、ネットワークインターフェイスを流れるパケットを誰でもリアルタイムでリスト表示確認することが出来るため、暗号化されていないと中身が丸見えです。
クレジットカード業界のセキュリティ基準PCI DSS で暗号化が指定されています
クレジットカード業界のセキュリティ基準 PCI DSS3.1では 「目的2. カード会員データの保護」「要件4 オープンな公共ネットワーク経由でカード会員データを伝送する場合、暗号化する」と明確に暗号化が指定されています。対象は、カード会社、加盟店、プロセサー(決済処理代行事業者)など、カード情報を管理、処理、伝送するすべての組織です。
FTPを暗号化する場合はSSHとなり、HTTPを暗号化する場合はSSL/TLSの証明書を発行し、HTTPSを使うことになります。
https(SSL/TLS)とsshを利用してネットワーク通信を暗号化することは、顧客情報を守る上で必須のセキュリティ対策です。また、SSLやTLSの古いバージョンについては脆弱性も確認されているため、2019年3月現在では、TLSの最新安定版TLS1.2、ないしはTLS1.3あたりを古いTLSやSSLと混在させずに使うことが望ましいです。
AWSの代表的な暗号化サービス
AWS Certificate Manager (ACM) でSSL/TLSをELB(ロードバランサー)、CloudFront(CDN)などと一緒に使うことが出来、SSL/TLSのバージョン選択なども可能です。SSHについては、AWS Key Management Service (KMS)を使うことで、手元のパソコンで鍵を管理することなくAWS上で鍵管理を行うことが出来ます。ただし、KMSへのアクセス権は、KMSを利用するプリンシパル(人間ユーザーや各種リソース)だけにしぼりこむなど、IAMによってAWS リソースへのアクセスを安全にコントロールすることが大切です。
AWS Systems Mangerのセッションマネージャー
SSH鍵などの管理が煩雑ということで、AWS Systems Mangerのセッションマネージャーやgravitationalを使った、SSHではない、プロキシサーバ(踏み台サーバ)を使わない、というAWSのサーバー管理手法も出てきました。まだ、一般化はしていないですが、興味深い管理手法だと思います。