不正アクセスに備えた安全なサーバーについて

不正アクセスに備えた安全性の高いサーバーを構築するポイントを教えてください。
SFTPサーバーによる公開鍵認証方式の利用と、IPアクセス制限や防御機能をご利用ください。詳しくは以下にご案内します。

サーバーの種類(プロトコル)

SFTPサーバーのご利用を強く推奨します。
SFTP は、安全性と高速性を両立させた優れたプロトコルです。SSH ホスト鍵による認証を利用することで、より安全な接続を可能にします。
SSL/TLS の脆弱性に関する問題が多い FTPS と比べて、安心してご利用いただけます。

IPアクセス制限を有効にする

特定の IPアドレスを指定して、特定アドレスだけの接続を許可することや、特定アドレスからの接続を拒否することができます。
注意点としては、クライアント側の IP が固定されている必要があります。

(参考:IPアドレスによるアクセス制限)

防御機能を有効にする

Titan SFTP Server に搭載されている、「フラッド攻撃防御/Dos 設定」機能を活用します。
この機能を使用することで、不審なユーザーからのアクセスを自動的にブロックできます。

フラッドプロテクション

公開鍵認証を使用

パスワード認証を無効化して、公開鍵認証のみを利用することで、安全性を向上できます。
パスワード認証の場合、情報が漏洩していない場合でも、パスワードに使用している文字列を特定されるリスクが存在します。
公開鍵認証は、秘密鍵と秘密鍵のパスワードが流出しない限り、第三者によるアクセスを拒否できるため、パスワード認証よりも安全です。

256 ビット以上の ECDSA 鍵を使用

SSHホストキーには、256 ビット以上 ECDSA の利用を強く推奨します。
クライアントが ECDSA をサポートしていない場合は、2048ビット以上の RSA を使用しましょう。

ホストキーの作成

暗号化方式に AES256 を使用

ChaCha20 は、安全性が高い新しい暗号化アルゴリズムとして注目されているアルゴリズムで、Google のサーバーや 新しい MacBook などでも採用され、IPA でも推奨されていましたが、2023年 12月に脆弱性が報告されています。(CVE-2023-48795)

Titan SFTP Server では、ChaCha20-Poly1305 に加えて、従来の AES もサポートしています。
安全性とパフォーマンスのバランスを要求される場合、AES256 (CBC 以外) をご利用ください。
また、AES256-ChaCha20-Poly1305 と CBC が付く全ての方式は無効化してください。

(参考:SFTPサーバーの暗号化方式)

HMAC に HMAC-SHA2 以上を使用

HMAC のハッシュ関数には、SHA2 以上を強く推奨いたします。
SHA1 は、古いクライアントにも対応できるメリットがありますが、脆弱性が発見されているため推奨しておりません。

SHA の後についている数値は、AES と同じく鍵長となり、数字が大きいほど安全性が高く、速度が低下いたします。

SHA2-512 はサポートされているクライアントが少ないため、多くのクライアントでサポートされている、HMAC-SHA2-256 をご利用ください。
Titan FTP Server では、複数の HAMC を選択して優先順位を指定できるため、HMAC-SHA2-256 が最後になるように並べ替えておくと良いでしょう。
また、ChaCha20-Poly1305 は無効化してご利用ください。

(参考:サポートしている MAC アルゴリズム)

鍵交換アルゴリズムに ECDH や curve25519 を採用

鍵交換アルゴリズムには 256ビット以上の ECDH が推奨されています。
SHA1 には脆弱性が確認されているため利用を推奨できません。

現在の業界標準である ecdh-sha2-nistp256 をご利用ください。
古いクライアントがある場合は、diffie-hellman-group14-sha256 と diffie-hellman-group-exchange-sha256 を有効にして、下段に移動しておくと良いでしょう。
curve25519-sha256@libssh.org も有効にして、並び順を最上段に移動しましょう。

(参考:サポートしている鍵交換アルゴリズム)

使用しない項目の無効化

使用しない暗号化方式、HMAC、鍵交換アルゴリズムのチェックを外しておきましょう。
細かなことですが、不正アクセス対策として効果的です。

SFTP 設定の強化