タグ別アーカイブ: EC2

AWS EC2へのSSHに対する攻撃を分析してみた (2015年4月〜6月) | ある研究者の手記

富士通研究所の齊藤さんが発表された「SSHログインセンサによるSTBF(Brute Force attacks with Single Trials)の観測」において 一つのIPアドレスからパスワード試行が1回だけ実施されて、次は別のIPアドレスから試行されて、というのを繰り返すBrute force攻撃が確認されたという 事例が報告されていました。これは、一つのホストからパスワード試行を繰り返すと防御側に目立って接続拒否されたり、 共有されているブラックリストに掲載されてしまい他の環境に対しても攻撃ができなるなることを攻撃者が警戒した結果、 ボットネットのように悪性ホストを大量に所有(またはレンタル)している攻撃者が目立たないように1回だけパスワード試行をして去る、という 一撃離脱型の攻撃が連続して発生しているということだと考えられます。 この攻撃に対してはIPアドレスを基準としたパスワード試行回数制限による対策がほぼ無効化されてしまうということが言えます。

引用元: AWS EC2へのSSHに対する攻撃を分析してみた (2015年4月〜6月) | ある研究者の手記.

AWS EC2へのSSHに対する攻撃を分析してみた (2015年4月〜6月) | ある研究者の手記

今回利用したハニーポットは特にSSHサーバを偽装するわけではなく、 アクセスしてきた接続元のホストに対してSYN-ACKを返すだけで、あとは勝手に相手が送ってくれたデータをせっせと回収します。 ではなぜ22番ポート以外もSSHだとわかったのか?というとSSHの接続確立時に相手が勝手にバナーとして SSH-2.0-PUTTY のような文字列を送ってきてくれるので、そこからSSHをターゲットにしているということがわかります。 なかにはSSH-2.0-paramiko_1.15.2やSSH-2.0-libssh2_1.4.2のように、あからさまにツール使ってますぜと宣伝してくれている やつもいたりします。 しかし先に述べたとおりこちらからは何も情報を渡していないため、相手は攻撃先がSSHサーバであるかどうかを確認などせずに22番以外の ポートに接続をしにきているということがわかります。「ポート番号を変えているからパスワード認証でも大丈夫だよね」とか 「ポートスキャンを止めているからどこがSSHのポート番号かわからないよね」と考えている管理者の方はぜひ設定の見直しをお勧めいたします。

引用元: AWS EC2へのSSHに対する攻撃を分析してみた (2015年4月〜6月) | ある研究者の手記.

AWS EC2へのSSHに対する攻撃を分析してみた (2015年4月〜6月) | ある研究者の手記

観測されたIPアドレスは全部で6,669件ですが、そのうちの約80%にあたる5344件の攻撃元IPアドレスがどれか一つのインスタンスでのみ 観測されているということになります。それぞれのインスタンスはある程度同じレンジにおさまっていたため、 このことから 攻撃者は近接するアドレスに対して何度も出現する可能性が高いとは言えない ということがわかります。 先ほどのポート番号に比べると直接的な対策ができるような類のものではありませんが、例えば自組織で管理されている サーバでSSHの不審なアクセス(Brute forceなど)が発生したさいに他のサーバも利用するブラックリストに追加する、 というような対策はそれほど効果的ではないかもしれません。(もちろん、残り20%は複数インスタンスで観測されているので 無意味ということはありませんが、それでも全インスタンスで観測されたアドレスは約6.5%ほどになっています)

引用元: AWS EC2へのSSHに対する攻撃を分析してみた (2015年4月〜6月) | ある研究者の手記.

マーケティング担当者にSQLを完全マスターさせた話 – Qiita

改めて方針としては,Slash Commandを受けてLambdaが起動し,Lambdaの処理の中でRunCommandを呼びだします.これならLambdaがやることはRunCommandのAPI呼びだしだけになるのでスペックも最低で良く,所要時間も一瞬です.

あとはRunCommandで呼びだされたEC2インスタンス内でSQLを投げ,結果をSlackに投げ返してやるので,時間のかかりそうな処理はすべてEC2インスタンス内で実行されることになり,Lambdaの課金に怯えなくてよくなります.

引用元: マーケティング担当者にSQLを完全マスターさせた話 – Qiita.

米動画配信のNetflix、Chaos MonkeyのおかげでAmazon EC2のメンテナンスリブートを難なく乗り切る - Publickey

NetflixがChaos Monkeyで試していたシステムの中には、同社がバックエンドデータベースとして採用しているNoSQLのCassandraも含まれていました。実は同社の今回のブログはこの部分がいちばんの見所になっています。

Last year we decided to invest in automating the recovery of failed Cassandra nodes. We were able to detect and determine a failed node. With the cloud APIs afforded to us by AWS, we can identify the location of the failed node and programmatically initiate the replacement and bootstrap of a new Cassandra node.

昨年、私たちは落ちたCassandraノードの自動リカバリに取り組むことを決断した。落ちたノードを検出することは可能であり、AWSによるクラウドAPIでそれがどのロケーションなのかを判別できるため、それを置き換え、新しいノードを立ち上げるプログラムを実現した。

この自動化を実現した上で、Chaos MonkeyによるテストにはCassandraが加わり、サーバが落ちても動作し続けるように検証が続いたそうです。

この結果、今回のAmazon EC2のメンテナンスでは、運用中の2700を超えるCassandraノードのうち218がリブートされ、そのうち22ノードのリブートが失敗したにもかかわらず自動的に復旧が行われ、全体としてはダウンタイムゼロでAmazon EC2のメンテナンスリブートを乗り切ったと報告されています。

Netflixのブログは、「パーシステントレイヤー(データベースのような永続的データを担当するレイヤー)であっても、レジリエンス(障害などへの対応力や回復力)の計画を持つべきだ。もしCassandraをChaos Monkeyのテストに加えていなかったら、今回の話は別の結果に終わっていただろう」と結んでいます。クラウド上に展開したシステムをどのように設計し、テストすべきなのか、大きな示唆を与えてくれているのではないでしょうか。

引用元: 米動画配信のNetflix、Chaos MonkeyのおかげでAmazon EC2のメンテナンスリブートを難なく乗り切る - Publickey.

【AWS】AWSでFTPサーバー立てる時に気をつけるべき2つのこと+α | Developers.IO

EIPによるグローバルIPアドレスは、直接EC2に割り当てられているわけでなく単なるNATなわけで、EC2自身はグローバルIPアドレスを認識していないわけですね。これを失念しており、サーバー設定後の動作確認時にパッシブモードで繋がらない理由が分からず、少々ハマッてしまいました。

FTP自体は歴史も古く広く運用されているプロトコルなのですが、AWSとは少々相性が悪いと個人的には思っています。特にランダムにポートを使用するため、セキュリティグループでどうしてもポートを広く開けなければいけないのは正直いただけません。

引用元: 【AWS】AWSでFTPサーバー立てる時に気をつけるべき2つのこと+α | Developers.IO.

よしづみぶろぐ: AWSよりGoogle Compute Engineを選びたくなる10の理由

8.持続性IPアドレス

Amazon EC2のElastic IP(EIP)と違い、GCEのリザーブドIPはVMの再起動によって変更されません。GCEではまた、既存の割り当て済一時IP(エフェメラルIP)をリザーブドIPに昇格させることも出来ます。これにより、一時IPについて作成した初期DNSレコードをそのまま保持することが出来ます。Amazon EC2上では、EIPはVMの起動時に紐付けられている必要があります。GCEのリザーブドIPアドレスについての詳細は『インスタンスとネットワーク(本文は英語)』参照ください。

引用元: よしづみぶろぐ: AWSよりGoogle Compute Engineを選びたくなる10の理由.

よしづみぶろぐ: AWSよりGoogle Compute Engineを選びたくなる10の理由

5.統合されたネットワーク

Amazon Virtual Private Cloud(VPC)はAmazon EC2の公開から2年遅れて登場しました。Amazon EC2上のネットワーキングは後付であり、顧客がVPC環境にEC2の大規模なデプロイをするのを困難にしています。GCEにおいては、ネットワークは第一優先度で考えられており、顧客は仮想ネットワーク、プライベート、パブリックサブネット、ファイヤーウオール、ルーティング、ゲートウェイ、ACL等の環境を最初のVMを立ちあげる前に作成出来ます。Amazon VPCと異なり、ネットワークは別のサービスではなく、GCEの統合された一部なのです。GCEのドキュメントの『ネットワーキングとファイヤーウオール(本文は英語)』の章を参照ください。

引用元: よしづみぶろぐ: AWSよりGoogle Compute Engineを選びたくなる10の理由.

RDS for Oracleでのsysdateに要注意 | Developers.IO

RDSに限らず、EC2もデフォルトのタイムゾーンはUTCになっています。EC2の場合はOSにログインできるため、Linuxの場合なら下記コマンドでUTCからJSTにタイムゾーンを変更することが可能です。

1

ですが、RDSではOSのタイムゾーンを変更することは不可能です。OracleのsysdateはOSの時刻を返すため、sysdateを利用して取得する値はUTCでの値が帰ってくることになります。

sysdateはOracleを利用してアプリ開発する上では呼吸をするように自然に使う関数だと思います。しかも、既存アプリの場合はJSTでデータが取得できることが前提の作りになっていることが多いと思いますので、その前提が崩れるとなると単純移行では済まなくなってしまいます。

新規開発の場合は、「DBのタイムゾーンはUTCになるから、アプリで変換してねー」で済む話のですが、 *1既存アプリを移行する場合はどういった対策を打てばいいのでしょうか。以下に3点を示してみました。

引用元: RDS for Oracleでのsysdateに要注意 | Developers.IO.

ライセンスをOS単位に変更:サーバの自動管理ツール、日本HPがバージョンアップ版を販売開始 – @IT

Operations Orchestration 10は、各種サーバを管理・運用するのに必要なITプロセスを自動化するツール。テンプレートと呼ぶ作業内容を従来の4000種から5000種以上に拡充し、新たにAmazon EC2やOpenStackなどのパブリッククラウドリソースや、vCloud Director、Hyper-V、KVMなどのサーバ仮想化製品に対するテンプレートを強化した。GUIを利用して、ユーザー自身でテンプレートを作成することも可能。価格は管理対象のOSが1インスタンス当たり6万7200円(同)で、2013年8月1日に販売を開始する予定である。

引用元: ライセンスをOS単位に変更:サーバの自動管理ツール、日本HPがバージョンアップ版を販売開始 – @IT.