« 2012年11月 | トップページ | 2014年4月 »

2014年3月

デジタルフォレンジック製品 EnCase に関する情報

デジタルフォレンジック用ソフトウェア EnCase に関する情報

忘れないようにメモしておきます。


  • Forensickb Blog: EnCase EnScript to parse each NTUSER.DAT for RecentDocs
  • http://t.co/tWrDUeUSl0

    Microsoft Office Word RTF New 0day Attack (CVE-2014-1761)

    Microsoft Office Word RTF New 0day (CVE-2014-1761)


    CVE-2014-1761 の概要

    3/24(米国)、マイクロソフトは Microsoft Office Word にリモートから攻撃可能な脆弱性(ぜい弱性)が見つかったと発表した。Microsoft Word の RTF ファイルの処理に欠陥があり、攻撃者によって細工されたRTFファイルを開くとウイルス等に感染する可能性がある。
    この脆弱性が存在する製品は、Microsoft Office Word のバージョン 2003 以降の全バージョンとなっており、3/26 時点では修正パッチ(セキュリティパッチ)は提供されていない。

    また、セキュリティアドバイザリ(2953095)によると、この脆弱性を悪用した Microsoft Word 2010 を対象とした標的型攻撃が見つかっているという。

    このため、暫定対策として、RTF ファイルを開かないようにするパッチ(Fix it)を適用するか、EMET(Enhanced Mitigation Experience Toolkit)を使うなどの対策を行う必要がある。

    CVE-2014-1761 検体のアンチウイルスソフト検知状況

    現在 CVE-2014-1761 の脆弱性を狙っていると考えら得る検体が複数見つかっており、Windows 7/Vista + Microsoft Word 2010 の環境で攻撃が成功するとの情報が出ている。攻撃が成功すると svchost.exe が作成、実効されるようです。Fixit や EMET の導入で攻撃を防ぐことも確認したとの情報も流れている。

    CVE-2014-1761 関連情報

    CVE-2014-1761 検体の分析結果などが掲載されています。


    【送料無料】Bugハンター日記 [ トビアス・クライン ]

    Solaris システム停止コマンドの違い(halt,poweroff, telinit)

    Solaris システム停止コマンドの違い(halt, poweroff, telinit)


  • /usr/sbin/halt
  •     プロセス停止、ディスク同期、ファイルシステムのマウント解除
        可能であれば電源を切る。
        ただし、rc0 スクリプトを実行しないため推奨できない

  • /usr/sbin/poweroff
  •     halt へのシンボリックリンク

  • /sbin/init
  •     rc* スクリプトを実行しプロセスを停止

  • /etc/telinit
  •     init へのシンボリックリンク

  • /usr/sbin/uadmin
  •     システム停止、リブート、サスペンドなどを行う
        /etc/inittab を参照しないため停止コマンドとしては推奨できない

    Solaris/Linux パフォーマンスをチェックするコマンド vmstat/iostat/sar

    Solaris/Linux パフォーマンスをチェックするコマンド vmstat/iostat/sar

    仮想メモリー統計情報 vmstat
    システムイベント情報 vmstat -s
    スワップ統計情報 vmstat -S
    キャッシュフラッシュ統計情報 vmstat -c
    各デバイス当たりの割り込み数 vmstat -i
    ディスクの使用状況 iostat
    拡張ディスク統計情報 iostat -xtc
    ファイルシステム情報
    df
    ファイルアクセスをチェック
    sar -a
    バッファー動作チェック
    sar -b
    システムコール統計情報
    sar -c
    ディスク動作をチェック
    sar -d
    ページアウトとメモリをチェック
    sar -g
    カーネルメモリーの割り当てチェック
    sar -k
    プロセス間通信チェック
    sar -m
    ページイン動作チェック
    sar -p
    待ち行列動作チェック
    sar -q
    未使用メモリーチェック
    sar -r
    CPU の使用状況チェック
    sar -u
    システムテーブルの状態チェック
    sar -v
    スワップ動作をチェック
    sar -w
    端末動作チェック
    sar -y
    システム全体の性能をチェック
    sar -A

    Solaris/Linux vmstat の見方

    Solaris/Linux vmstat の見方

    us    ユーザ時間
    sy    システム時間
    id    アイドル時間
    r      プロセスの実行キュー内にあるプロセス数

    id : 10 ~ 20%, 40% でCPU増設
    r  : 1 より大きい場合はプロセスの競合が発生していると考えられる。
         → CPU 増設

    ユーザ時間に比べて、システム時間が長くなる場合、
    ハードウェアに関わる要因を調査する必要がある

    ページングは、lotsfree で設定された値より空き容量が
    小さくなったときにページ・デーモンが起動され発生する

    リサイクルキャッシュにより連続したランダムI/O のスループットの
    向上と同じにメモリ割り当ての遅延の短縮が実現される。

    <swap>
    使用可能なスワップ空間(kb)

    <free>
    利用可能なメモリ空き容量(kb)

    <re(page reclaim)>
    ページアプトの対象となったが別プロセスで再利用されず
    元のメモリーイメージが残ったままになっているページの数

    ページフォルト
    <pi>
    ページインされたページ(kb/s)

    <mf(minor fault)>
    アドレス空間またはハードウェアアドレス変換フォルトによって
    発生したページフォルトで、ページインなしに解決できるもの

    ページアウトされたデータ量

    <po>
    ページアウトされたページ(kB/s)

    <fr>
    メモリが開放される速さを表示(kB/s)

    <de>
    一時的にメモリ不足が発生した場合のヒステリシスを測定するパラメータ

    <sr>
    ページデーモンの走査速度


    SMTP コマンドとリプライコード

    SMTP コマンドとリプライコード

    sendmail や postfix などのメールサーバで使われている SMTP プロトコルに関する情報
    その他、マルチパートメールやMIME エンコードのメモ

    SMTP コマンド

  • VRFY
  • EXPN
  • HELO
  • EHELO
  • MAIL FROM
  • RCPT TO
  • DATA
  • QUIT
  • SMTPリプライコ-ド

    RFC 821

    221 転送チャネルを閉じる
    251 ユ-ザがロ-カル出ない
    354 メ-ルデ-タ入力開始
    421 サ-ビスが行われていない
    450 送られたメ-ルアクションは受け入れられない
        メ-ルボックス使用不可
    452 送られたメ-ルアクションは受け入れられない
        システムストレ-ジ不足など
    500 コマンドが理解できない
    502 そのコマンドは実装されていない
    504 指定されたコマンドパラメ-タは実装されていない
    552 送られたアクションは中止された
        ストレ-ジ割り当てを越えた
    553 送られたメ-ルアクションは受け入れられない
        不正なメ-ルボックス名
    554 トランザクション失敗

    メ-ルと日本語

    RFC822

    送信可能な文字列は7bitのASCII文字列のみ

    MIME
    メ-ルヘッダに3つのフィ-ルドを追加

    MIME-Version
    Content-Transfer-Encodeing
    Content-Type

    ISO-2022-JP(JIS)
    7ビットですべての文字を表現できる

    Shift-JIS
    EUC-JP
    8ビット領域も利用

    メ-ルヘッダで日本語を使用する

    ISO-2022-JPに変換し,それをBase64で変換する

    RFC2047
    MIME エンコ-ド

    =?ISO-2022?B?エンコ-ド文字列?=

    Bエンコ-ド(Base64方式)
    8ビットで表されるデ-タの3バイト文(8ビット×3=24ビット)を6ビットで表されるデ-タの4つ分に変換
    デ-タのバイト数が3で割れ切れない場合は,足りない部分のビットを0として考える
    すべてのビットが補間されたビットの場合は = で表現する

    Qエンコ-ド(Quated-Pintable)

    添付ファイルについて

    マルチパ-トメ-ル

    MIME-Type: multipart/mixed
    Content-Type: boundary="boundary1234556"

    ESMTP

    CHUNKING バイナリデ-タの送信を可能にする
    CHECKPOINT 不慮の事故に備えてSEND側でデ-タを一時保管できる
    SIZE メ-ルデ-タをあらかじめ通知できる
    DSN メ-ルが送り届けれらたことを送信者に通知できる
    ETRN センダとレシ-バの役割を交換することができる
    SMTP-AUTH
    PIPELINING コマンドをまとめて送信することができる
    BINARYMIME バイナリデ-タの送信を可能にする

    偽アンチウイルスソフト(Privacy Protection)の駆除方法

    偽アンチウイルスソフト FakeAV (Privacy Protection)の駆除方法

    アンチウイルスソフトウェアに偽装したウイルスのことを FakeAV と呼びます。
    FakeAV の一種である Privacy Protection に感染すると、アンチウイルスソフトのような
    スキャン画面を表示して大量のウイルスが見つかったと虚偽の表示をします。
    また、Privacy Protection は、ブラウザやエクスプローラを実行しても
    すぐに強制終了されてしまうため、駆除したくても何も実行できない状態になってしまいます。
    お金を振り込んで製品登録(アクティベーション)するまでこの状態が続きます。

    Pp_4

     

    駆除方法としては

    • セーフモードで起動して駆除する
    • Deft LinuxCaine などのブータブル Linux CD-ROM で起動してウイルスの本体となる実行ファイルを削除する
    • psexec などのツールを使って他のPCからネットワーク経由でウイルスを削除する
    • ウイルスを停止、削除するバッチファイルをUBSメモリなどから実行する

    などの方法があります。

    ...

    OpenSSL コマンドで文字列を暗号化、復号

    OpenSSL コマンドで文字列を暗号化、復号

    公開鍵の内容を確認

    >openssl rsa -pubin -text < public-key.pem

    秘密鍵で暗号化

    >openssl rsautl -encrypt -pubin -inkey public-key.pem < cleartext.txt

    秘密鍵で複合

    >openssl rsautl -decrypt -inkey private-key.pem < ciphertext.txt

    英文を音声にして読んでくれるサイト

    英文を音声にして読んでくれるサイト

    AT&T Natural Voices Text-to-Speech Demo

    読んでくれる人を選べます。 聴力の問題なのか男性の低い声だと聞き取りづらい。

    ubuntu linux root パスワードをうっかり忘れたときに再設定する方法

    ubuntu root パスワードをうっかり忘れたときに再設定する方法


    キーワード: Ubuntu、パスワード解除、パスワード再設定、シングルユーザーモード

    このエントリーをはてなブックマークに追加

    CentOS/Red Hat Linux の場合は、下記を参照してください

    CentOS / Red Hat Linux root パスワードをうっかり忘れたときの対処方法: rootdown 情報セキュリティブログ

    概要

    ubuntu をシングルユーザモードで起動して、password コマンドでパスワードを再設定します。シングルユーザモードで起動すると、パスワードなしで root のシェル(shell)を利用することが出来ます。この root のシェルから password コマンドで root のパスワードを再設定します。

    1. ubuntu をシングルユーザーモードで起動する
    2. passwd コマンドでパスワードを再設定する

    1. ubuntu をシングルユーザーモードで起動する

    1. 電源を押してすぐに「ESC」と 「SIFT」を押すと、grub 画面が表示される
    2. キーボードの「e」を押して編集モードに切り替える
    3. linux で始まる行を以下のように編集する
    4. ro 以降は削除
      ro を rw に変更
      rw に続けて「 linux single init=/bin/bash」を追記

    5. 編集が終わったら「Ctrl-x」で再起動する
    6. シングルユーザーモードで起動する

    2. passwd コマンドでパスワードを再設定する

    シングルユーザーモードで起動すると root のシェルが使えるので、
    パスワードの変更も可能になります。
    # passwd root
    password: ******


    関連リンク



    フォレンジック調査に必要なツールが収録された仮想マシン(VM)イメージ - SIFT(SANS Investigative Forensic Toolkit) Workstation を使ってみた

    フォレンジック調査に必要なツールが収録された仮想マシン(VM)イメージ

    - SIFT(SANS Investigative Forensic Toolkit) Workstation を使ってみた


    キーワード: Forensic、フォレンジック、アプライアンス、VMイメージ、SIFT、SANS

    このエントリーをはてなブックマークに追加

    スポンサーリンク

    概要

    SIFT(SANS Investigative Forensic Toolkit)は、米国のSANS Institute が無償で提供しているデジタルフォレンジック用の仮想マシンです。フォレンジックに必要となるツール類が予めインストールされているため、すぐに調査に利用でき非常に便利です。  
    提供される仮想マシンは VMware イメージの形式になっていますが、VirtualBox などの他の仮想化ソフトウェアでも利用が可能です。今回は無償の仮想化ソフトウェア VirtualBox で利用する方法を紹介します。SIFT Workstationは、以下のURLからダウンロード可能です。ダウンロードには SANS Institute のアカウントが必要になります。アカウントは無償で作成できるので登録しておきましょう。

     

    Digital Forensics Training | Incident Response Training | SANS       
    https://digital-forensics.sans.org/login

     

    SANS SIFT Kit/Workstation: Investigative Forensic Toolkit Download    
    http://digital-forensics.sans.org/community/downloads

    SIFT Workstation 3.0 からは、ベース OS として 64 bit の Ubuntu 12.4 が採用されています。  
    早速 VirtaulBox で 64bit の ubuntu の仮想マシンを作ろうとしたが 64bit の ubuntu が選べませんでした。調べてみるとPC の BIOS で 仮想化支援機構(VT-x/AMD-V) を有効化しておく必要があることがわかりました。仮想化支援機能は、VirtualBoxがソフトウェアで処理しているリソース要求などの割り込み処理を、ハードウェアで処理する機能です。64bit の仮想化マシンを作るには、この機能を有効にしておく必要があるようです。

    今回は、以下の方法で仮想化支援機能を有効にして 64bit の ubuntu 仮想マシンを作成することができました。

    支援機構(VT-x/AMD-V)を有効にする方法

    Lenovo の BIOS の場合、電源押した直後に ENTER で BIOS 設定画面が表示されます。  
    BIOS メニューの Advanced 画面で「Intel(R) Virtualization Technology」を Enable すれば OK でした。

    VirutalBox で利用する方法

    仮想マシンの新規作成で「ubuntu 64bit」を選び、「ハードディスクを追加しない」状態で作成  
    「SIFT Workstation 3.0.7z」に入っている VMDK を IDE に追加します 
    最初に OS がインストールされているシステムドライブである「SIFT Workstation 3.0 Core Drive.vmdk」を追加  
    その後、ケースを格納するディレクトリ「/cases」にマウントされるドライブ「SIFT Workstation 3.0 Cases.vmdk」を追加する  
    電源ボタンを押すと SIFT Workstation が起動します。


    SIFT Workstation のデフォルトのユーザ名とパスワード

    SIFT Workstation は、以下のユーザ、パスワードでログインできます。ログイン後は、パスワードを変更します。

     

    User: sansforensics    
    Password: forensics

    以下のコマンドでパスワードを変更できます。

     

    > password

    root 権限を使いたい場合は、sudo コマンドを利用します。

     

    > sudo su    
    #

    SIFT Workstation の日本語環境の設定

    スポンサーリンク

    SIFT Workstation はデフォルトではUSのタイムゾーンになっています。フォレンジック調査ではタイムライン分析等で時刻情報が重要な情報になるため、調査対象のタイムゾーンと合わせておいた方が間違いや混乱がなく良いと思います。また、日本語入力もできません。日本語のキーワードで検索するときなどに必要になってくるので、日本語入力が出来るように設定しておく必要があります。

  • 日本のタイムゾーン(JST)の設定  

    dpkg-reconfigure tzdata    
    Asia -> Tokyo

  • 日本語キーボードの設定  

    dpkg-reconfigure keybord-configuration    
    DELL -> Japanese -> Japanese

  • 日本語ロケールの設定  

    dpkg-reconfigure locales    
    ja_JP.UTF-8  up-to-date

     

    update-locale LANG=ja_JP.UTF-8

     

    vi /etc/environment    
    LANG="ja_JP.UTF8"

  • 日本語入力の設定
  • メニューバーから「DASH ホーム」-「入力メソッド切替器」で「SCIM」を選択

    追加パッケージ

    自分が普段使っているツールや調査分析に必要なツール類を追加します。 ここでは nkf のような文字コード変換プログラムや php プログラムの解析のため php-cli をインストールしたりしています。

    apt-get update  
    apt-get install chkconfig  
    apt-get install nkf  
    apt-get install language-pack-ja  
    apt-get install scim-anthy  
    apt-get install apache2  
    apt-get isntall squid  
    apt-get install php5-cli

     

    削除パッケージ

    SIFT Workstation の VMイメージは VMware 形式で作られており、VMware Tools がインストールされています。今回は VirtualBox で利用するため VMware tools をアンインストールしておきます。

    # apt-get autoremove vmware-*

    VirtualBox Guest Additions インストール

    VirutualBox のメニューの「デバイス」から「Guest Additions のCDイメージの挿入」を選ぶ

    # cd /media/VBOXADDITIONS_*  
    # sh ./VBoxLinuxAdditions.run

     

    収録されているフォレンジック調査ツール

    スポンサーリンク

    SIFT に収録されているツール(一部)

     

                                                                                                                                                                                                                                                                                                                   
    ツール名 概要
    regripper レジストリをパースしてわかりやすく表示してくれるツール
    log2timeline ファイルシステムやレジストリ、ブラウザ履歴などさまざまなデータからタイムラインを作成してくれるツール
    sleuthkit ファイルシステムを解析するツール。削除されたファイルの調査や復元などが出来る。FAT/NTFS/EXT/HFSなど多くの種類のファイルシステムをサポートしている。mmls, fls, ils, icat, istat, blkls, blkcat などのコマンド群
    dcfldd ディスクイメージを作成するツール。GNU dd をフォレンジック用に改良したツール。
    dc3dd ディスクイメージを作成するツール。GNU dd をフォレンジック用に改良したツール。
    volatility メモリフォレンジックツール。メモリーイメージを解析することができる。
    foremost カービングという方法で削除されたファイルを復元するツール。Sleuthkit の blkls でファイルシステムの未使用領域のイメージを作成して、そのイメージに対して実行する。
    deleted.pl 削除されたレジストリデータを復元してくれるツール
    qemu 仮想ディスク vmdk などを raw イメージに変換するときなどに利用する

     

    Linux kernel メモ

    Linux kernel メモ

    実行時のカーネルモジュールの管理

    モノリシックカーネル
    モジュラカーネル

    モジュールファイル格納ディレクトリ

    /lib/modules/`uname-r`

    block    プロック型デバイスのモジュール(RAIDコントローラ、IDEテープドライブ)
    cdrom    非標準CD-ROMデバイスドライバモジュール
    fs    ファイルシステム用ドライバ
    ipv4
    misc
    net
    scsi
    video

    モジュール操作

    lsmod
    ロードされているモジュール表示

    insmod
    動作中のカーネルにモジュールを 1 つだけ挿入する。

    modprobe
    insmod と同じく動作中のカーネルのモジュールを挿入する。
    自動的に依存関係を調べ、必要なモジュールを先にインストールする。

    rmmod
    -a     未使用モジュールをすべて削除
    -s     syslog に結果を書き出す
    modprobe -r で自動的に依存関係を調べ、必要なモジュールから先に削除する。

    modinfo
    各モジュールの情報を表示する
    -a    開発者
    -d    説明
    -p    パラメータの説明

    modprobe
    modules.dep を使って依存関係を調べる

    -t     tag ディレクトリにある全てのモジュールをロードする
    -c    /etc/modules.conf に含まれるモジュール構成をすべて表示する
    -l     モジュール一覧を表示(-t も併用できる)

    モジュールを構成する

    keep
    depfile=full_path
    path=path_directory
    options module opt1=val1 opt2=vol2 ...
    pre-install module command
        module を挿入する前に command を実行する
    install module command
    post-install module command
        module を挿入した後に command を実行する
    remove module command
    post-remove module command
        module を削除した後に command を実行する

    モジュールの依存関係
    システムをリブートするたびに modules.dep が生成される

    rc.sysinit で depmod -a を呼び出し modules.dep を生成

    カスタムカーネルとモジュールの再構成、構築、インストール

    カーネルの基礎

    カーネルのバージョン
    メジャーリリース(偶数のリリース番号)
    マイナーリリース(奇数のリリース番号)
    パッチレベル

    カーネルのソースコード
    /usr/src/linux

    カスタムカーネルを構築する
    カーネル構成を生成する
    各オプションに対してその機能をどのように扱うかを指定する
    ・Xカーネルに組み込む(yes)
    ・Xモジュールとしてコンパイルする(module)
    ・X不要(no)

    カーネル構成ファイル

    /usr/src/linux/.config

    config を設定する方法
    make config
    make menuconfig
    make xconfig
    make oldconfig (デフォルトの .config )

    Makefile にカスタムパージョンを指定
    EXTRAVERSION = -15 -pentium

    カーネルをコンパイル

    1. make dep
    2. make clean
        前回のカーネル構築で残された古い出力ファイルを削除する
    3. make bzImage
        ブート可能なカーネルイメージファイル
    4. make modules
        ディバイスドライバなどのモジュールとして構成したものをコンパイル
    5. make modules_install
        コンパイルしたモジュールをすべて/lib/modules/`uname -r` にインストール

    新しいカーネルをインストールし、LILOを構成する

    1. 新しい bzImage のコピーをルートパーティションにコピー
       LILO でブートできるようにする

       # cp -p /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz-2.2.5-15-pentium

    2. カーネル一覧表示
       # ls -l /boot /vmlinuz*

    3. 新しい image セクションを /etc/lilo.conf の終わりに追加
       image=/boot/vmlinuz-2.2.5-15-pentium
        label=linux-pentium
        root=/dev/sda1
        read-only

    4. lilo で新しいカーネルを登録する
        # lilo

    5. 新しいモジュールの動作確認
        #ls -l /lib/modules

    SSH プロトコル

    SSH プロトコル

    1. ssh のバージョンをクライアントからサーバに送る
    2. ホスト公開鍵をサーバからクライアントへ送る
    3. 乱数により生成されるサーバ鍵をサーバからクライアントへ送る
    4. 初 ホスト公開鍵を保存
           登録済みの鍵と照合 なりすましを確認
    5. 乱数により共通鍵を作成
       ホスト公開鍵とサーバ公開鍵で暗号化し、サーバへ送る
    6. ホスト秘密鍵とサーバ秘密鍵で受信データを複合化し、共通鍵を得る

    認証

    SSH1 RSA暗号方式
    SSH2 RSA暗号方式とDSA暗号方式

    公開鍵暗号方式
    ① 公開鍵ペア作成ツール ssh-keygen
    公開鍵:identity.pub
    秘密鍵:identity

    ②公開鍵をサーバへ登録
    ~/.ssh/authorized_keys(ssh1)
    ~/.ssh/authorized_keys2(ssh2)

    ③サーバの接続(サーバのホスト鍵を保存)
    ~/.ssh/known_hosts(ssh1)
    ~/.ssh/known_hosts2(ssh2)

    PAM認証

    ・タイプ(auth,account,passwd,session)
    auth:認証を許可するかどうか
    account:パスワード有効期限、認証時の時間など(authとセット)
         アカウントの有効性チェック
    passwd:認証方法変更メカニズム
    session:ユーザ認証前後で実行されることを指定

    ・コントロールフラグ
    requisite:
    required:
    sufficient:required行がすべて許可されている場合に有効
    optional:

    ・モジュールパス

    ・引数
    access.conf: pam_access.so
    console.perms: pam_consol.so
    group.conf: pam_group.so
    limits.conf: pam_limit.so
    pam_env.conf: pam_env.so
    time.conf: pam_time.conf

    pam_envモジュール pam_env.conf 環境変数を初期設定

    Squid Proxy サーバの設定とログ解析ツール

    Squid Proxy サーバの設定とログ解析ツール

    アクセス制御に関する設定

    acl <ACL名> <ACLタイプ> <ターゲットのリスト>

      クライアントのIPアドレスやSquidが受け付けるポートに
      対してアクセス制御リストを対応づける。

      HTTP のアクセス制御については http_access で行なう。

      ACLタイプ

      src,dst,srcdomain,dstdomain,url_pattern,
      urlpath_pattern,time,port,proto,method,
      browser,ident

    http_access allow/deny [!]<ACL名>

    ipc_access allow/deny [!]<ACL名>

      IPC により近隣の squid サーバからのリクエストを
      許可する設定を行なう

    miss_access allow/deny [!]<ACL名>

      近隣の squid サーバから Parent として勝手に利用
      されないためのアクセス制御。
      デフォルトでは、Parent サーバのキャッシュにヒット
      しなかった場合、http_access で許可された近隣
      サーバはすべて代理でキャッシュを取得してもらうこと
      (MISSES)が認められている。
      miss_access deny という設定により、ヒットしたキャッシュ
      (HITS)の取得しか許可しないサーバを指定できる。

    forwarded_for on/off

      Squid がHTTPリクエストを送る時に、クライアントのホスト名
      またはIPアドレスに含めるかどうかを指定する。
      デフォルト on。クライアントの情報が、X-Forwarderd-For:
      ヘッダでおくられる。

    cachemgr_passwd [パスワード] [アクション]

      cachemgr.cgi 統計解析CGI プログラムの実行パスワードを設定。

    近隣サーバとの連携

    Sibling 型

      水平方向に配置する形式。
      アクセス負荷分散とディスクキャッシュの分散データベース化。

      cache_peer squid-b sibling 8080 3130 proxy-only

      ・自ホストでキャッシュしていないデータが他のSquidの
        キャッシュにもヒットしなかったときは自身で実データを
        取得する
      ・近隣サーバから取得したデータはローカルディスクには
        キャッシュしない(proxy-only)
      ・クライアントがアクセスできる squid をランダムに
        選択できれば負荷分散が可能。(DNS ラウンドロビン)

    Parent 型

      垂直方向に配置する形式。
      ファイアウォール内部にあるインターネットに直接アクセスきない
      Squid と外部の Squid との連携

      cache_peer squid-ext parent 8080 3130 no-query

      hierarchy_stoplist cgi-bin ?
      URL 中に cgi-bin や ? が含まれると squid が直接データを
      取得しようとする。

      never_direct allow all
      cgi-bin や ? が含まれていても、すべてのリクエストを
      強制的に上位 squid 経由で行なわせる。

      no-query
      IPC リクエストを無効にする。

    キャッシュマネージャの導入

      cachemgr.cgi を cgi-bin にコピーして実行権限を与える

      cachemgr_passwd の <action>名
      5min,delay,io,redirector,60min,digest_status, ipcache
      refresh,asndb,dns,mem,server_list,authenticator,events,
      menu,shutdown,cbdata,filedescriptors,netdb,store_digest,
      client_list,fqdncache,non_peers,storedir,comm_incoming,
      histograms,objects,utilization,conifg,http_headers,
      pconn via_headers,counters,info,peer_select,vm_objects

      <action>名に all を設定するとすべて
      <passwd> に disable を設定するとそのアクションは無効
      <passwd> に none を指定するとそのアクションはパスワードなしとなる

      キャッシュマネージャへのアクセス許可
      acl www src 192.168.3.30/32
      http_access allow manager www

    Squid のログファイル

      time duration client_address result_code/HTTP_code bytes
      request_method URL rfc931 hierarcy_code/hierarchy_host
      content_type

      hierarchy_code/hierarchy_host
      サーバからのオブジェクト取得方法/要求先ホスト名

      TCP_HIT    有効期限内のキャッシュにヒット
      TCP_MEM_HIT 有効期限内のメモリキャッシュにヒット
      TCP_MIS     キャッシュにヒットしなかった
      TCP_REFRESH_HIT
                  データ元サーバへ If-Modified-Since ヘッダ
                  つきのHTTPリクエストを実行し 304 Not-Modified
                  (データは最新)という返答を受けたためキャッシュで応答

      TCP_REFRESH_MIS
                  If-Modified-Since ヘッダつきのリクエストを実行し
                  最新データを取得
      TCP_REF_FAIL_HIT
                  If-Modified-Since ヘッダ付きのリクエストを失敗し
                  古いキャッシュオブジェクトを返した
      TCP_IMS_HIT クライアントの If_Modified-Since つきの
                  リクエストに対し、キャッシュが最新だったので
                  304 Not-Modified を返した
      TCP_CLIENT_REFRESH_MIS
                  クライアントが no-cache 要求を送ってきたため
                  データ元のサーバから最新データを取得した
      TCP_NEGATIVE_HIT
                  404 not found などのエラーキャッシュにヒット
      TCP_SWAPFAIL_MISS
                  キャッシュにヒットしたがアクセスできなかった
      TCP_DENIED  ACL によりアクセスは拒否された

     

      DIRECT      データ元サーバから直接取得
      FIREST_PARENT_MISS
                  往復時間が最短の Parent のキャッシュから取得
      FIREST_UP_PARENT
                  Parentリストの最初のParentキャッシュから取得
      SIBLING_HIT UDPでヒットしたSibling のキャッシュから取得
      PARENT_HIT  UDPでヒットしたParentのキャッシュに要求
      NO_DIRECT_FAIL
                  never_direct などが関係するファイアウォール設定の
                  影響でリクエストが要求できなかった
      SOURCE_FASTEST
                  source_ping がもっとも早く到達したため、オブジェクト
                  をデータ元サーバに要求した
      DEFAULT_PARENT
                  IPCリクエストがおくれられず、設定ファイルのデフォルトに
                  指定されていたため、このPerentに要求した
      ROUNDROBIN_PARENT
                  どの Parent からも IPC による問い合わせを受けず、
                  設定でランドロビンが指定されており、最も利用が少なかった
                  ため、このParentが選択された

    ログ解析ツール
      Calamaris
    http://cord.de/tools/squidcalamaris/Welcome.html.en
      cat logfile | calamaris -a > report

      Cache-stats
      ftp://squid.nlanr.net/pub/contrib/cache-stats/

      suidstats.sh
      HOSTS
      TOPN
      LOGDiR
      BINDIR
      WWWDIR
      PIDFILE
      GZIP
      FIND
      RM

      access-summary.pl
      $PortNum = 8080;
      $ImgDir = '/cache-stats/img';

      ./squidstats.sh


     

    OpenSSL で SSL サーバ証明書の作成

    SSL サーバ証明書の作成


    企業やオンラインストアなどで使う SSL サーバ証明書は、ベリサインやジオトラストなどの
    第三者の信頼できる認証局から発行してもらう必要があります。
    発行してもらうためには CSR (証明書署名リクエスト:Certificate Signing Request)と
    呼ばれるファイルを作成して認証局に送付する必要があります。
    この CSR は、Redhat や CentOS, Ubuntu などの Linux ディストリビューションに含まれる
    OpenSSL コマンドで作成することができます。

    1. プライベートキー作成のために必要となるランダムファイルを作成
    2.    # cat /dev/random > rand.dat (数秒まってCtrl+C で止める)

    3. プライベートキーの作成
    4.    # /usr/bin/openssl genrsa -rand rand.dat 2048 > server.key

    5. CSR の作成
    6. # /usr/bin/openssl req -new -key ./ssl.key/server.key -out ./cert.crt

      Using configuration from /usr/ssl/openssl.cnf
      Enter PEM pass phrase:
      You are about to be asked to enter information that will be incorporated
      into your certificate request.
      What you are about to enter is what is called a Distinguished Name or a DN.
      There are quite a few fields but you can leave some blank
      For some fields there will be a default value,
      If you enter '.', the field will be left blank.
      -----
      Country Name (2 letter code) [AU]:JP
      State or Province Name (full name) [Some-State]:Tokyo
      Locality Name (eg, city) []:Tokyo
      Organization Name (eg, company) [Internet Widgits Pty Ltd]:Example Ltd. (会社名など)
      Organizational Unit Name (eg, section) []:Example Section (部署名など)
      Common Name (eg, YOUR name) []:www.example.jp (サーバ証明書を使うWebサーバのホスト名)
      Email Address []:
      Please enter the following 'extra' attributes
      to be sent with your certificate request
      A challenge password []:
      An optional company name []:

    7.   Apache 起動した時にパスフレーズを入力しなくてもよいようにプライベートキーを変更
    8.    # /usr/bin/openssl rsa -in server.key -out new.server.key

    9. ベリサインやジオトラストなどの認証局に CSR を送付
    10. CSR , プライベートキーの組のバックアップを取っておく
    11. プライベートキーを無くしてしまうと証明書の再発行が必要になってしまいます

    オンラインショップの運営者を狙ったマルウェアが添付されたメール

    オンラインショップの運営者を狙ったマルウェアが添付されたメール


    少し前からオンラインショップの運営者を狙ったマルウェアが添付されたメールが出回っているそうです。
    シマンテックで検出するウイルス名は「Infostealer.Ayufos」のようです。
    以下、マルウェア添付のファイル名です。
    gazou.exe
    syouhin.exe
    photo.exe
    photo1.exe
    など

    「商品破損した」など、オンラインストアの管理者狙うマルウェア付きメール
    http://internet.watch.impress.co.jp/docs/news/20140313_639572.html


    警告: 国家的支援を受た攻撃者があなたのアカウントやパソコンを侵害しようとしている可能性があります。

    警告: 国家的支援を受た攻撃者があなたのアカウントやパソコンを侵害しようとしている可能性があります。

    キーワード: Gmail, ハッキング、国家的支援、サイバー攻撃、ハッキングチーム

    スポンサーリンク


    概要

    Gmail にログインしたら、なんと!

    警告: 国家的支援を受た攻撃者があなたのアカウントやパソコンを侵害しようとしている可能性があります。

    と警告が表示されました。

    Google は、ユーザーからの報告や、Google 独自システムを使って、不審なログイン試行や各種アクティビティを監視しているそうです。

    「侵害しようとしている可能性があります」と書いてあるとおり、侵入されている訳ではないようです。何をもって「国家的支援を受けた」と判断したのか気になるところです。

    Security warnings for suspected state-sponsored attacks

    http://googleonlinesecurity.blogspot.jp/2012/06/security-warnings-for-suspected-state.html

    Gmail ヘルプ:  いずれかの政府の支援を受けた攻撃者がパスワードを盗もうとしている可能性があります

    https://support.google.com/mail/answer/2591015?hl=ja&ctx=mail&vid=0-924830137435-1482545159326

    国家機関に対して監視ソフトや攻撃ツールらしきものを販売している企業が複数あります。2015年に話題になった政府・法執行機関向けのスパイソフト販売している企業ハッキングチーム(Hacking Team)の情報漏えい事件では、顧客リストにDoD(米国防総省)FBI(連邦捜査局)、ロシア、アゼルバイジャン、カザフスタン、サウジアラビア、アラブ首長国連邦、バーレーン、オマーン、エジプト、スーダン、エチオピア、モロッコ、ナイジェリア、レバノン、モンゴル、韓国などが含まれていたと報道されていました。

    スポンサーリンク

    関連リンク

    勝間和代 - うーーーむ、Gmailで「警告:... | Facebook

    https://ja-jp.facebook.com/kazuyo.katsuma/posts/389362401100272

    Google、国家支援攻撃に関する警告メッセージを6月に続き10月にも送信

    http://internetcom.jp/webtech/20121009/2.html

     

    【送料無料】 サイバー・クライム / ジョセフ・メン 【単行本】

    インシデント発生時の対応 -自動証拠収集ツール Triage-IR

    インシデント発生時の対応 -自動証拠収集ツール Triage-IR

    Triage-IR の概要

    https://code.google.com/p/triage-ir/

    Windows システムでウイルス感染や不正アクセスなどが発生した際に調査に必要となる情報を自動収集してくれるプログラムです。


    Triage-IR の使い方

    1. Triage-IR を USBメモリなどに格納しておく(必要に応じて triage.ini を変更)
    2. 調査対象システムに USB メモリを接続して、Triage-IR を起動
    3. Triage-IR の画面で「Run」ボタンを押すと情報収集開始
    4. Triage-IR と同じディレクトリの「YYYYMMDDhhmmss - コンピュータ名 Incident」のディレクトリに収集したデータが格納される

    ボタン一つでメモリダンプとレジストリを取得してくれるので、エンドユーザに情報収集をお願いするときに便利そうです。また、メモリダンプがあるので、大きめのUSBメモリに入れておいたほうがよさそうです。


    WordPress XML-RPC Pingback DDoS 攻撃について

    WordPress XML-RPC Pingback DDoS 攻撃について

    Pingback DDoS 攻撃とは

    WordPress の Pingback 機能を悪用した DDoS 攻撃 (Denial-of-service attack ) が発生しています。

    Pingback とは、サイトへのリンクを張ったときに、リンク先のサイトに通知する機能です。
    今回のPingback DDoS は、多数の WordPress を使った正規 Webサーバに、攻撃先サーバに対して Pingback 通知が送られるように指示を出すことで DDoS状態に陥らせる攻撃です。多数の日本のWebサイトが踏み台として DDoS 攻撃に利用されてしまっているようです。

    影響を受けるシステム

    Pingback DDoS 攻撃に悪用される恐れのあるシステムは、
    Pingback 機能が有効になっている WordPress を利用しているWebサーバです。



    Pingback 機能が有効か確認する方法

    Pingback 機能が有効か確認する方法としては、
    • xmlrpc.php に Pingback の POST クエリーを出してレスポンスを確認する
    • レスポンスに X-Pingback ヘッダーがあるか確認する
    などで確認することが可能です。

    踏み台として利用されていないか確認する方法

    既にPingback DDoS 攻撃に加担してしまっている場合は、
    Webサーバのログに、

    POST /pathto/xmlrpc.php HTTP/1.0

    などのログが記録されていれば、Pingback DDoS 攻撃に利用されいている可能性があります。



    対策方法

    下記URL に XML-RPC Pingback(ピンバック) DDoS 攻撃に対する具体的な対策方法が記載されています。

    How to protect WordPress from XML-RPC Pingback Abuse
    http://cm.org.uk/wordpress/how-to-protect-your-wordpress-blog-from-xml-rpc-pingback-abuse/

    大きく2つの対策方法が紹介されています。
    1つ目は、XML-RPC サービスを完全に無効化する方法
    2つ目は、XML-RPC Pingback 機能のみを無効化する方法
    ただし、1つ目の対策方法は、Pingback サービス以外にも影響する可能性があるため推奨しないとの説明になっています。

        1. XML-RPC サービスを完全に無効化する方法
    • .htaccess (Apache の設定ファイルの一つ)を使って xmlrpc.php へのアクセスをブロックする
    • XML-RPC サービスを無効化するプラグインを使う - https://wordpress.org/plugins/disable-xml-rpc/
    • WordPress の設定ファイル(wp-config.php)に xmlrpc を無効化するフィルタを追加
        2. XML-RPC Pingback 機能を無効化する方法


    また、WordPress のプラグイン WP Total Hacks 1.8.0 に Pingback 機能を無効にする機能が追加されたそうです。 http://firegoby.jp/archives/5463
    https://wordpress.org/plugins/wp-total-hacks/


    関連情報

    « 2012年11月 | トップページ | 2014年4月 »

    記事一覧

    スポンサードリンク


    Twitter


    無料ブログはココログ

    ブログ検索