2013年10月11日
【AWS】無料でAWSを使う事における、セキュリティリスク
初心者がAWSを始めるときに、陥りがちな罠として、
セキュリティ対策が挙げられる。
たとえば、EC2を使ってWEBサーバという位置づけのサーバWEBSERVERを立ち上げたとする。
ホームページを公開したいのと、管理をするためにSSHログインする必要があるため、
外部に向けて、HTTPとSSHのポートを開放した。
いったん、問題なさそうだけれど、外部にSSHを開放するということは、
外部からアクセスする進入口を用意しているということで、
セキュリティ観点上、常時SSHポートが空いているのはよろしくない。
よくAWSでは公開したサーバを踏み台として利用されてしまい、
悪用されてしまうケースがあるそうです。
では、どうしたらいいか。SSHログイン用の踏み台サーバを用意することです。
SSHポートだけ開放したサーバHUMIDAIを用意します。
そして、WEBSERVERは外部にはHTTPだけ開放し、SSHは、このHUMIDAIからのみ許可をするようにします。
このHUMIDAIサーバは基本的にはWEBSERVERへのSSHログインを使うときだけインスタンスを起動させ、
使い終わったらインスタンスを閉じる。
という動作を行うだけで、不正侵入のリスクを少なくすることができます。
こういったポートやIPの制限は、AWSにはSecurityGroupというものをインスタンスごとに
付与することができて、アクセスに関するルール付けを行えます。
なるべく一年間の間、無料に近い範囲で使いたい!ということであれば、
先日、あげたAWS無料範囲の通り、EC2で作ったサーバ750時間、RDSで作ったDB750時間は
1年間は無料範囲なので、踏み台サーバを起動してメンテナンスする時間だけ課金が発生してしまいます。
なので、例えば、ApacheやWordPressをインストールしたEC2のWEBSERVER(インスタンス)と
データベースRDSの構築は、ポートを開放しない状態で無料範囲内で行い、
構築が終わったらWEBSERVERのインスタンスは、一度落して、踏み台サーバを構築。
その後、WEBSERVERと踏み台サーバのSSHのテストを行い、公開。踏み台サーバは普段落しておく。
メンテナンスは、踏み台サーバを立ち上げてからWEBサーバにSSH接続を行い、メンテナンスが
おわったら踏み台を落としておく。といったやりとりでしょうか。
ちなみに、CloudWatchという監視の仕組みを使えば、EC2のインスタンスは、
使っていなければシャットダウンするというった設定も容易にできるので、
踏み台を立ち上げっぱなしだった!!というのも防げるわけですね。
Wordpressであれば、直接コンソール画面でやりとりができますね。
FTPを使うのであれば、FTPのポートを開けておけば、踏み台を使わなくてもよいですね。
レンタルサーバを使った方が楽ですが、大きいサイト作りをするには、
こういった初歩的なサーバ構築が必要になってくるわけですね。
サーバでもDBでもネットワークでも、プログラミングでもセキュアな知識をもつのって
大事ですよね。まだまだこの辺が弱っちいので頑張らなければいけません。
セキュリティ対策が挙げられる。
たとえば、EC2を使ってWEBサーバという位置づけのサーバWEBSERVERを立ち上げたとする。
ホームページを公開したいのと、管理をするためにSSHログインする必要があるため、
外部に向けて、HTTPとSSHのポートを開放した。
いったん、問題なさそうだけれど、外部にSSHを開放するということは、
外部からアクセスする進入口を用意しているということで、
セキュリティ観点上、常時SSHポートが空いているのはよろしくない。
よくAWSでは公開したサーバを踏み台として利用されてしまい、
悪用されてしまうケースがあるそうです。
では、どうしたらいいか。SSHログイン用の踏み台サーバを用意することです。
SSHポートだけ開放したサーバHUMIDAIを用意します。
そして、WEBSERVERは外部にはHTTPだけ開放し、SSHは、このHUMIDAIからのみ許可をするようにします。
このHUMIDAIサーバは基本的にはWEBSERVERへのSSHログインを使うときだけインスタンスを起動させ、
使い終わったらインスタンスを閉じる。
という動作を行うだけで、不正侵入のリスクを少なくすることができます。
こういったポートやIPの制限は、AWSにはSecurityGroupというものをインスタンスごとに
付与することができて、アクセスに関するルール付けを行えます。
なるべく一年間の間、無料に近い範囲で使いたい!ということであれば、
先日、あげたAWS無料範囲の通り、EC2で作ったサーバ750時間、RDSで作ったDB750時間は
1年間は無料範囲なので、踏み台サーバを起動してメンテナンスする時間だけ課金が発生してしまいます。
なので、例えば、ApacheやWordPressをインストールしたEC2のWEBSERVER(インスタンス)と
データベースRDSの構築は、ポートを開放しない状態で無料範囲内で行い、
構築が終わったらWEBSERVERのインスタンスは、一度落して、踏み台サーバを構築。
その後、WEBSERVERと踏み台サーバのSSHのテストを行い、公開。踏み台サーバは普段落しておく。
メンテナンスは、踏み台サーバを立ち上げてからWEBサーバにSSH接続を行い、メンテナンスが
おわったら踏み台を落としておく。といったやりとりでしょうか。
ちなみに、CloudWatchという監視の仕組みを使えば、EC2のインスタンスは、
使っていなければシャットダウンするというった設定も容易にできるので、
踏み台を立ち上げっぱなしだった!!というのも防げるわけですね。
Wordpressであれば、直接コンソール画面でやりとりができますね。
FTPを使うのであれば、FTPのポートを開けておけば、踏み台を使わなくてもよいですね。
レンタルサーバを使った方が楽ですが、大きいサイト作りをするには、
こういった初歩的なサーバ構築が必要になってくるわけですね。
サーバでもDBでもネットワークでも、プログラミングでもセキュアな知識をもつのって
大事ですよね。まだまだこの辺が弱っちいので頑張らなければいけません。
【AWSの最新記事】
この記事へのコメント