本文へジャンプします。

ニフティクラウドでファイアウォールを使ってみる!

こんにちは、ニフティのいちかくです。
2011年6月16日に、待望のファイアウォール機能がリリースされました。

おくればせながら、今回は、このファイアウォールの基本的な使い方から応用編までご紹介したいと思います。
今までの iptables の運用から開放されるだけでなく、単純なフィルター機能の枠を超えた利用方法もありますので、ぜひ参考にしてご利用いただければと思います。

※現時点では、2011年6月17日以降に新規にお申し込みのお客様にのみ提供しております。
ご契約中のお客様への提供については、「ご契約中のお客様のファイアウォールご利用方法」でお知らせいたします。

今回リリースされた、ファイアウォールの特長や詳しい使い方は以下から。

ファイアウォールの特長

ニフティクラウドのファイアウォールには以下のような特長があります。

フィルター機能

ルールベースのフィルター機能を備えています。
ポート、送信元IPといったルールを作成して、通信を許可していきます。

コンパネ・APIからの操作

操作はすべてコントロールパネル・APIから行えます。
これまでの iptables のように、作成したサーバーにログインして設定する必要はありません。
また、APIからも利用できますので自動設定も可能です。

グルーピング

用途毎にグルーピングを行い、特定のグループからの通信のみを許可するように構成することができます。
これにより、擬似的なN階層構成を作ることも可能です。

セキュア

サーバーより上位のレイヤーでフィルターを行います。
通信はサーバーまで到達しないので、カーネルの脆弱性等をつかれるリスクを低減できます。

ロギング

フィルターで拒否されたログを取得することができます。
不正なアクセスの確認や、ルールが意図どおり動作しているか確認することができます。

ファイアウォールを利用するうえでの注意点
有償版と無償版

設定できるルール数等に制限がある無償版と、本格利用におすすめの有償版があります。
有償版はファイアウォールを適用しているサーバー1台に付き 1.05/時間 の料金がかかります。
無償版で試用してみて、いざ本格導入となったら有償版に切り替えることをおすすめします。

Premium2

ファイアウォールをはずしたらどうなるか

サーバーからファイアウォールをはずすことは可能になっていますが、ファイアウォールをはずすとすべての通信が許可状態となりますので十分注意してください。
※サーバーの iptables はデフォルトでは off になっています。

iptables と併用する

自前の iptables があるので、それでフィルターをしたい場合は、iptables を on にした上で前述のとおりファイアウォールをはずすことで実現できます。
ファイアウォールと iptables 両方を併用することもできます。
この場合は、ファイアウォール、iptables の順番でフィルターがかかります。
ただし、iptables の場合、通信はサーバーまで到達しますので、あまりおすすめはしません。

ロードバランサー、監視サーバーからの通信

ロードバランサーと基本監視用のサーバーからの通信は、デフォルトで許可されています。
これまでロードバランサーを設定した場合は許可設定が必要でしたが、ファイアウォールの適用後は不要になります。

グループ内の通信

同一グループ内に属するサーバー同士の通信はフィルターは行われません。

ファイアウォールを使ってみる

では、さっそくファイアウォールを作って、実際の動きを確認してみたいと思います。

サーバーを作成するときにファイアウォールを適用する

まずは、ファイアウォールの適用をしてみましょう。サーバー作成の途中で設定することができます。

Server_create

デフォルトでは、「default(Linux)」「default(Windows)」から選択できます。
Linux は 「default(Linux)」、Windows は「default(Windows)」をひとまず選択しておきましょう。
ルールの中身はどうなってるの?は次で。

ルールを確認してみる

デフォルトグループのルール内容を確認してみましょう。
メニューから「ファイアウォール」をクリック、グループ一覧で「default(Linux)」のラジオボタンをチェックしてみます。

Firewall_rule

default(Linux) では、SSH(22/tcp)、接続元 0.0.0.0/0(すべて)からの接続を許可しています。
default(Windows) は、RDP(3389/tcp) の接続が同様に許可されています。

ルールを追加してみる

ルールを追加して動きを確認してみたいと思います。
試しに、HTTP の許可ルールを追加して、HTTP でアクセスできるようにしてみます。

まずは、サーバー側で httpd を立ち上げます。

# service httpd start

この状態でブラウザからアクセスしてみます。

Http_reject

拒否られました。
ファイアウォールが正常に機能しているようです。

グループにHTTP の許可ルールを追加してみます。
さきほどのファイアウォールグループ一覧画面で「ルール設定を変更する」をクリックします。

Rule_change1

ルール設定ダイアログが開きますので、以下の通り設定して追加ボタンをクリック、確認画面で変更するボタンをクリックします。

Rule_change2

再度、ブラウザからアクセスしてみましょう。

Http_ok

めでたく表示されました。
ルール追加により 80/tcp が許可され、通信ができるようになりました。

グループを追加してみる

デフォルト状態からグループを追加するには有償版への切り替えが必要です。
「より充実した機能の有償版を利用する」から有償版への切り替えが行えます。

Premium

有償版への切り替えができたら「ファイアウォールグループ作成」ボタンからグループの追加ができます。
グループの設定は、グループ名、ルール設定、サーバー選択の順番で進めて行きます。

疑似3階層構成を作ってみる

グループの考え方を利用して擬似的なN階層構成を作る事ができます。
ここでは、Web・アプリ・DBの3階層を作ってみたいと思います。
以下のようなイメージになります。

 

グループ名 用途 ルール
web Webサーバー 80/tcp のみの通信を許可
apl アプリサーバー Webサーバーからの 8009/tcp(ajp) の通信のみを許可
db DBサーバー アプリサーバーからの 3306/tcp(MySQL) の通信のみを許可

ついでに、それぞれのサーバーへのログインは、default(Linux) に管理サーバーを配置し、そこを踏み台に SSH でログインする形で設定してみたいと思います。

「Web」のグループ作成

Group_web

・すべての接続元から HTTP(80/tcp) の通信を許可
・接続元種別にグループを選択し、default(Linux) グループから SSH(22/tcp) の通信を許可

「アプリ」のグループ作成

Group_apl

・web グループから AJP(8009/tcp) の通信を許可
・default(Linux) グループから SSH(22/tcp) の通信を許可

「DB」のグループ作成

Group_db

・apl グループから MySQL(3306/tcp) の通信を許可
・default(Linux) グループから SSH(22/tcp) の通信を許可

あとは、それぞれの役割のサーバーを作成して、グループに追加していきます。

詳細な手順は割愛しますが、上記のようにグループからの許可通信を駆使し、特定グループに属するサーバーからの通信だけを許可するグループを作ることで、N階層構成を作る事ができます。
また、ログイン経路も管理用のグループからに限定し管理サーバーを踏み台とすることで、インターネットからのアクセスを遮断したセキュアなログイン環境を構成することもできます。

まとめ

基本的なフィルター機能から、3階層構成の応用編までご紹介しましたがいかがでしたでしょうか。
これまでの iptables による設定に比べて、コントロールパネル・APIから設定できるようになり、運用負荷や設定ミスのリスクはだいぶ減るかと思います。
また、機能的にも使い方によっては単純なフィルター機能の枠を超えた利用も可能ですので、ぜひお試しいただければと思います。

◆ニフティクラウドからのお知らせ◆

2011年7月1日から2011年8月31日まで、ニフティクラウドが30,000円分使い放題になる「ニフティクラウドおためしキャンペーン」を期間限定で実施しております。使える機能に制限はありません。「ニフティクラウドを使ってみたい」という企業様は、是非ご利用ください。

ニフティクラウド 導入相談窓口
ニフティクラウド 無料セミナー

閉じる

閉じる

クラウドブログ編集部

クラウドブログ編集部

ニフティクラウド ユーザーブログ編集部のアカウントです。 編集部からのお知らせや、レギュラーライター以外のゲストによる寄稿記事を掲載していきます。

浜中 慶

浜中 慶

1980年、神奈川県生まれ。2003年ニフティ入社。 ポータルサイト開発を中心に、音楽配信サービス、CGMサービスなど様々なプロジェクトに企画/デザイン/システム担当として参加。現在は@niftyのポータルサービス向けコンテンツ管理システムの企画/開発/運用を担当。

吉田 雄哉

吉田 雄哉

株式会社co-meetingの創業メンバー。「取締役&External- facing Technologist」と名乗り新しいIT技術を広く伝える活動とWebアプリケーション開発を行う毎日。パッケージベンダーでのSaaS立上げ・製造業の情報システム部門で企画やPM・受託開発と従事してきたため、ベンダーサイドとユーザサイド の両方の視点を持ち合わせる。

石田 健亮

石田 健亮

株式会社ドリーム・アーツで小売事業者向けSaaS「Shopらん」を企画、開発。メインの仕事はプログラマーだがサーバー管理や営業もこなすユーティリティプレイヤー。最近好きな事はパフォーマンスチューニング。特に並列化プログラミングがマイブーム。キライなことはデータセンターでの作業。騒音と乾燥が弱点。ニフティクラウドでデータセンターに行く必要が無くなったことが本当の利点だ と思っている。

五月女 雄一

五月女 雄一

ニフティでは「インフラを守る簡単な様で奥が深いお仕事」をしています。 夢はインフラの気持ちが読めるエンジニアになること。

わたなべ かずひろ

わたなべ かずひろ

専門学校卒業後、ソフトウェア開発会社で電力系統制御システムの開発に従事。その後、CD-ROM等マルチメディア系PCソフトの開発を経て、1998年フリーランスに。 2000年8月に株式会社イーツーの設立に参画。携帯を含む様々なWeb系のシステム開発に携わる。現在はiPhone/Androidアプリなどの開発も手がけている。

市角

市角

ニフティクラウドのコントロールパネル設計・開発をメインに、たまにインフラの運用やお手伝いもやっていたりします。コントロールパネルや新機能の活用方法、アイデアなどを中心に書いていく予定です。

仲山 昌宏

仲山 昌宏

歌って踊れるインフラエンジニア兼、PHPもRubyもJavaも書くPerl使い。 物理サーバの運用に飽きて、フルラックに格安サーバ詰めて自宅プライベートクラウドを構築中。 今年は個人的には分散処理を攻めていきます。

猪飼 賢広

猪飼 賢広

1984年、愛知県名古屋市生まれ。大学は福島県にある某大学。2008年ニフティに入社。 開発系部署に配属後、主に各種テーマサイト開発のシステム面調整、開発進行管理役などとして参加。 現在もPC・ガラケーサイトの開発まわりを担当。インフラまわりを触る案件にも携わっており、日々修行中。 好きな芸人はなかやまきんに君とレイザーラモンRG。

久江 裕之

久江 裕之

ニフティクラウドのインフラ運用、OS提供の仕事をしています。 新しいOSやイメージが出る時にこのブログでご紹介いたします。入社5年目。一流のインフラエンジニアを目指して日々勉強中。

竹内 豪

竹内 豪

ニフティクラウド エンジニア

山口

山口

ニフティクラウドの基盤設計、新サービス/アライアンス/インフラ企画、その他雑用全般を担当しています。 クラウドに欲しい機能や、こんなふうに使ってほしいという想いが共有できれば良いですね。

芳中 隆幸

芳中 隆幸

ニフティクラウドの開発、運用を担当しています。

酒井 浩平

酒井 浩平

ニフティクラウドの中にいます。 ネットワークまわりの運用・開発や自動化などに取り組んでいます。 すべてのエンジニアを幸せにすることを目指しています。

higebu

higebu

ニフティクラウド IaaSのエンジニアです。 ネットワーク、DRサービス with VMware vCloud® Air™ Technology辺りの担当をしています。

武田

武田

ニフティクラウドの開発・運用を担当しています。 各種機能の内容についてなどで執筆させていただく予定です。

福澤真

福澤真

ニフティクラウドのコンパネ開発、運用をしています。

森藤 大地

森藤 大地

データに関する仕事が好きです。

宮原徹

宮原徹

日本仮想化技術株式会社 代表取締役社長兼CEO。仮想化技術に関するコンサルタントとして長年活動しており、特にベンチマークテストによる性能評価を得意としている。

荒谷翔

荒谷翔

株式会社はてなでMackerelのセールスデベロッパーとして勤務しています

東條 望

東條 望

2014年にニフティへ中途入社。 入社後から現在まで、ニフティクラウドのサービス企画・開発を担当しています。 各サービスの紹介を執筆させていただく予定です。

世良迪夫

世良迪夫

ニフティクラウドのRDBなどを担当しています