2016年10月09日

IHS de SSL

よく忘れるので、メモしておこう。

1 keyストア作る
2 証明書入れる(自己でも買ったやつでもなんでも)
3 httpd.conf に以下を入れる
 (デフォルトで入っているのを有効化するだけでいい)

キーストアのパスは適宜直すこと
LoadModule ibm_ssl_module modules/mod_ibm_ssl.so
Listen 443
<VirtualHost :443>
SSLEnable
SSLClientAuth None
</VirtualHost>

SSLDisable
KeyFile "c:/program files/ibm http server/key.kdb"


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

2016年10月05日

CVE-2016-2776(Bind AssertionFailure)

ちょっと前に騒がれていたが、PoCが出たことで再燃した。
なんせ1パケットで死ぬから、効率よくDosできちゃう。

素RHEL6で試してみたが、即死したぞ。

BindCrash.png

PoCについての言及は避けます。

https://access.redhat.com/security/cve/cve-2016-2776
https://www.ipa.go.jp/security/ciadr/vul/20160929-bind.html
https://jprs.jp/tech/security/2016-09-28-bind9-vuln-rendering.html

速やかにアップデートしましょう。
企業だと回帰検証とかあーだこーだで機動力ないとつらいとこだがねぇ・・。
posted by koteitan at 23:34| Comment(0) | TrackBack(0) | 情報処理 | このブログの読者になる | 更新情報をチェックする

2016年10月02日

ThreadPool JDK5

メモしとこ。

JDK5から使えるスレッドプールの実装。

スレッド管理のわずらわしさから開放される。
以下のサンプルはMachineクラスがたまにアホになり無限ループする。
たぶんjextractとjdmpviewの勉強用に作ったサンプルだったと思う。


import java.util.*;
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;

public class test
{
    public static void main(String[] argv)
    {
        ExecutorService threadPool = Executors.newFixedThreadPool(5);
        
        Collection<Callable<Void>> processes = new LinkedList<Callable<Void>>();
        for(int i=0 ; i < 5; i++)
        {
            final Machine m = new Machine(i);
                processes.add(new Callable<Void>() {
                    @Override
                    public Void call() {
                        m.exec();
                        return null;
                    }
                });
        }
        
        try {
            threadPool.invokeAll(processes);
        } catch (InterruptedException e) {
            throw new RuntimeException(e);
        } finally {
            threadPool.shutdown();
        }
    }
}
続きを読む
posted by koteitan at 17:05| Comment(0) | TrackBack(0) | Java | このブログの読者になる | 更新情報をチェックする

2016年09月24日

Nprton WiFi Privacy

iPhone7が発表されて、各キャリアからも20GBとかのプランが出だしたから、
WiFiを利用しないという手も取れるけれども、それでもYoutubeやニコ動を1時間も見れば
パケットは1GBぐらいいくわけなので、やっぱり公衆WiFi使いたいよねぇ。
とはいってもセキュリティ的にアカンやつとかもあるので、自衛したい。
自分の情報を狙われるというより、踏み台にされることが怖い気がするね。

そこで、安心安全信頼のノートン先生のVPN
https://itunes.apple.com/jp/app/id1095519285
アンドロイド版もあるみたいよ。

ちょっと検証してみたけど、テザリングしているとVPNにならない。
(WiFi接続、USBやBlueToothは未検証だし、仕様なのかどうかも未確認)

(1)iPhone  (VPN-ON)
(2)iPad(WiFi版)をiPhoneへテザリング

この状態で確認くんしてみると(1)はちゃんと西海岸なりドイツなりになるが
(2)はSoftBank(筆者はSoftBankキャリア)になる。
中国に出張をよくする友達に聞かれて確認してみた。
行ったことないけど、中国のネットはやっぱ怪しいらしい。
研究職だからかすごい気にしていたね。
posted by koteitan at 20:40| Comment(0) | TrackBack(0) | セキュリティ | このブログの読者になる | 更新情報をチェックする

2016年09月10日

pyQt メモ(イベントの接続)

evernoteにメモしてたんだけど、やっぱ公開しないとな。
こっちもたくさんの公開blogとか参考にさせてもらってるんだしね。
慣れた人には当たり前なのだろうけど、ね。

#ImageBoxのイベントを上書きして設定
self.ImageBox.mouseDoubleClickEvent=self.mouseDoubleClickEvent

Dialog->Panel->QGraphicsViewってのっけたUI作る時って、
Dialogを継承して、メンバにpanelやらくっつけるってやるでしょ。
そしたらイベント定義できるのがDialogになるけど、そこでのdoubleclickedを
ハンドリングしてもコンポーネントの隙間のところのダブルクリックしか反応しない。
全体とか、広い部分で反応してくれよ、ってのを調べてたらこんな簡単だったでござる。

後から見直してみると、これImageBox側が必要としている
mouseDoubleClickEvent()の処理(superを含む)が呼ばれなくないかなぁ・・。
何も実装されていない場合はいいかもしれんけど、
めんどくさがらずにちゃんとサブクラス作ったほうがいいのだろうか。
posted by koteitan at 12:07| Comment(0) | TrackBack(0) | python | このブログの読者になる | 更新情報をチェックする

tarファイルのパーミッションについて

一般ユーザーは考えなくてよい問題で
スーパーユーザーの場合は、デフォルトでpオプションが付く。
これによりUID、GIDが保存され、展開したときに元のUID,GIDを回復できるという
わけだが、例えば同じユーザー名だがUIDが異なる場合などの動きは
いろいろある模様。

GUNtarにはこういった場合にユーザー名に追随するのか、UIDを使うのかを
制御するオプションがあるようだが、AIXのマニュアルには見当たらないな。

動きを見てみる限りでは、追随する(-n無し)ようだが。
tar.png

(cf)
http://blue-red.ddo.jp/~ao/wiki/wiki.cgi?page=tar%A4%CE%A5%AA%A1%BC%A5%CA%A1%BC%A1%A2%A5%D1%A1%BC%A5%DF%A5%C3%A5%B7%A5%E7%A5%F3%A4%CE%B0%DD%BB%FD%A4%CB%A4%C4%A4%A4%A4%C6
http://blog.xe.bz/archives/51645042.html
http://www.gnu.org/software/tar/manual/html_node/Attributes.html

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

2016年09月04日

つめつめ〜♪

つめつめ〜♪ が耳から離れない…

パズドラのパズルを一手詰めに置き換えたとパクリアプリ

http://tumetumelord.com/
posted by koteitan at 18:59| Comment(0) | TrackBack(0) | 将棋 | このブログの読者になる | 更新情報をチェックする

WebSphere V9

GA版が発表されたWAS9。
個人的にうれしいのはjythonが2.7に更新されたということだなー。
これで「そんな関数はありませんムキー!いちからか、いちからつくらないとだめか!」
から開放されるぞ、やったね。

最近jythonまったく触ってないけどね!
posted by koteitan at 18:55| Comment(0) | TrackBack(0) | WebSphere | このブログの読者になる | 更新情報をチェックする

procfiles

AIXでプロセスがオープンしているファイルについて調べたい場合は
procfilesというコマンドで行う。

procfiles -n [PID]

別に/procのfdの数を数えてもいいしsystemdumpからもわかるから
発生している問題の状況を見極めて適切なものを選ぼう。

まぁ、それが難しいんだけどねぇ。

cf
http://www.ibm.com/support/knowledgecenter/ssw_aix_72/com.ibm.aix.cmds4/procfiles.htm
posted by koteitan at 18:52| Comment(0) | TrackBack(0) | aix | このブログの読者になる | 更新情報をチェックする

2016年08月24日

ServerIOTimeOut の弊害

更新何年ぶりだろな

相変わらず、WebSphereとかjavaとかしてますが、あまり目新しいことや
Tips的なの無いんですよね。(有っても書けないことのほうが多いからのう

今回はWASV6からだったか追加されてるServerIOTimeOutの挙動についての豆知識。
マニュアルなどからは読み取れない細かい話だけれども。

http://www-01.ibm.com/support/docview.wss?uid=jpn1J1000347
http://www-01.ibm.com/support/docview.wss?uid=jpn1J1012104

ここいらに書いてあるServerIOTimeOutのパラメータについて、
クラスタ構成で、正の値が指定されている場合、マークダウンせずに次のサーバーへ
リルートが行われる。

多重処理を防ぐために、PostBufferSizeをゼロにした時、
説明にはこうある。

"
PostBufferSizeが0であるためリクエストのコンテンツをバッファーせず、
更にServerIOTimeoutが正の値ですので、該当サーバーをマークダウンせず、
クライアントに500エラーを返します。
"


HTTP応答コードは最初の応答を返す前に付与される情報であるので、
例えばいくつかの応答を吐きだした後に、Webアプリケーションが張り付いた場合
クライアントには既にHTTP200といくらかの応答が返っているので、HTTP500を返すことはできない。
よって、応答コードだけをServerIOTimeOutが発生したかの判断に使うのは危険だと思う。

この少しだけ応答した場合のServerIOTimeOut有無はAccessLogの応答サイズや、
応答時間ぐらいしか判断材料がない。
http_plugin.logで確認するにはLogLevelをDEBUGまで上げる必要がある


http_plugin.log
[24/Aug/2016:16:01:28.65581] 00001df0 be1fc700 - DEBUG: mod_was_ap22_http: cb_write_body: In the write body callback writing 289
[24/Aug/2016:16:01:28.65601] 00001df0 be1fc700 - DEBUG: lib_htresponse: htresponseGetChunk: Getting the next chunk
[24/Aug/2016:16:01:28.65604] 00001df0 be1fc700 - TRACE: lib_rio: Blocking for read, waiting 45
[24/Aug/2016:16:01:29.22684] 00001e11 c8ed2700 - DEBUG: mod_was_ap22_http: as_child_init pid= 00001E11
[24/Aug/2016:16:02:13.66877] 00001df0 be1fc700 - DEBUG: lib_rio: wait_on_socket: ServerIOTimeout fired.
[24/Aug/2016:16:02:13.66883] 00001df0 be1fc700 - DEBUG: lib_rio.c line 894 : Read failed, rc=11

access.log
192.168.1.10 - - [24/Aug/2016:16:00:00 +0900] "GET /MyTestWeb/post.html HTTP/1.1" 200 409
192.168.1.10 - - [24/Aug/2016:16:01:28 +0900] "POST /MyTestWeb/IOTimeOutTest.jsp HTTP/1.1" 200 289

※ServerIOTimeOutを45秒に設定、アプリケーションで少し出力したあとに60秒sleepさせてみた結果


htresponseGetChunkのエラーで検知できるかもだが、ちょっと微妙過ぎる気がするぜ。
どうでもいいが、TimeOut発動時のログ、fired! ってのがちょっとかっこいいな
posted by koteitan at 22:34| Comment(0) | TrackBack(0) | WebSphere | このブログの読者になる | 更新情報をチェックする