AWSアプリケーションのセキュリティ




最近、クラウドの移行が見受けられ、Amazon Web Services(AWS)は、アプリケーションをホストするための最も一般的なソリューションとして考えられています。AWSは、既存のデータセンターのセキュリティ基準をすべてのクラウドサード、サーバー開発者のために提供していますが、AWSアプリケーション開発者には、企業のインフラストラクチャを構築および管理する上で、セキュリティおよび認証に関する考慮事項があります。

AWSのクラウドインフラストラクチャでは、アプリケーション開発者がアプリケーションを安全に実行できるようにするために数十の異なるレベルのセキュリティと認識がサポートされています。 AWSでは、低レベルのネットワークセキュリティおよびハードウェアセキュリティをはじめとして、アプリケーションセキュリティのサポート機能を標準化しています。 AWSは、クラウドインフラストラクチャに対するセキュリティ強化を継続的に実施しているだけでなく、アプリケーション開発者に役立つ知識を公開しています。

アプリケーションセキュリティのベストプラクティス




アプリケーション開発者は、AWS上で安全なアプリケーションを開発・実行できるようにするため、データベースやネットワークなどの基本的なソフトウェアエントリポイント(最小権限原則など)を実施する必要があります。アプリケーション開発者は、ログイン情報やパスワードを安全に保管しておくことも強く推奨されます。例えば、アプリケーション開発者は、AWS Secrets Managerでのキーとパスワードの管理を推奨しています。

Serverlessアプリケーションのセキュリティ




アプリケーション開発者は、データを暗号化し、未知のネットワークからのアクセスを拒否して、Serverlessアプリケーション自身を保護することもできます。これには、データを保管するときにサーバーレスストレージサービスを使用することなど、Serverlessアプリケーションを使用する際のセキュリティ最善手段を実施することが含まれます。サーバーレスアプリケーションに特有の新しいセキュリティの取り組みにも取り組む必要があります。

サンプルコード




以下は、AWSインスタンスを安全に設定するサンプルプログラムです。

# Update ALL packages
sudo apt-get update -y

# Install UFW Firewall
sudo apt-get install ufw -y

# Allow insecure connection
ufw allow ssh

# Allow HTTPS
ufw allow https

# Allow limited devices to access the AWS instance
ufw allow from 192.168.8.9

# Enable UFW firewall
sudo ufw enable


上記のサンプルコードを利用することで、AWSインスタンスを安全な状態にセットアップできます。ただし、データがどのように保護されているかをよく調べるようにしてください。 AWSクラウドインフラストラクチャでアプリケーションセキュリティを実施するときは、以上のサンプルから始めると良いでしょう。

投稿者: systemreach_engineer