【第152回】 Marketing Cloud SFTP ログインの公開鍵認証について
少し前に書きました「Marketing Cloud における ファイル転送時の暗号化/復号化」が大変好評頂けました。
そこで、今回は Marketing Cloud のセキュリティシリーズ第 2 弾として、SFTP ログインの公開鍵認証について、記事にまとめてみます。
ちなみに SFTP ログインにはこの公開鍵認証の他、パスワード認証があり、このパスワード認証の方がデフォルトとなっているので、通常はそちらを使用してログインされているものと思います。
公開鍵認証では SSH(セキュアシェル、Secure Shell)キーペア(公開鍵と秘密鍵)を使って、ログイン認証することになります。もう少し分かりやすく言うと、秘密鍵が保管(保持)されている端末でしか、FTP クライアントにアクセスできなくなります。
また、パスワードのように見知らぬ誰かに特定されにくいという面や、サーバー側には公開鍵しか登録しませんので、ログイン認証ための情報が流出するというリスクも低いです。これらの点から、よりセキュアなログイン認証方法であると言えます。
それでは、早速 SSH キーペアの作成のところから手順を追ってみましょう。
■ PuTTYgen を使用した SSH キーペアの作成
Salesforce Marketing Cloud 公式では、ssh-keygen や PuTTYgen などのサードパーティーツールを使用して、SSH キーペア(公開鍵と秘密鍵)を作成してくださいと推奨されています。
ssh-keygen -e -f id_rsa.pub -m ssh2 > ssh_key.pem
今回の記事は、Windows PC で「PuTTYgen」を使った説明を行います。それでは、まず、PuTTYgen をインストールしましょう。以下のサイトでダウンロードできます。
下にスクロールすると、以下の「install the PuTTY」という文字がリンクになっているので、そちらをクリックします。
その後、インストールを開始して下さい。各種設定はデフォルトのまま進めてしまって問題ないです。
インストールが完了したら、PuTTY フォルダの中にある「PuTTYgen」を選択します。
このツールで設定する上で、以下の 2 つに注意して下さい。
まず、① の 4096 ビットの鍵長(かぎちょう)に関してですが、こちらは右下で設定ができます。「4096」と入力しましょう。
続いて、② の RSA のキータイプに関しては、すでにデフォルトで「RSA」が設定されていますので、ラジオボタンをそのまま「RSA」にしておいて下さい。
さて、ここまで設定できたら「Generate」をクリックします。
鍵の生成が始まりました。ここで注目頂きたいのが「PuTTY ツール上でマウスで適当に動かして下さい」という趣旨のことが書いてありますので、適当にマウスをツール上で動かして下さい。そうしないと生成が進みません。不思議な仕様ですね。
鍵の生成が完了し、画面が切り替わると FTP クライアントで秘密鍵による署名を実行する際のパスフレーズが入力できます。このパスフレーズは必須ではありません。設定するかどうかはお任せします。今回はパスフレーズ有りのパターンで設定します。
最後に生成された公開鍵と秘密鍵を保存します。公開鍵を保存する場合は以下をクリックして下さい。
今回は「ssh_key_public」と名付けました。保存しても拡張子は付きませんが拡張子は不要です。
続いて、秘密鍵を保存します。以下をクリックして下さい。
今回は「ssh_key_secret」と名付けました。こちらは自動的に拡張子「.ppk」が付きます。
SSH キーペア(公開鍵と秘密鍵)の作成手順は以上になります。
■「キー管理」の登録方法
続いて、Marketing Cloud セットアップで「キー管理」へ移動します。新規作成で、キータイプで「SSH」を選択します。
続いて、「名前」を決めたら「キー」の箇所で、先ほど作成した「公開鍵」を選択します。拡張子は付いていないままで問題ありません。この名前は後ほど、どの鍵を使うかを選択する際に表示されますので、分かりやすい名前に設定して下さい。
最後に「Public Key」にチェックマークを入れたら「保存」します。
■ FTP ユーザーの設定について
続いて、FTP ユーザーの設定を行います。
Marketing Cloud セットアップで「FTP アカウント」へ移動します。該当の FTP ユーザーの右端のプルダウンを選択し、「Manage SSH Keys」を選びます。
続いて、前述した通り、4 つの認証オプションが選択できますのでお好きなものを選択します。今回は「SSH Key のみ」に変更します。そして右側の検索ボックスを選択すると、先ほど登録した公開鍵が呼び出されますので、選択して保存して下さい。
保存を押すと登録が開始されますので、更新ボタンを押して下さい。
下記のような状態になれば、登録完了です。こちら、直ぐに完了します。
■ FTP クライアントでのログイン方法について
最後に、FTP クライアントにおけるログイン方法についてです。今回は FileZilla における説明を行います。
FileZilla を開いたら、左上のファイルから「サイトマネージャー」を選択します。
新しいサイトをクリックしたら、名前を入力します。今回はデモ環境なので「Demo」と入力しました。
続いて、プロトコルを「FTP」から「SFTP」に変更し、ログオンタイプを「通常」から「鍵ファイル」に変更します。
あとは、ホスト、ポート(22)、ユーザー、鍵ファイルをそれぞれ入力して下さい。この「鍵ファイル」で先ほど作成した「秘密鍵」の方を参照します。入力後、「接続」ボタンを押します。
すると、最後にパスコードの入力を求められます。(キー生成時にパスフレーズを設定していた場合のみ表示されます。)ここではキーペアを作成した時に入力した「パスフレーズ」を入力します。入力したら OK を押します。
すると、いつもの Marketing Cloud のディレクトリへアクセスすることができましたね。成功です。
いかがでしたでしょうか?
この SFTP の公開鍵認証の設定を行うのとセットで「データエクステンションのブラウザエクスポートの制限機能」(エクスポートメール許可リスト)を設定することで、よりセキュアになります。そちらは、また別のセキュリティシリーズの記事として書いてみたいと思います。
今回は以上です。
次の記事はこちら
前回の記事はこちら
私の note のトップページはこちら