2017年01月17日

IHSでSSLhandshake問題の調査方法

調査方法というより、トレースの取り方ですな。

トレースはIHS側のmod_sslのトレースと、
肝心の暗号処理を行っているgskitのトレースを取ることになります。
やり方は簡単で、ちょっと設定をいれて再起動するだけです。
めっちゃログがでるようになるので注意。

httpd.conf の LogLevelをdebugに
httpd.conf に SSLTraceを追加
export GSK_TRACE_FILE=/tmp/gsk_trace.log

IHS再起動で反映

終わったら、httpd.confを戻し、unset GSK_TRACE_FILE

もっと細かいオプション等はリンク先で。


タグ:ssl IHS GSKit
posted by koteitan at 10:53| Comment(0) | TrackBack(0) | WebSphere | このブログの読者になる | 更新情報をチェックする

2017年01月08日

cipherのマッチング順序制御

デフォルトはクライアント優先

以下のパラメータが有効であると、サーバーが優先(SSLv3、TLS1.0の時)

Apache
SSLHonorCipherOrder 

Nginx
ssl_prefer_server_ciphers

BIGIP
Cipher server preference

IHS
無い。常にサーバーが優先
Does IHS have anything like mod_ssl's SSLHonorcipherorder?

No, IHS always uses the servers preference (acts like 'SSLHonorcipherorder on');



うむ、見事にバラバラである。
posted by koteitan at 16:49| Comment(0) | TrackBack(0) | セキュリティ | このブログの読者になる | 更新情報をチェックする

2016年11月26日

[IHS]Etagについて

Etagは各コンテンツに対するハッシュ値みたいなもので、更新日付のみでの
(last-modified)のみでのキャッシュより精密な制御ができる。
古い日付のファイルで更新した場合、Etag無効なら更新が反映されずキャッシュがでてしまうというように。

無論経路上に存在するキャッシュ機器やブラウザが対応していないとダメ。
最近ならほとんど対応してるはず。

CVE-2003-1418なんて古−−−い脆弱性を調べてたときのメモである
Etagの値を求めるのに、inode番号を使ってたから、inodeが漏えいするってえやつ。
inodeが漏れただけではなんともないが、別の脆弱性と組み合わせてって感じなのかな。


以下リンク
IHS: ETagの無効化について

Disabling ETag headers in IBM HTTP Server

How do we fix "ETag Inode Information Leakage" vulnerability in IHS?

Apache HTTP Server での MIME メッセージ境界による情報漏えい (ApacheMimeInformationDisclosure)

ApacheのETAG計算
クラウド環境でのApacheの設定

ETagについて調べてみた


posted by koteitan at 10:44| Comment(0) | TrackBack(0) | WebSphere | このブログの読者になる | 更新情報をチェックする

[WebSphere]WebSphereでコネクションプールの状況をコマンドから確認する方法

昔はPMIモジュールを有効にして、TPVするしか確認できなかったのに、
最近は簡単になったんだねぇ。

1.wsadminツールにて管理ノードへ接続します

wsadmin.sh -lang jython -user <USERNAME> -password <PASSWORD>

2.対象のMbeanを検索します。

ds=AdminControl.queryNames('*:j2eeType=JDBCDataSource,name=DS名,process=AS名,*')

3.pool状況をモニタします

AdminControl.invoke(ds,"showPoolContents")


出力される内容の

Total number of connections: 1 (max/min 10/1, reap/unused/aged 180/1800/0, connectiontimeout/purge 180/EntirePool)
                               (testConnection/inteval false/0, stuck timer/time/threshold 0/0/0, surge time/connections 0/-1)

ここがプールの状況で、(これは1つプールされていて、最小1 最大10って意味)

Shared/Unsahred Connection information

ここにコネクションの使用状況が出る。スレッドIDが出るので、javacoreを吐かせて処理を特定できる。
同じスレッドIDがいくつもつかんでいたりすると開放漏れのリークかもねぇ。


参考

posted by koteitan at 10:39| Comment(0) | TrackBack(0) | WebSphere | このブログの読者になる | 更新情報をチェックする

2016年11月10日

RHEL de Tomcat

・バンドルされているTomcatだと、背筋の良い猫の画面やマネジメント画面がでない
 必要なファイルセットが不足。TOMCATとしては機能している。
 WASでいうところの管理コンソールとDefaultApplicationがインストールされていない状態。
 yum installで追加インストールすれば行けるみたいだが、
 ネットワークにつながらない場合はめんどくさい上に古いから、
 本家から拾ってきたほうがいいと思う。


 どんな罠だよ。

・最新はTomcat9だが、Tomcat9にするにはJava8が必要。

・管理画面を使うにはtomcat-users.xmlの編集が必要


バンドルじゃなかったらサポートはありませんとか言われるんだろうな、これ。
Tomcatのインストールなんて3分かからないのにねぇ・・。

posted by koteitan at 23:48| Comment(0) | TrackBack(0) | OSS | このブログの読者になる | 更新情報をチェックする

2016年11月03日

誕生日攻撃 CVE-2016-2183

誕生日のパラドックスからもじったんだ。
しらんかった。わかりやすいようなわかりにくいような・・・。




我々はブラウザとウェブサイト間を長期間トリプルDESのHTTPS通信を監視できるネットワークの攻撃者が785GBのトラフィック量をキャプチャすることでセキュアなHTTPクッキーを再生できることを示す。

785GBがいまどきの感覚で多いのか少ないのか、議論が分かれそうですな。



posted by koteitan at 10:23| Comment(0) | TrackBack(0) | セキュリティ | このブログの読者になる | 更新情報をチェックする

2016年10月24日

Dirty COW

ロゴといい、サイトといい脆弱性ビジネスの香りが若干するが・・・。
ローカルユーザーから権限を昇格させたり、ReadOnlyファイルに書き込んだりできる。
外部からは厳しいね。
なにかの脆弱性経由でシェル取られた後なら可能だろうけど。




POC

posted by koteitan at 23:11| Comment(0) | TrackBack(0) | セキュリティ | このブログの読者になる | 更新情報をチェックする

2016年10月22日

small WindowSize DOS

攻撃手法としては古めかなー。
大抵のFW製品やIPSは検知してくれるだろうしね。
slowlorisとか懐かしいな。めがねサルだかリスの画像が出てくるんだよね。
個人鯖とかだとmod_antilorisとかmod_security2をコンパイルビルドして、バーリアッ!しなきゃならんが
エンタープライズな環境だと、専用の防御サーバーが居るだろうしそっちに任せるが
役割分担的にもいいんでないかなー。両方守っておけばそりゃいいけどさ。


備忘録としてメモ


posted by koteitan at 10:07| Comment(0) | TrackBack(0) | セキュリティ | このブログの読者になる | 更新情報をチェックする

2016年10月13日

MIBファイルをどうにかして読みやすくする方法

snmptranslate コマンドでツリー表示させるのが楽なんじゃなかろうか。

cygwinでやってもええが、Ubuntuが楽か。インストール的に。

snmptranlate -m MIBファイル -Tp (OID)

たぶん、enterpriseのmibのimportのところで、ハァ?ってエラーになるから、

↓こんな感じのエラーね
Cannot find module (SNMPv2-SMI): At line 34 in /usr/share/mibs/netsnmp/UCD-SNMP-MIB
Cannot find module (SNMPv2-TC): At line 37 in /usr/share/mibs/netsnmp/UCD-SNMP-MIB
Did not find 'enterprises' in module #-1 (/usr/share/mibs/netsnmp/UCD-SNMP-MIB)
Did not find 'DisplayString' in module #-1 (/usr/share/mibs/netsnmp/UCD-SNMP-MIB)
Did not find 'TruthValue' in module #-1 (/usr/share/mibs/netsnmp/UCD-SNMP-MIB)

たらないMIBを一発ダウンロードする。
オフライン環境の人はちまちまとってくるしかないな・・。

sudo apt-get install snmp-mibs-downloader

あとはトリガでかってにダウンロードしてくれまっさ。

んで、/etc/snmp/snmp.conf のmibs:をコメントアウトする。
これ忘れるとうまく反映されない。
既存のMIBDIRの中身を無効にして、ダウンロードした場所へエイリアスを作っている感じだった。
詳しくは各自google先生するなりしてくだせい。
目的はMIBを読むことであって、snmo-mibs-downloader の動作確認違うからな。


http://qiita.com/Tocyuki/items/9aaae3de2858b2bfed7d

さらにサードパーティのMIBを追加する場合は以下の手順で
私の場合はSystemXのIMMのMIBが読みたかったのだ。


mkdir -p  $HOME/.snmp/mibs
echo "mibdirs +$HOME/.snmp/mibs" >> $HOME/.snmp/snmp.conf

mibファイルを$HOME/.snmp/mibsに配置する

ファイル名から拡張子を消し、全て大文字にする
ファイル名はIMM-MIBのようにする ← これはいらないかも

$HOME/.snmp/snmp.conf に以下のように追加する

mibs +IMM-MIB
mibs +IMMALERT-MIB



ややこしいのぅ。
RHEL系ではどうするんだろな。/etc/snmp/snmp.confに書くだけかなー?
またヒマがあればやってみよう。yumで一発だといいなー。

posted by koteitan at 00:19| Comment(0) | TrackBack(0) | その他備忘録 | このブログの読者になる | 更新情報をチェックする