イノベーションをしないキル収益は?

9月は第2、2010クリス コメントはありません»

Paul Grahamがでており、最大書き込みを優秀なバストなぜ行ったYahooは。 記事全文は読んでみる価値ですが、ここでは、2つの選択肢引用です:

私は検索のためのヤフー後半覚えて言ってDavid Filoを会社ではなく、それを使用していた1998年、またはGoogleにYahooが必要購入し、1999年初めプログラマー他のでほとんどは、。 彼は心配だ私を価値のないものそれは。 検索のトラフィック%の私達の6人のみ、私たちは先月%であった成長10。 それがうまくやっている価値がありませんでした。

およびそれ以降のポールは言うに行く:

異なる場合はされていた状況が、人々はYahooを実行していた検索が重要かもしれないが実現早く方法を示します。 しかし、彼らはお金の間に、世界で障害を持っている一番不透明な真実:。 として広告限り、バナーの大きな小切手をお客様がされ、それが真剣された検索を取るのは難しい。 Googleは、それらをそらすためにしたことがない。

まず、免責事項:私は約表現するために午前の意見が自分のです。 彼らは、ものではありませんか私が働いているすべての組織との関係を持って、過去、現在または将来の。 あなたはあなたの組織内の技術革新の欠如を表示する場合、私はあなたのために仕事をしたら、知っていると、これらの意見がお客様の組織に関するていると思う私は彼らがいないことを保証できます。 彼らは観察完全に別の組織についてです。

ポールの記事は本当に私のためにホームランを放った。 数年を振り返っ私は別の組織のためのコンサルティング費やしてきたと考えて、私が特徴的なパターンに気づいた。 インターネット空間はいくつかのクール革新していた企業と、散らばっている彼らの市場シェアに進出したが、その後より高い利益を追求する彼らの方法を失った。 あなたは組織の内部文化の中でだけでなく、それを見ることができるその前には、国民との相互作用を面しています。 一度フォーカスが長期的な技術開発から、短期的収益に変更、組織は下方スパイラルを始めた。

おそらく1つ最古のほとんどの例公開されたロータス 自分と同じくらい白髪の人の場合は、おそらく1-2-3とノートのようなプログラムが選択ビジネスクラスのシステムとして地図上にPCを置く覚えています。 90年代初頭には誰もが、Lotusソフトウェアを実行していた。 歴史の中でその時はそれは非常に革新的な機能だった。 文字通りすべての会社私は仕事をしたLotusソフトウェアの大規模な展開があった数年があった。

その後、90年代半ばの周りだそれはすべて変更されました。 新規ではなく、バグを修正リリース転送技術を押した。 過酷なコピー防止システムが実装されました。 の電話サポートとパッチの費用は、屋根を行った。 私は私が今までの距離Lotusソフトウェアから取得する私ができるかを決めた瞬間を覚えています。 私が) 再び座っていました:ホールドのccメールサポート(破損していたデータストア自体はと)を実現分30〜60回(通常は雇った人が待機ディスクジョッキーを再生した曲を発表するキューです。 これは、私には、ロータス、彼らのサポートの問題があったが、ではなく、知って対処する根本的な原因を、彼らは安価な方法を取って、芸能人を雇ったと述べた。 私は確信しているが、これは彼らの短期的な収益性を増加し、それは私のような人々をマイクロソフト陣営に実行して送信されます。

コースロウツの最後ではなかった。 私たちも、Microsoftが飛躍的にフォーカス技術革新からの保護とマーケティングのスリックタイヤをコピーするように変更まで成長を見た。 SCOグループ社は、SMBソリューションれて訴訟弁護士し、すぐに忘却の淵にスライドされてから彼らのビジネスモデルを変更しました。 私たちも、再びOracleとそれを見ている可能性があります。 いくつかの具体的だと主張し、その革新日を、Oracleが購入していないに転送するGoogleに対する訴訟に ハードからのように主張するポイントthis appears外では、と日は、殺すやった人だけ他のOpenSolarisの、thusプログラマの外部に設けによるイノベーション切断of wealthオフ。

ポールの記事で、彼はYahooの優秀なプログラマーを雇っていない根本的な原因を責める。 私の経験で問題はそれよりも深い。 会社が、彼らはプログラマのような雇用革新(上)以下と豆のカウンタを採用に重きを置くこの自己破壊的なフェーズに入ります。 新しいアイデアを促進するからフォーカスの変更は、短期的利益のためにすべての最後のペニーを絞りします。 最初の兆候は、通常、不合理な政策の変更です。 キューブは一部のみクッキーカッターのファッションで飾らすることができます、エンジニアは自分のゴミ箱を空にする必要があります、あなたはむしろより我々のtimeの1日の会計の詳細を過ごすactually何を達成、etc.等

私はいくつか会計士はかなり棒グラフは、ポリシーの変更増加の収益性、これらの種類は、彼らは非常に重要なポイントを逃すに表示できることを確認だが。 変更は革新的な思考に不利な環境を作成します。 文化は、すべてが保証が革新的なアイデアは失敗としているシフト、革新的な思想家は、他の機会に移動する予定です。 Yahooとポールの相互作用が良い例です。 その代名詞食品中の食料品店で投資するとして考えてください。 購入食べ物が安くて長期短期れる結果の長期収益性が、 それはコストを、おそらく医療劇的に増加に ときに小銭を数えていることは、長い健康な生活をのような長期的な目標(の緩い目に簡単です)。

だから問題は大企業ですか? マントラは、大企業が失敗する運命づけるしている間だけの小さな空腹企業が革新することができますか? 個人的に、私はこれが本当だとは思わない。 私は十分に内部には戦車が技術革新を促進する考えを作成するスマートている大企業を見てきました。 機構は、代わりに、新しいアイデアがトップに浮上し、障害が同義終了となっていない得られることに置かれます。 収益性はまだ重要な(そして私見にする必要があります)、創造的なリスクが潜在的な技術の垂直に経営陣によってサポートされている間。 これはおそらくアップルである良い例だ。 コンピュータから携帯電話への移行の垂直市場で大きな変化だったが、スペードで報われた。

最後に、私はそれが本当に来ると思うダウン企業文化です。 何がその大きさはないが、会社を殺す能力の育成に長い短期的思考ではなく、長期的。 クイック健全性チェックが、あなたの組織を革新よりもBeanのカウンタを採用気づけば、あなたはすでに下方スパイラルにすることがあります。


VMwareの高速パスが対低速パスファイアウォールを

2010年8月30日クリス コメントはありません»

私たちの多くは、現在の仮想ファイアウォールで作業している。 私は以前に関する記事をセキュリティでレルム仮想の長所と短所が、今日私はVMwareと可能性をファイアウォール話についてしたい。 今は新しい比較的多くなっているの興奮についてヴイエムウェアVMsafe APIを。 具体的には、誰もが/高速パスのファイアウォールを展開作成に乗り出している。 しかし、すべての高速パスの実装が等しい作成ですか? そこに高速パスソリューションを行くとセキュリティ上の懸念はありますか? てみましょうダイビングとしてください。

内訳VMsafeの

VMsafeセキュリティAPIのリリースでは、VMwareのオプションがvSphere環境内で直接リング0でハイパーバイザーに接続するベンダーを許可することによってセキュリティを実装するためのご利用を強化しました。 VMsafeは、3つのコンポーネントから成ります:

  • VDDK - ディスクブロックの検査。 APIは、公にリリースされました。
  • vCompute - CPUとメモリのAPIです。 公表されていない。 不明その第三者が、アクセスすることがあれば。
  • vNetwork - APIは/ vNICがとvSwitch間フィルタを監視します。 公表されていない。 知識には私の最高の、唯一のAltor ネットワーク&レフシステムは、 (アクセスがAPIの2つの開発に協力ベンダー)。

具体的には、私がvNetwork APIに話をしたい。 時ESXホスト内の制御ネットワークのトラフィックの流れは、2つの可能な実装、"スローパス"と"ファーストパス"です。

スローパス

スローパスは単純な実装と我々は年間使用しているものです。 効果的にこれは単なるVMゲストは、他のVMゲストに似て、ESXホスト上で実行されます。 通常、各ユーザーは、一意のvSwitchに接続され、それぞれがこれらのvSwitchesのユニークなvNICがファイアウォールで接続されます。 これは、従来のファイアウォールの設定に似ていますが、実質的に実装した。 低速パスで実行する利点は、OSのすべてのライブラリやサービスにファイアウォールをサポートするために必要なフル打撃を実行することができます。

高速パス

高速パスが効果的に環に直接ハイパーバイザカーネルにプラグイン0ドライバです。 これは、各vNICが/ vSwitch接続との間に挿入のためのサードパーティベンダを活用するハイパーバイザーことができます。 高速パスのドライバがカーネルコンテキストで実行されているので、システムに最小限のオーバーヘッドを追加します。 その結果、高速パス内のコードの実行が実質的に速いスピードで同等のコードよりも遅いパス内(各コンテキストのため、VMwareの命名規則を実行されて)です。 最終的な結果では、はるかに多くの仮想ゲストを実行することができますので、ESXホストへの負荷は、最小限に抑えられます。

高速Vsが遅い

だから、あなたが以内に高速パスすべてをしたいと思うように聞こえるが、そこにいくつかの問題です。 高速パスは、カーネルのドライバを最小化ハイパーバイザに差し込むではなく、フルブローのオペレーティングシステムです。 これは、ライブラリやサービスをファイアウォールの制限交通の流れを制御するため利用しています。さらにそこにはハイパーバイザーを膨らませることはしないと明言する必要がありますので、我々はカーネルドライバで、攻撃面を増やすか、他のハイパーバイザー機能を妨げるプラグです。 VMwareは、リリース前にすべての高速パスドライバのコードレビューを実行します。 だから私は理論的に高速パス内のすべての私のコードを実装することができれば、私は前にすべてのパッチや機能のリリースにVMwareの承認が必要になります。

このことを念頭に、仕入先"ファーストパス"をサポート主張実際に高速パス、低速パスとしての部分を自分のコードの一部を実装するまで終了する予定であり、とし、2つの間にコネクタを作成します。 どのくらいの負荷がシステムの高速パスに実装され、このコードの多くは、どのくらいそれの依存する配置が遅いパスで実行されます。

可能な高速パスの展開

たとえば、ベンダーは、高速パスドライバを書くように選択できますが遅いパスにファイアウォールを実装するだけでトンネルすべてのパケットを戻します。 トラフィックが渡される必要がある場合または削除、渡されたパケットでバック挿入のための高速パスコードにハイパーバイザー制御チャネルに送信されてゆっくりとパスコードが決定されます。 これは、高速パスを導入する最も簡単な方法になるだろうが、、おそらく最も安全は安全、それは少なくともパフォーマンス上の利点を提供する。 システムの負荷は、おそらく多くの完全な遅いパスの実装よりではない。 まだ""ファーストパスのサポートを請求することができるしながらそれは彼らの既存のコードへの変更の最低額を必要とする私は、非常に従来のファイアウォールベンダに魅力的なものとしては、このオプションを参照してください。

もう1つのオプションは、高速パスドライバファイアウォールのエンジンとして動作する管理機能のための低速パス領域を使用することです。 だから、例えば、ファイアウォール管理者は、インターフェイスを低速パス上のVMが、これを下の高速パスドライバに政策を進めると実行して使用してポリシーを作成します。 トラフィック制御はすぐに実装することができますので、この設定では、高速パスのドライバは、ポリシーのコピーをしています。 その結果、高速交通最小限のシステム負荷で処理している。 トレードオフはリング0でかさばるコードです。

また、2つの混合物を実装することです。 私はファイアウォールのポリシーを実装する高速パスのドライバを使用することが例では、言うまでもないですが、再度の侵入のチェック、ウイルスscanning、または何が必要ですの低速パスのシステムに対するすべての"受理"パケットを通過。 許容パケットが再度挿入するための高速パスドライバに渡されます。 可パケットが遅いパスコンポーネントと対話しながらだからこの設定ではすべての"削除"パケットは高速パスを介して、処理されます。

注意点として、あなたの心のとき、ちょうどファイアウォールをすべてvNetwork実装をしない案を検討上記の情報を保持する必要があります。 vNetwork APIは、ポリシーの施行は、QoS、ネットワークの統計情報、たとえば、等非常に最初のvNetworkの実装では、実際にはVMWareののLab Managerをされた収集するために使用することができます。 このツールは、セルフサービスのプロビジョニングに使用され(これはvShieldを介して実装されて)ファイアウォールのコンポーネントを含んでいません。

要約

一方VMsafeは厳密には"遅いパスが高いことすべての製品は、単に"速いパス"の実装と見なされることはほとんどありません"実装することができますと統合VMwareの製品です。 すべての高速パスの製品はほとんどのハイブリッドになるだろう。 これは、どのくらいコード"高速パスで"遅いパス"空間と"空間が存在するだけの問題です。 製品が高速パスのサポートを要求する場合は、少し深くするため任意の実際のパフォーマンスの利点を識別するための実装を分析する掘る必要があります。

Comcastの詐欺

2010年8月25日クリス コメントはありません»

完全にセキュリティが、無関係私は頭を捨てると思ったので、この際、私に起こった驚きました。

ときにお客様のクレジットカードや住宅ローンを支払う、そこで(しようとするの法律)がつり上げあなたから債権を保つている。 たとえば、クレジットカードの支払いを行う場合は、債権者は、最古の購入には、支払いを適用している。 彼らは、彼らが簡単に高い金利と罰則は、最近の購入をオフに支払うことによってであなたを打つことができなかったしなかった場合。 法律は消費者保護のいくつかのレベルを提供するように設計されます。

どうやら同じルールはComcastは適用されません。 先頭へ戻る6月に私は地元のComcastのオフィスに行って、2つの新しいケーブルボックスを拾いました。 これらは、私は完全に旅行のために逃した私6法案は、上にそれを作った。 私は自動支払いをするために、私の銀行を設定して6月の自動支払いは$ 18ショートになってしまった。 移動7月、私は同じ問題を抱えていた。 法案ではと見ていないだけで、自動のことを行う支払うことができます。 それだけで18ドル不足していない現在場合を除き、それは18ドルプラス手数料と罰則です。

そこでここでは、8月にあります。 30日以内私は前回のお支払いとComcastして以来、より自分のサービスを殺した。 電話、テレビ、インターネット、すべてオフラインにします。 私は問題を見つけるために呼ばれ、私は60日遅れていたアカウントを言われた。 私は、Comcastはそのような要件を最古の債務の支払いを適用していると言われた3つの異なった人々と話し後。 私の7月の法案は、現在検討しているとき、私の6月の法案は60日間の延滞と考えられた。 したがって、サービスの中断と同様、複数の手数料が中に物アウトをまっすぐに。 Comcastはほとんど債権と同じ基準に開催されている場合、私はまだそれを18ドル借りている。 彼らは、彼らの料金体系と私は今ドル47借りしていないため、まだ(どうやらそのティーボのサービスを登り、その数は戻ってサービス技術なし)をオンにすることはできません。

検視

  • バンドルホームサービスは、お金を節約することができますが、障害の厄介な1つのポイントになります
  • 注意異なることが法案の銀行ベースの自動支払いを使用してください
  • Comcastの料金体系では、$ 1延滞し、これを次の月ミスをそんなにしている場合には、967パーセントの年利率を獲得することができます

回転は潮が?

6月は3日、2010クリス コメントはありません»

私は長年そのアンチウィルスは、もはや有効であり、優れたセキュリティの姿勢は、アプリケーションホワイトリストを含める必要があることと言ってきた。 ここではジョージカーツは、McAfeeの最高技術責任者からのクールな引用とは:

"あなたはウイルス対策ソフトウェアに依存することはできません - 私たちはウイルス対策会社です。 また、ファイアウォールは、単独で十分な保護を提供しない"と彼は言った。

ウイルス対策、ファイアウォール、侵入検知が開始されます。 しかし、"ホワイトリスト"は強力な防御を提供します。 つまり、基本的にダウンので、信頼できる唯一のプログラムが実行を許可されるようにコンピュータをロックしている。 何も変更することができますまたは追加または更新された、システム管理者は除く。

McAfeeは"それはどこに未来が起こっているのだ、と、"カーツ氏は言う。

話フルリンクする

お洒落なパーティーに遅いが、私はそれをお願いします。 ;-)

安全です仮想化システムは、多かれ少なかれ?

2010年5月18日クリス コメントはありません»

私は上記の疑問を持ったのだ、私はブログの記事に値するの感じ十分な時間を尋ねた。 数年前に答えがされている可能性があります"安全性の低い"、今日の答えは"両方"です。 私が知っているように聞こえるクリス非コミットが、されてその答えは実際にはほとんど正確に技術の現在の状態を記述しません。

仮想化の変更すべてを

私はいくつかの人々の発言を、仮想化については同じように、インターネットは90年代でした業界に影響を与えると聞いて。 正直に言うと、私はその意見にメリットがあると思う。 90年代初頭のほとんどの人はクローズドなネットワーク上でIPX、AppleTalkを、NetBUIや他のプロトコルの茄多を実行していた。 90年代の終わりまでに、ほとんどの人は排他的に全世界への接続とIP実行していた。 我々はビジネスのやり方だけでなく、我々は、完全にの上変更したセキュリティを適用する方法10年。 両方のネットワーク管理、1990年に最先端されたセキュリティ技術は1999年までにすべてが無駄であった。

仮想化は、業界で同じ影響を与える立ち上げ始めている。 仮想化の導入は、セキュリティを適用する方法の完全なの再考が必要です。 これは、ネットワークに影響を与えるとどのように関係なく、単にインターネットに接続されて戻る1990年代で、管理者は、大きな時間を火傷をした。 我々は、人々は、仮想化を採用すると同様の結果を表示するに並んでいる。

何が仮想化が少ない安全なの

仮想化のアキレス腱は、ソフトウェア自体にあります。 我々はソフトウェアを互いに離れゲストシステムを維持する信頼できるだけでなく、ホストと期待している/またはハイパーバイザー。 この期待して2つの主要問題があります:

  1. ソフトウェアはバグが無料です
  2. ソフトウェアが正しく構成することができます

数年前コア研究ができることを示した彼らがOSのブレークのホストからのゲストのコントロールとゲインいっぱいです。 一方ハイパーバイザーは、露出の種類を制限するはずです、私たちもいる例を確かに見たハイパーバイザーはバイパスされている。 我々は、ソフトウェアしたされたケースを見てもなる環境悪用のみ仮想実行する際にします。 これらのリンクは過去数年間に発見されている仮想化の問題の小断面を示す。 あなたが興味があれば、Googleはあなたのより完全なリストを与えることができます。

慎重なセキュリティ専門家は、盲目的に安全である、ソフトウェアの信頼の慎重になるだろうので。 問題は、ベンダーは、常にこの同じアプローチを取ることはしないです。 自分でVMwareを乗りのESX(すぐに製品)することがESXi例として。 私たちの多くはされましたが、したびっくり仰天したときの代表は、VMwareの発表でれたCanSecWest理論ハイパーバイザーは、ESXのは不可能に攻撃する。 仮定何かをすると、割れないに、誰かが、より創造的である行くだけで我々は時のパンチスルーを理解をする方法を。

1つの経由でモジュール(への私の最大のそれは懸念して設計したのESXは、VMwareは、/ ESXiはVMSafe )。 プラスの側面で、これは、外部のベンダーはハイパーバイザーの機能とセキュリティを向上させる製品を作ることができます。 これは劇的に悪いコードの可能性を、セキュリティを危険にさらすことができる導入されて増加気味で。

我々は、過去これでの例を大きなて見マーカスラナム可能キックのお尻のセキュリティデバイスを作成ファイアウォールをガントレットと、安全な時がされたものの大部分。 とき3文字の機関では、最高のセキュリティを望んで、彼らはガントレットになった。 マルクスは、Network Associates(に保存マカフィーになった)人、すぐに機能を追加し始めたガントレットを販売した。 これは、以前長くはないの脆弱性を文字列着実に発見されていた、それぞれ"機能を導入し、これらの新しい"。 が、本製品は、セキュリティを失ったから信用性とオフレーダーの下落した。

今では確かに可能な機能と維持のことを安全に追加することです。 FreeBSDのの人々が正しくありませんこの方法の例優れています。 維持にするには、セキュリティを確保するため、非常に厳格な監査プロセスを。 それは完璧ですか? が、その監査プロセスは、安全なソフトウェアの実装のための棒を設定して絶対にありません。 すべての運がVMwareは同様のつもりで、私はこの場合であることについても話題を聞いたことがない。

ストレートのヘッドを入手する

[OK]を、私たちはできない盲目的に信頼仮想化ソフトウェア湾で攻撃を維持する。 しかし私たちはまだ場合に発生しません最悪の影響を最小限に抑えるための予防策を取ることができます。 1つは取ることができる最大の手順を慎重にどのサーバーがホストされて取得し、他のユーザーのシステムが同じボックス上で実行する許可されて考えることです。 セキュリティゾーンのコンセプトは、ネットワークの建築家によって使用されると同様にここで適用されます。

セキュリティゾーンは、単に共有するリスクの同じ相対レベルをシステムのコレクションです。 たとえば、ウェブ、名前とSMTPサーバーは、通常、直接攻撃からだという全員が共有するようなリスクのすべての非武装地帯に位置しています。 ネットワークの内部の部分では、デスクトップは、通常のサーバーとは異なるセキュリティゾーンに配置されます。 サーバーは、デスクトップは、通常、許可されている直接通信するためにインターネットへのアクセスには少しあるので、これがあります。 これは、サーバーより攻撃のリスクが高いデスクトップを配置します。

我々はこの同じロジックを、仮想化を実装するに適用できます。 DMZのサーバーと内部サーバーが同じハードウェア(CPUとディスクアレイ上のゲスト)すべきではない。 そうする攻撃者は、当社のネットワークに代替ルートを作成する可能性があります。 むしろ任意のファイアウォールを介してネットワーク上で展開されており、侵入検知、生理学などのデバイスを通過することよりも、攻撃者は仮想化ソフトウェアを介して内部リソースにアクセスすることができます。 それは簡単に攻撃ですか? まだ我々がこれまで見てきたものから。 機能エクスプロイトは、しかし、我々はしていない場合、なぜ不必要なリスクを紹介発見されました。

ちなみに、これらの同じセキュリティゾーンの規則は、仮想化、ネットワーク装置に適用される必要があります。 例えば、それは悪い考えでVLANをDMZと内部ネットワークへの物理的に同じスイッチを使用することです。 私はそういうふうに殺されるクライアントのカップルを見てきました。

何が仮想化はより安全になります

幸いにも、セキュリティの観点から、仮想化は、すべての悪いニュースではない。 実際にはあなたが単純にそれなしで行うことはできません仮想化環境に適用できるいくつかの非常にクールなセキュリティ対策があります。 これが理由だったの1つ我々が使用して開始以内に仮想化をハニーネット2000 として早ければ。

1つは、今日のセキュリティ問題我々が直面最大の、カーネルレベルのルートキット。 何がマルウェアので、狡猾なのはこの株を作ることです効果的に、オペレーティングシステム自体をマルウェアになります。 これは非常に、すべてのセキュリティチェックなどは困難カーネルを介して渡す必要があります検出を行います。 カーネル自体が侵害された場合、我々はカーネルを正確にセキュリティ情報を報告するに頼ることはできません。 我々は、システムをシャットダウンした、結局知られてきれいなOSのことにドライブをマウントし、そこから私たちの法医学チェックを実行します。 ああ、このプロセスのコースの問題、それがうまくスケールしません。 我々は、数十またはサーバーの何百ものがある場合、単純に1日で十分な時間がすべて適切にチェックすることはできません。

前述したように、VMwareは現在VMSafeを介してハイパーバイザAPIをサードパーティベンダーのアクセスを許可されます。 これは、それぞれのゲストOSの上のメモリやネットワークトラフィックなどの特権の状態情報へのアクセスを許可します。 ハイパーバイザに差し込むことによって、いくつかの非常にクールなセキュリティオプションが可能になる。

たとえばのゲストOSは、カーネルレベルのrootkitに襲われると言うことができます。 ユーザーメモリを分析することにより、ルートキットは、仮想的オペレーティングシステムの外部から検出することができます。 時ハイパーバイザーを介してチェックを実行すると、そこまで可能性がルートキットは、その活動をステルスすることができます検出さ行くの小さい値です。 前述のように、非仮想化システムとは比較オプションです。

APIのプラグインも暗号化されたトラフィックを扱うための新たな可能性を作成します。 終わりが(VPNのような採用されて)、アプリケーション層の、ネットワークベースのチェックを暗号化を終了するときに簡単にバイパスされます。 唯一の現実的な選択肢は、エンドポイント上のエージェントソフトウェアを実行するためにいたので、セキュリティが復号化処理の完了後実装することができます。 もちろん、問題はここのエージェントが攻撃された場合は、すべてのベットは無効です。 繰り返しますが、ハイパーバイザーに我々が有利な立場をより安全に、このデータを精査することにある接続することによって。

我々は、新しく追加されたし始めだけプラグインの製品を活用VMSafeのAPI 。 彼らがすることができますどのように効果的なすべての製品のため、比較的新しいが、陪審員はまだしています。 製品は、完全なポリシーの施行にホストベースのファイアウォール、IDSの保護を置き換えるから策略を実行します。 それは面白い方法この製品のニッチは、次の1年間を見守るになるだろう。

要約

だから私はこの記事の冒頭に述べたように、仮想化は、あなたはそれを展開する方法に応じて機能をお使いの環境のいずれか多かれ少なかれ安全にする必要があります。 場合は、単に1つのボックス上のすべての実行を開始する場合は、おそらく殺されるとしている。 あなたは、仮想化領域に何年間も、同様に活用していくつかのリリースされている新しいセキュリティ機能の場合は、実際にはより全体的なセキュリティの姿勢を作成できます開発されているベストプラクティスを拡張する場合。

OSSECのを組み合わせることでLogwatchはと-第4部

2010年2月18日クリス 3コメント»

私の最後のポストでは、同様にOSSECのLogwatchはをインストールします。 今ではLogwatchはとOSSECのは、一緒に同じサンドボックスで遊んで取得する時間です。 この記事では私がどのようにLogwatchは情報をOSSECのによって生成される要約を取得する方法について説明します。

展開オプション

我々はこの設定に従うことができます2つのパスがあります:

  1. LogwatchはOSSECのは直接ログ解析があります。
  2. OSSECのはSyslogタイプのサーバーへのアラートを送信することがありますし、Syslogサーバ上でLogwatchはを実行します。

オプション#1の利点は、私たちは、1つのシステムが必要です。 Logwatchは、システムOSSECのサーバーをホスト上で実行されます。 我々に実行するとしている問題は、しかし、OSSECのアラートファイルが含まれます。 ログエントリは、正規化取得されません。 これは、形式のエントリからエントリを変更したり、意味も複数行に広がる可能性があります。 これは本当の悪夢フィルタリングすると警告情報をまとめLogwatchはスクリプトを作成することとしている。

我々はオプション#2で行く場合は、我々は集中ログサーバーとして動作する別のボックスが必要になります。 ためにOSSECのサーバーは、非エージェントシステムからのログエントリを受け入れるが、それはUDP/514リッスンするようにしています。 これは、同じポート集中ログサーバーによって使用され、2つのアプリケーション間で共有のWindowsを除いて同じポートを(持っていないできますが、ソケットへのアクセスは非常に厄介です)。 プラス側では、警告エントリがはるかに容易になりますLogwatchは要約スクリプトを作成するので、それらがSyslogサーバに送信される正規化されます。 さらに、Logwatchはすでに約標準のSyslogファイルを知って、私たちは以下のカスタマイズ作業を行う必要があるようにします。

最後に、私は以前の記事は、OSSECのは、SIMのように設計されていませんに記載。 これは、それは記録されませんものは、警告を生成するだけでイベント。 だから我々は、おそらくとにかく集中サーバを必要になると、それは情報をOSSECので生成されて格納して理にかなって。

だから私はオプション#2に向かってあなたをステアリング午前のように音がする場合は、絶対に修正されます。 ということで、それははるかに複雑な設定として、私は実際にオプションを#1カバーするつもりです。

日付/時刻スタンプの扱い

メインOSSECのログファイルでご覧になれますし、次のような表示されます:

/ ossec.log [ルートは@めちゃくちゃ#尾-3 / / OSSECのvar]をログ/ログ

2010/02/18午前12時32分05秒OSSECの- rootcheck:情報:エンディングrootcheckはスキャンします。

2010/02/18午後2時27分06秒OSSECの- syscheckd:情報:料金syscheckをスキャン。

2010/02/18午後2時39分21秒OSSECの- syscheckd:情報:エンディングsyscheckをスキャン。

方法を日付/時刻スタンプフォーマットされて注意してください。 まず最初に我々が行う必要がありますので、これはほとんどのアプリケーションとは異なる場合、この形式でLogwatchはどのように対処するように指示されます。 我々は、スクリプトを、我々は、その形式を上記の理解が必要呼び出すことができますを作成する必要があります。

共有スクリプトディレクトリに移動することによって開始:

は/ usr /共有/ logwatchのを/スクリプト/共有CD

ファイルを"applylongdate"という名前の作成して、好みのエディタを使用する:

viはapplylongdate

ここであなたが内部そのファイルの必要があります。 お気軽にコピー/貼り付け、このページから無料:

使用Logwatchは':日付';

私は= $('')| | 0 LOGWATCH_DEBUG ENVをデバッグ$;

$ SearchDate =エラーを発生('%のYの/%mは/%d個%のH:%M:を%Sは');

($> 5デバッグ)(場合

DEBUGの"STDERRの印刷:内部ApplyLongDateいます... \ n";

DEBUGの"STDERRの印刷:お探し:"。 $ SearchDate。 する\ n"";

(($ ThisLine定義されている= <STDIN>))(

($ ThisLine / ^ $ SearchDate /オ=〜m)の(場合

印刷$ ThisLine =〜sは/ ^ ...。\ / .. \ / .. ..:..:.. / /;

印刷$ ThisLine;

#viの:shiftwidth = 3構文は= perlのTabStopプロパティ= 3ら

一度ファイルを保存すると、我々は今、適切なアクセス許可を設定する必要があります:

755 applylongdateします。chmod

構成ログファイルの

次の我々はどこにOSSECのログファイルが置かれてLogwatchは指示する必要があります。 いつでも、新しいログファイルを追加したりLogwatchはで監視する新しいサービスを作成すると、は、/ etc / logwatchのディレクトリの下に変更を配置する必要があります。 我々は、2つの設定ファイルを作成する予定です。 最初に、OSSECのアラートおよびアクティブレスポンスの変更を処理する2番目のOSSECのメッセージを処理します。

メインOSSECのログファイルの構成ファイルを作成してみましょう:

シーディーの/ etc / logwatchの/ confに/ログファイル

六ossec.conf

ファイルの内容は、に従う必要があります:

ログファイルは=を/ var / OSSECの/ / ossec.logログ

* ApplyLongDate =

これで保存してファイルを終了します。 次に、我々は残りのログファイルの設定ファイルを作成します:

六OSSECの- alert.conf

このファイルの内容は、に従う必要があります:

ログファイルは=を/ var / OSSECの/ログ/アクティブresponses.log

ログファイルは=を/ var / OSSECの/ /警告/ alerts.logログ

ログファイルは=を/ var / OSSECの/ログ/ファイアウォールが/ firewall.log

完了したら、保存して終了します。 既定のアクセス許可が許容たちセットアップする必要があります。

OSSECのサービスの設定

次に、我々はOSSECのサービスを定義し、私たちは、タイトルのレポートが生成されるとして使用する識別が必要です。 ここではどのように最初のファイルを作成するには:

シーディーの/ etc / logwatchの/ confに/サービス

六ossec.conf

このファイルの内容は非常に簡単です:

タイトル="OSSECのメッセージ"

をLogFile = OSSECの

したら、保存して終了完了します。 我々は、このディレクトリ内の1つ以上のファイルを作成する必要があります:

六OSSECの- alert.conf

このファイルの内容は、必要があります:

タイトル="OSSECのアラート"

をLogFile = OSSECの-警告

完了したら、保存していつものように終了します。

エントリを解析

次に、我々はどのように形式にログエントリをレポート内のLogwatchは指示する必要があります。 我々は、サービスの各セットのカスタマイズスクリプトを作成する必要があります。 我々は、Logwatchは指定されたテストスクリプトを使用して起動する予定です。念のすべての作品を確認します。

適切なディレクトリに移動することによって開始:

シーディーの/ etc / logwatchの/スクリプト/サービス

あなたの最初のスクリプトを作成するお好みのエディタを使用して:

六OSSECの

スクリプトの内容は、に従う必要があります:

#!/ bin / bashを

これはあなたの行を必要になりますが表示されますとして素晴らしいスクリプトです#

#の処理されるとの報告それを最初に表示されます。

#標準的な環境変数と、それはSTDINがかかり、

#それが正しいSTDOUTにアウトバックダンプします。

これらは、標準の環境変数は#あなたが定義することができます

#は、サービスの設定ファイル(上記参照)。

エコー"日付の範囲:$ LOGWATCH_DATE_RANGE"

エコー"の詳細レベル:$ LOGWATCH_DETAIL_LEVEL"

エコー"一時ディレクトリ:$ LOGWATCH_TEMP_DIR"

エコー"デバッグレベル:$ LOGWATCH_DEBUG"

#は今STDINを取るとSTDOUTにダンプ

ネコ

今あなたの2番目のスクリプトを作成する:

六OSSECの-警告

と全く同じ内容が含まれて:

#!/ bin / bashを

これはあなたの行を必要になりますが表示されますとして素晴らしいスクリプトです#

#の処理されるとの報告それを最初に表示されます。

#標準的な環境変数と、それはSTDINがかかり、

#それが正しいSTDOUTにアウトバックダンプします。

これらは、標準の環境変数は#あなたが定義することができます

#は、サービスの設定ファイル(上記参照)。

エコー"日付の範囲:$ LOGWATCH_DATE_RANGE"

エコー"の詳細レベル:$ LOGWATCH_DETAIL_LEVEL"

エコー"一時ディレクトリ:$ LOGWATCH_TEMP_DIR"

エコー"デバッグレベル:$ LOGWATCH_DEBUG"

#は今STDINを取るとSTDOUTにダンプ

ネコ

最後に、我々は適切なアクセス許可を設定する必要があります:

755 OSSECのchmodの*

テストセットアップ

最も簡単な方法は、当社の新しい設定をテストするコマンドを実行することです:

logwatchのの|以下

場合にのみ変更を表示する場合は、各サービス、一度にレポートを実行することができます:

logwatchのサービスOSSECのが少ない件

logwatchのサービスOSSECの-警告|以下

さらにカスタマイズ

したら、上記のすべての作業を得る場合は、Logwatchはフィルタリングし、ログのエントリをまとめることに集中することができます。 Logwatchはかなり柔軟性がありますし、出力を任意の方法をカスタマイズできます。 1つは、上記の上記のテストスクリプトのいいもの、それはまさにあなたが働かなければならないかを示している。 したがって、適切な判断としては、エントリをまとめることはほとんど正規表現魔法。 いくつかのアイデアについては、ファイルを下にあるチェックアウト:

は/ usr /共有/ logwatchの/スクリプト/サービス

これらはデフォルトの要約スクリプトですLogwatchは付属。 具体的には、"pamの"とファイルを見て"sshdの"。 彼らは両方の要約フィルタの複雑な一連の単純な良い例です。

場合は、$ LOGWATCH_DETAIL_LEVEL"変数に細心の注意を払うようにスクリプトを開発する。 ユーザーが探している方法much冗長このはあなたがに応じてレポートの出力のレベルをカスタマイズする許可されます。 あなたはまだ、上記のサービスのディレクトリにあり、たとえば、次のコマンドを実行します:

以下のsshdの

時ファイルの内容の最初のページで、入力が表示されます:

/詳細<Enterキー>

バックスラッシュは私たちが特定のテキスト文字列のファイルを検索することができます。 我々が探しているこの例では、単語"の詳細"。 それは文字列の最初のインスタンスを見つけるまでしたら、ファイルをスキップします検索をEnterキーを押します。 また、検索文字列をハイライト表示されます。 最初の試合では、その著者は、変数$と同じLOGWATCH_DETAIL_LEVELする"変数を"$詳細"割り当てに気づくでしょう。 これは、彼らにいくつかの入力を保存することです。

今すぐバックスラッシュキーをもう一度Enterキーを続けて押します。 これは、次のインスタンスにファイルを介してジャンプします"詳細"。 あなたが表示されます:

詳細>($場合= 20)(

$ユーザー($ユーザー)($ホスト)($方法)+ +;

します)else(

($ホスト!〜/ $をIgnoreHost場合は、/)(

$ユーザー($ユーザー)($ホスト)("(すべての)"}++;

著者は、多くの情報を詳細レベルが20(半分の方法との間設定されている場合提供しています注意してください低中)以上。 ファイルを介してジャンプ保管すると、著者はこの手法を活用し、他の例が表示されます。

今すぐ下のファイルの末尾にページは、このステートメントを参照してください必要があります:

(キー%OtherList)(場合

印刷する\ n"**比類のないエントリが**する\ n";

印刷"$ _:$ OtherList($ _)時間(s)を\ n"foreachのキー%OtherList;

このセクションでは非常に重要な、それが最終的な包括です。 ファイアウォールポリシーの瞬間を考えてください。 私たちのほとんどは言う最終的なルールを、"私は具体的には、トラフィックパターンを介して、許可をしなかった場合は、"それを否定作成します。 言い換えれば、何かが予期が発生した場合、これはどのように私はあなたがそれを処理する方法です。

上記のステートメントは同じ目的をログファイルを解析する機能。 すべての以前の""文は形式に適切にするためのログエントリで、特定のテキスト文字列を一致するようにしようとした場合。 このエントリは、"あなたにマッチしていない場合、まだ特定のログエントリを印刷、というタイトルのセクション"**比類のないエントリ**"でそれを印刷します。 この手順は非常に重要なことがないと我々は予期しないエントリを参照してくださいれることはありません。 これはおそらく最も興味深い重要な予期しないエントリです。

Execの概要

両方のOSSECのとLogwatchは、優れた無料ツールです。 ことを警告でOSSECの優れて既知の攻撃パターンが行われます。 人間が実際に何が起こっているの意味することができますので、Logwatchは時間のチャンクを要約するための素晴らしいツールですログ。 2つのツールを組み合わせることであなたがはるかに堅牢な守備を徹底的姿勢を作成できます。 全体は部分の総和より大きくなる。

OSSECのを組み合わせることでLogwatchはと-第3部

2010年2月17日クリス コメントはありません»

彼らが活用し、セキュリティの姿勢を強化することができますどのように私の最後の2つの記事で私はLogwatchはとOSSECのと同様、議論した。 この記事で私がどのように両方をこれらのツールをインストールする方法について説明します。

インストールLogwatchは

Logwatchはかなり簡単にインストールされます。 あなたが既にシステム上のコピー可能性がありますので、実際には、それは多くのLinuxディストリビューションではデフォルトでインストールされます。 は、rootとしてログオンを確認し、"- v"をスイッチでLogwatchはを実行してみてください。 あなたが表示された場合:

[ルート@めちゃくちゃlogwatchのの]#logwatchの- vを

Logwatchは7.3.6(05/19/07リリース)

logwatchのがインストールされ、最新のバージョンのコピーを持って。 バージョン場合は、最新ている場合はしない、あなたからそれをつかむことができますLogwatchはのダウンロードページ。

またLogwatchはのダウンロードすることができる3つのフレーバーが、バイナリRPM形式では、RPM形式、またはタールボールのソースのソースです。 お使いのシステムは、RPMパッケージの管理を、バイナリRPMをサポートする場合に最適です。 これは、簡単にインストールするとRPMソフトウェアを自動的に新しいバージョンが利用可能です更新します。

RPMからのインストールLogwatchは

は、rootとして単純にログオンRPMのバイナリバージョンをインストールすると、RPMファイルをダウンロードしたディレクトリに移動します。 今のコマンドを実行:

は、rpm - Uのlogwatchの- 7.3.6 - 1.noarch.rpmに

あなたはむしろ全部を入力しなくてもタブを自動補完するキーファイル名を使用することを忘れないでください。

ソースからのインストールLogwatchは

のインストールソースから少し時間がかかります。 そのためにあなたが既に)がシステムにインストールされてgccのようなコンパイラ(する必要がありますソースコードをインストールしてください。 ログオンは、rootとして、あなたはタールボールをダウンロードしたディレクトリに移動します。 アーカイブを抽出し、コマンドを実行するには:

タールxvzf logwatchの- 7.3.6.tar.gz

あなたの現在の場所のディレクトリ構造の下に作成およびファイルの多くを得る私たちインチコピーされてすぐにトップに作成されたほとんどのディレクトリを移動する必要がありますが表示されます:

シーディーlogwatchの- 7.3.6

logwatchのために実行するためには、お使いのシステム上に作成する必要があるディレクトリの束です。 これらは現在のディレクトリ内のREADMEに記載されます。 幸いにも、Logwatchはあなたのためにすべての作業を行うことができますインストールスクリプトが含まれます。 残念なことに、スクリプトが間違ってアクセス許可を、デフォルトでは実行されませんので、設定しています。 これはかなりしかしchmodコマンドを修正するために簡単です:

500 install_logwatch.shします。chmod

今は、セットアップスクリプトをGoogleのシステムで実行することができます:

/ install_logwatch.sh

行の先頭にピリオドを忘れないでください。

テストLogwatchは

あなたのLogwatchはセットアップをテストするには、コマンドを実行するには:

logwatchのの|以下

You will see your terminal screen go blank, but that is normal. You will eventually see a Logwatch report get printed to the screen that you can navigate through using the “Page Up” and “Page Down” keys. How log it takes for the report to show up on the screen will depend on how much log information needs to get parsed. It could take a few seconds or a couple of minutes. Either way, it will give you a chance to familiarize yourself with the report format.

Installing OSSEC

As I mentioned in my last post, you have two installation options with OSSEC, local or client/server. In this post I'm going to focus on the client/server setup, as it is a bit more complex. If you are performing a local install, simply select the “local” option during the install process and skip the section on setting up a secure channel between the agent and the server.

Start With The Server

OSSEC uses Blowfish encryption to secure communication between the client and the server. Blowfish is symmetrical key based, so both sides must know what key value to use in order to communicate. The server is responsible for generating the symmetrical key, so we have to install the server software first. During the client install we will be prompted for a key value so obviously we will need to have that handy ahead of time.

Here's a time saving tip. The key value is long and nearly impossible to remember. The easiest way to move the key value from the server system to the agent system is to use SSH. Create a secure connection to the OSSEC server, and extract the appropriate key (directions provided below). In a second terminal window, create an SSH session to the system where you will be installing the agent. When the client install prompts you for the key value, you can simply copy/paste between the two terminals.

Installing The OSSEC Server

The server software is available as a Tar ball, so you can grab a copy of the latest version from the OSSEC download page . You will then need to extract the contents of the Tar ball:

tar xvzf ossec-hids-2.3.tar.gz

Next, move into the directory structure you just created:

cd ossec-hids-2.3

OSSEC provides an install script to walk you through the process of installing the server. To start the script, type:

./install.sh

Don't forget the period at the beginning of the command. You will now be prompted through a number of install options:

  • Language – The default is English. Change as needed.
  • Confirmation of installation – Press Enter once you have read the screen.
  • Install type – Type in “server” without the quotes and press Enter.
  • Install location – Accept the default.
  • E-mail notification – Default is yes, select if you want e-mail alerts. If you select yes, you will be prompted for a valid e-mail address and mail server.
  • Integrity check – Default is yes. Select if you want the local system periodically checked for intrusions.
  • Root kit detection – Default is yes. Good option since we need to maintain a high level of integrity on this system.
  • Active response – Default is yes. Select this option if you wish to be able to respond to events.
  • Firewall drop – Permits the OSSEC server to defend it self if a direct attack is detected.
  • White list – This will permit you to add IP addresses from which possible attacks will be ignored. Be careful with this option. If you will not have console access to the OSSEC server, it might be wise to identify one IP address that can always get in. Just ensure the source IP is a trustworthy system.
  • Enable Syslog – Default is yes. Select this option if you wish to collect logs from system that cannot run an OSSEC agent (like firewalls, switches, routers, access points, etc.).
  • Log files to be monitored – This screen identifies all of the local log files OSSEC will monitor. It is purely information, so all you can do is press Enter to move past it. If you notice one or more log files missing from the list, you can add them later to the ossec.conf file.

At this point OSSEC will access the local complier and install all needed files onto the system. Once complete, you can start the OSSEC server by executing the command:

/var/ossec/bin/ossec-control start

Defining OSSEC Agents

We are not done with the OSSEC server just yet. Next, we need to pre-define any systems that will be running the OSSEC agent (client) software. This is performed using the manage_agents command. First however, we need to do a bit of homework. Make a list of all of the systems that will be running the OSSEC agent software. For each system, you will need a descriptive name as well as that system's IP address.

Now, execute the following from the command line:

/var/ossec/bin/manage_agents

This will produce the Agent Manager main menu. Press “A” followed by the Enter key to define your first system. Enter a descriptive name for the first system, followed by the system's IP address. Don't worry about the agent ID number. Simply accept the default and OSSEC will auto-assign the next available ID number. Once you confirm the information you entered, you will be returned to the Agent Manager main menu. Repeat the above process for each system that will be running an OSSEC agent.

Generating Keys

Once you have added in all of your systems, it is time to generate encryption keys. This step is also performed with the manage_agents utility. If you closed the tool after the last step, relaunch it now.

Press the “E” key followed by Enter to select the “Extract key for an agent” menu option. You will then be prompted for the ID number of the key you wish to extract. The descriptive names and IP addresses are listed with each ID number, so it should be trivial to identify which one you want. Start with the system you plan to install the agent software onto first.

OSSEC Agent Install On Linux

When installing the agent software on a Linux or UNIX client, you use the exact same Tar ball we used to install the server software. Run the same install script, but this time when you are prompted for the type of install you wish to perform, type in “agent” followed by the Enter key.

The client install has many of the same prompts as the server install. Use the info above to guide you through the process. The prompt that will vary however is that you will be asked to provide the IP address of the OSSEC server. Once complete, OSSEC will access the local complier and install all required files onto the system.

Next we need to import the Blowfish key from the OSSEC server. While still on the agent system, run the command:

/var/ossec/bin/manage_agents

When the Agent Manager menu appears, select “I” to import the Blowfish key.

When the next prompt appears, you need to manually enter the appropriate Blowfish key. Again, if you are running SSH to both systems at the same time, you can simply copy/paste between the two terminals. Make sure the key looks correct, press the Enter key, and then select “y” to confirm that the key looks correct. You will be returned to the Agent Manager menu. Select “q” in order to return to the command line.

Now we simply need to start the OSSEC agent. You can do so by executing the following command:

/var/ossec/bin/ossec-control start

You should see all of the OSSEC agent components start up, followed by a “Completed” message.

OSSEC Agent Install On Windows

OSSEC has a self-extracting executable that will permit you to install the agent software on a Windows system. Simply double click the executable to start the install process. You will be prompted to agree to the license as well as which components you wish to install. Simply follow the prompts till the OSSEC Agent Manager window appears.

The OSSEC Agent Manager window will prompt you for the IP address of the OSSEC server. It will also prompt you for the Blowfish key value to use, so extract the appropriate key on the server and enter the value in this field. Make sure you delete the prompt within this field before you paste in the Blowfish key. Otherwise communication with the server may fail.

Next, select “Manage” from the OSSEC Agent Manager menu, followed by “Start OSSEC”. You should now see the “Status:” indicator change to “Running…”.

Testing OSSEC

Once you have the server and agent software installed, started and the appropriate keys configured, it is now time to check our setup. Execute the following command on the OSSEC server:

cd /var/ossec/logs

And check out the ossec.log file:

less ossec.log

Check the log file for any errors. A common error is that OSSEC reports it cannot send e-mail. Make sure the mail server is running and that it is accepting connections. Once you are happy with the server setup, it is now time to check out the agents. Move down to the “alerts” directory:

cd alerts

And check out the alerts.log file:

less alerts.log

Specifically, you are looking for entries similar to the following:

2010 Feb 17 16:09:16 (desktop) 192.168.1.10->ossec

Rule: 501 (level 3) -> 'New ossec agent connected.'

Src IP: (none)

User: (none)

ossec: Agent started: 'test_system->192.168.1.10′.

You should see an entry for every system on which you installed the agent software.

More To Come

やれやれ! That's more than enough for one post! In my next post I'll get into leveraging Logwatch to parse all of the alert information being generated by OSSEC.

OSSECのを組み合わせることでLogwatchはと-パート2

February 16th, 2010 by Chris No comments »

In my last post I described how Logwatch could be used to simplify the log review process. In this post we'll look at OSSEC and what it brings to the table.

What Is OSSEC?

OSSEC , short for “Open Source SECurity”, is a host based intrusion detection system (HIDS). In other words, it is designed to detect attacks or policy violations if and when they occur. While it does not have the ability to protect against unknown or 0-Day attacks (that would be host based intrusion prevention), it does include a wide range of tools which can help you identify an intrusion when it occurs, as well as the extent of the damage that has been caused.

Supported Platforms

To take advantage of all of the features OSSEC has to offer, you have to run an agent on the system being protected. OSSEC agents can run on Windows, Mac OS X, Linux, and a wide range of UNIX systems. If you are just interested in the log analysis portion however, an even wider range of systems can be supported. This includes hardware from both Cisco and Juniper. A number of specific products are also supported like Checkpoint firewalls, Symantec Anti-Virus, Snort, Squid, and Arpwatch, just to name a few.

When you install OSSEC you have two configuration options, local or client/server. A local install is used when you need to run everything on a single system. The client/server installation lets you run a distributed environment protecting multiple systems at the same time. While most deployments are client/server based, if you want to give OSSEC a spin you can easily run everything on a single test system using a local install.

Log Analysis

OSSEC includes a Log-based Intrusion Detection System (LIDS). This has the ability to review log files in near real time, while scrutinizing them for known attack patterns. When a log is generated on a protected system, the agent takes care of securely transmitting the log (Blowfish encryption using a pre-shared secret) back to the server. The server then takes care of performing the analysis.

Most log analysis tools process their rules in a linear format. By that I mean if we have 500 rules, rule one is checked, then rule two, then rule three and so on till a match is found or we reach the end of the rule set.  OSSEC works a bit differently as it implements a hieratical structure to the rules. Log entries are first classified and then checked only against whichever rules are appropriate. The result is that rather than needing to process all 500 rules, most events will get checked against 10 rules or less. This dramatically reduces the amount of overhead required to process the rule set.

Integrity Checking

OSSEC includes a tool called Syscheck for performing file and directory integrity checking. If you are running a Windows agent, you can also include specific keys within the Windows registry to be monitored as well. File changes can be detected using both MD-5 and SHA-1 hash algorithms. The system is extremely customizable. You can include or exclude single files, or entire directory structures. You can even set a flag to detect new file creation.

The agent software is designed to use a minimal amount of CPU during the integrity check. While this means the check will take longer, it also helps to minimize the performance hit to the system. Hash information is transmitted back to the server. The server then takes care of performing the hash comparison to see if any of the system's critical files have been changed. The server also stores a copy of the integrity check policy, so that if policy changes are made on the agent, they can be detected and reported as well.

Anomaly detection

OSSEC goes far beyond log checking to verify system integrity. Usage policies can be centrally managed from the server, and then pushed out to the appropriate agents. For example you could define a policy regarding which Windows applications are acceptable (Office, Firefox, etc.) and which ones are not (IM client, Skype, etc.). You can even define acceptable configuration options like verifying that NT hashes are being used for password stored but not LanMan hashes.

OSSEC includes a number of other goodies in order to help verify a system's integrity. For example OSSEC has the ability to execute commands from the agent and monitor the output that gets generated. For example you could have the Linux agent execute the “df” command at regular intervals and generate an alert if disk usage exceeds 90%. A Windows example may be to have OSSEC generate an alert whenever file information is written to the alternate data streams area of NTFS.

Active Response

Finally, OSSEC includes the ability to respond when suspicious activity is detected. Responses can be generated from the server or the agent, which ever you specify. Responses can be as benign as generating an e-mail alert, to being as proactive as blocking a remote IP address for a limited amount of time. There are a number of included active response scripts you can draw on, or you can easily write your own.

Secure Architecture

The OSSEC authors have gone to great lengths to secure all of the components within the product. Tasks such as integrity checking are performed on the server, rather than the agent, so the trustworthiness of the hashes cannot be compromised during an attack. Processes are run with the lowest level of permissions possible, and different accounts are used to run each OSSEC component. This means that a compromise of a single application within OSSEC will not immediately lead to a compromise of the full package. Further, most components are run within a chrooted jail so their access to the system is even further restricted.

Final Words

While OSSEC is a powerful tool, it is important to remember that it is a HIDS and not a log management solution. OSSEC can review log entries looking for suspicious patterns, but it will only save alert information. So while OSSEC will not replace your Security Information Management (SIM) solution, it can most certainly augment it. You can easily setup OSSEC to forward all alerts it generates to a central logging server .

While OSSEC is open source software, Trend Micro is primarily developing it. If you need commercial support, you can purchase a support contract through them at a reasonable fee.

More To Come

In my next installment we'll look at installing OSSEC and Logwatch. After that, we'll move into integrating the two together.

OSSECのを組み合わせることでLogwatchはと

February 15th, 2010 by Chris No comments »

I recently had a student ask me a question regarding the integration of Logwatch with OSSEC. I felt like this was a complex and yet cool enough idea that it warranted a series of posts to cover it in full. So over the next few days I'll talk about each of these tools, how to integrate them together, as well as what additional security visibility can be gained once the process is complete.

What Is Logwatch?

Logwatch is an excellent open source tool for generating daily human readable log reports. Log entries tend to fall into one of three categories:

  • Stuff you know is evil
  • Stuff you know is normal and can be safely ignored
  • Everything else

It is that “everything else” category where Logwatch really shines. For the stuff we know is evil, we will setup some form of alerting system. For example we may write an alert signature that warns the security analyst when an account is being brute forced. But what about the attacks we don't know about or are not sure what they look like? This would be a clear example of that “everything else” category. The traffic is not normal, but we have not seen it before to have a signature waiting to generate an alert. Since we will be unable to catch the attack in real time, we will need to catch it during a daily log review.

Of course the problem with doing daily log reviews is that it is tedious and time consuming. I mean let's be honest, who really wants to spend their day reviewing one million plus log entries? Even if you did, are you sure you would actually catch the out of the ordinary traffic?

これは、しくみ

What Logwatch does very well is permit you to reorganize your data into a format that is easier for humans to follow. Its real strength is that it permits you to move the stuff you understand out of the way (normal or evil), so that the unexpected log entries stand out like a sore thumb. In other words, Logwatch lets you summarize your log entries so the unusual stuff is easier to spot.

What I really love about Logwatch is that you don't lose anything. Many log review tools will only show you the stuff that has been pre-defined as being evil. The problem they all share is that when something evil but unexpected happens, it flies right under the wire. Because Logwatch lets you see everything, you no longer miss the unexpected.

Logwatch In Action

Lets discuss how Logwatch works using the SSH server service as an example. The scripts to deal with SSH have already been defined within Logwatch, so you do not need to do any tweaking to receive the features we are going to discuss.

When reviewing a log file, the first thing Logwatch does is reorganize log entries based on their message types. For example all Successful SSH logons are grouped together, as well as too many logon failures, refused connections, locked accounts, accounts without a proper shell, protocol mis-matches, etc. etc. etc. Once all the SSH messages are grouped by their type, the data is then summarized to reduce the amount of information being reported.

For example, the default is to summarize failed logon attempts by account and source IP. So a typical failed logon report section might look like this:

Failed logins from these:

bsmith/password from 1.2.3.4: 637 time(s)

jsmith/password from 1.2.3.5: 2 time(s)

So rather than having to review 639 log entries reporting a bad logon attempt, we have all the pertinent information summarized into three lines (if you include the title). Continue this process for all of the other SSH messages, and we have dramatically reduced the amount of time required to review our logs.

But what if something happens that Logwatch is not pre-programmed to recognize? When an unexpected log entry is found, Logwatch adds a section to the end of the service report called “Unmatched Entries”. So if we see this title in the SSH server section, we know some event has occurred that is either abnormal or unexpected for the SSH service. This could very well be some form of attack that we are not aware is making the rounds.

By focusing in on the unmatched entries section, we can quickly identify unexpected activity. As I stated earlier, this is really the main goal of doing daily log reviews. To find the stuff we don't expect which will sneak past our alerting system. Logwatch makes this process as quick and as painless as possible.

Feature Summary

In the above example I talked about doing daily log reviews, but to be honest Logwatch is highly customizable. You can specify any range you wish to use down to an interval of one second. For example let's say I'm investigating an intrusion rather than performing a daily log review. I could specify a range such as “2010/02/14 17:05:00 for that hour” to focus right in on the information that interest me. I can also focus in on one specific log file or service.

The detail level of the report is also customizable. Typically when you deal with security you get in the habit of always wanting the highest detail level of reporting. To be honest, with Logwatch a high level of detail is probably more than you will ever need. Personally I typically stick with “med” for medium and that works out nicely. You can also specify the reporting level as “low” or “high” or use a numeric range of 0-10 for a higher level of granularity (low =0, med=5, high=10).

Logwatch can be run automatically or as a manual process. Typically you will want to set it up to run automatically each day and summarize one day's worth of log entries. If you ever need to expand or focus the report, you can always run Logwatch from the command line while specifying exactly what you want to see. You can then use the “–save” option to specify a report name and directory location for storage.

More To Come

The above should give you a good idea as to the features Logwatch can bring to the table. In the next post I'll discuss OSSEC in the same level of detail. After that, I'll get into how to install each tool as well as how to integrate them together.

2日目基調講演

January 12th, 2010 by Chris No comments »

Thanks to all who came out to the Encryption/DLP summit. Here are the slides from my keynote on day 2.

encryption-dlp-keynote