2017年6月
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30  
無料ブログはココログ

2017年2月26日 (日)

今週届いたもの

やっと給料が入った(交通費もプラスされてるし)ので、ぼちぼち欲しいものを注文していく。でもまだ抑え気味で。
あと、花粉症はまだ大丈夫。

(1)アフタヌーン 2017年 04 月号
新連載「シンギラリティは雲をつかむ」異世界航空機SFもの。ある地方の小国家にいる航空機の整備士の弟子である天才少年の話。自分は周りの少年少女とは違うと思いつつ孤立している。ある時、整備士が隠していた革新的な航空機を見つける。その航空機は人型で、飛びそうもないのにすごい技術が使われていて実際通常の航空機より群を抜いて飛べるもので、少年を虜にする。そして、その都市を攻めてきた爆撃機に対して、承認欲求にかられた少年はその航空機で対抗しようとする。 革新的メカと少年というガンダムとかサンライズが好きそうな方向の話。もちろんオイラも好物です。
四季賞受賞作「星のまたたき」何気ない物の中に星の輝きを見つけるのが楽しいけど、人が同じように輝きを見つけると自分の見つけた輝きがつまらないものに感じてしまう女子高生 山田美柑は、自分の見つけた輝きだけを見ていたいがためにクラスからもぼっちぎみでいる。母には同じ価値観を持てる友達ができるといいねと諭す。果たして同じクラスの男子と新しい輝きを共有することとなる。 まだ青春にもなっていない水色時代っぽい良い話。アフタヌーンの四季賞は中高生くらいの話が多いよなとは思うけど、繊細なお年頃というのはオッサンの心にキュンキュンきてしまうからなのだろうかと推測。

今のアフタヌーンはオイラのツボの作品が多くてとても良い。

(2)プリンシプル オブ プログラミング3年目までに身につけたい一生役立つ101の原理原則
前にも購入して途中まで読んだけど転職する2年目の奴に餞別であげてしまい、でも良本なので手元に置いておきたいと再購入。
一時プレミア価格になっていたけど、定価に戻ったのでやっと購入出来た。

(3)ビブリア古書堂の事件手帖7 ~栞子さんと果てない舞台~ (メディアワークス文庫)
最終巻。出だしくらいをちょっと読んだが、だいぶ待たされた所為か何となくのめり込むことはできていない。親も好きなので先に読むように渡してしまったこともあるけど。
本好きがちょっとした謎に巻き込まれてっていう方向が好きだったのだけれど、陰謀っぽい方向に進んでなんか違うなーって感じている。

(4)Seagate シーゲイト 内蔵ハードディスク Mobile HDD 2TB ( 2.5 インチ / SATA 6Gb/s / 5400rpm / 128MB / 2年保証 ) 正規輸入品 ST2000LM007
REGZA(32RX1)に繋いでいたUSB HDD(Buffalo HD-AV2.0TU2)に録画ができなくなってしまった。Windowsでフォーマットしても認識できるが書き込みにものすごい時間が掛かる(54byte/secって!)しちゃんと書き込みできていない。試しに中のSATA HDDを手持ちの20Gに入れて変えてPCに接続した所、ちゃんと読み書きできる。HDDがぶっ壊れたと分かったので、これを購入して換装したところちゃんと使えるようになりましたとさ。
HD-AV2.0TU2の中身はWD20EADS(2TB)3.5インチであったが、2.5インチHDDでは固定できないので、テープを貼り付けて何とか固定・・・。ちと不安が残るがまあしょうがない。


(5)B.V.D. 吸汗速乾2枚組 クルーネックTシャツ 天竺 NB203TS-2P
B.V.Dサイコー

2016年12月17日 (土)

DigitalTVboxに接続できなくなったときの対処

対処といっても、原因も回復方法もわからんのだがの。

FUJITSU FMV LIFEBOOK WA3/J(FMVWJA3BA7)でDigitalTVboxを使っているのだが、ネットワーク設定のWi-Fiとかモバイル ホットスポットとか、”有料Wi-Fiサービス”などいらないと思った設定を切ったりしてセキュリティを弄った所為か、DigitalTVboxに接続できなくなった。
こりゃいかんとなんかガチャガチャやっていたら使えるようになった・・・。
ユニットの接続設定ボタンを押してツールで再接続を押すのを繰り返したり、電源抜いたり、無線LANを停止したり機内モードにしてみたり、接続中に増えた$SETUP_WTV$の共有をWi-Fiにしたり外したり。最後の共有をつけたり外したりした後に繋がったようなのでこれなのかな?

回復には以下のページを参考にしたが、全く意味がなかった。
FMVサポート [DigitalTVbox] ワイヤレスTVでテレビを視聴できません。(2011年夏モデル〜2012年夏モデル)

このページとはモノが違うので、ここに書かれていることをやっても無駄だったような。
色々弄っていてわかったところ。

  • ワイアレスTVユニットの接続設定ボタンを押しても、電源ランプ/通信ランプが数回点滅して、すぐに点灯状態になってしまった。
    無線LANを無効にすると、電源ランプ/通信ランプが点滅するんだけど、無線LANを有効にすると点灯にすぐ変わったり。
    この状態で再接続してみると、「ワイアレスTVユニットに接続できません。コード:EX04」とか出てきて接続できない。
    これを何回かやっていたら、接続できるようになった。
  • DigitalTVboxのネットワーク設定 ワイアレスTVユニット名 と セキュリティキー を書き換えたんじゃないかと思ったけれど、これはユニットとの新規接続の時に書き換わる(ハズ)なので、不用意に書き換えたときは新規接続しなおす方向で対応できると思われる。
  • ちなみに新規接続の場合、ネットワーク接続にプライベートネットワーク ”ローカル エリア接続* 13” ”$SETUP_WTV$”というのが作られて、新規接続設定が行われる模様。このネットワークができるけれど接続できない。接続設定中はこのネットワークが作られる。
    新規接続が終わった後、”ローカル エリア接続* 13”は、”$SETUP_WTV$”から ワイアレスTVユニット名 に変わる。以降、このネットワークはStationTV_Xサービスを起動した後に残る。

ちなみに、うちのPCのデバイスなどは、以下のようになっている。

     

Digitaltvbox_device1

Microsoft Virtual WiFi Miniport Adapterは、”非表示のデバイスの表示”をONにしないと見えない。

Digitaltvbox_device2

ネットワーク接続は、”Wi-Fi”と”ローカル エリア接続* 13”がDigitalTVboxで使用されるネットワーク。このネットワークを接続するとき、Nortonが「安全ではないネットワークに接続する」とか警告が出る。

Digitaltvbox_network1_2

Digitaltvbox_network4

Digitaltvbox_network2

Wi-Fiの共有は、FMVサポートページにあるようには、接続の許可はチェック無しでOK。
これって、外からネットワーク経由で操作するときに必要な設定なのかしらん。

Digitaltvbox_network3

セキュリティ対策ソフトには特に設定なし。

2015年12月13日 (日)

VAIO type PにWindows 10を入れてみた

VAIO type P(VGN-P90HS)にWindows7を入れていたのであるが、起動とともにROXY DVDのインストーラが起動するようになったり、MCAFFEとNortonが両方入っていたりとめちゃくちゃになって、どうやっても改善できないので、最近、Windows7を入れなおした。
そしたらWindows10入れられるよって出てきて、まあ、入れなおしたばかりだからどうなってもいいかなと思い、Windows10を入れてみた。

Vaiotypep_top

  • Windows10のインストール自身はめっさ時間はかかったはハズ。どれくらいかかった忘れた。インストールを選択して基本放置していたので。
  • Windows10は、Windows7の更新(200個近く入れたよ・・・)した後と同程度の遅さ。ちょっとしたAPを使った時のもっさり感はなくならない。
  • Norton Internet Sequrityを入れてみたが、インストールにめちゃくちゃ時間がかかった。12時間くらいかかっただろうか?単にVAIO type Pが遅すぎるのか、CPU使用率が常にずっと60%くらいで無限ループに入ってハングしているのかと思ったが、ずっと放置していたらインストールが完了できた。実は途中で画面が全く進まないので2,3回インストーラを起動しなおしていて、最後は管理者権限で起動してこれは最後まで進み起動中とでたのでそれも放置してみたらやっとインストールが終了したのです。
  • WindowsUpdateは(今のところ)再起動が不要のもよう。WindowsUpgradeの何が面倒って大量に入るは、いちいち再起動が入るは、めんどくさすぎなんだよ。
  • フラットデザイン きもい。Microsoft Edgeで新しいタブを開いたときURLを入れるところが見えないってのはどうなの?
  • Windows ストアアプリが降る画面じゃなくても起動できるってところも売りなのかもしれないけれど、タッチパッドじゃないからあんなもの使えない。
  • Windows10インストール後には、マウスの真ん中ボタンによるスクロールは効かない。画面の輝度の調整も不可。しま★りん.blog @ayurinaさんの「VAIO Type PをWindows 10にアップデートしてみた。けど使いません。」を見ると、ディスプレイドライバを入れ替えれば輝度は変えられる模様。← できました。Intelのサイトからダウンロード→展開して、ディスプレイドライバのプロパティから更新で展開したwin7ディレクトリを指定。それでOK

といわけで、インストールはできたけれど使えるかというのは疑問が残るほどのもっさり感。とくにMicrosoft Edgeが重い。さっさとOperaなりFirefoxに乗り換えてしまうほうが良いか。それでももっさりなんだけど。
あえてWindow7から切り替える必要はないと思われ。WindowsVitaでもチューニングされていればそんなに問題なかったし。今思えばWindows7にする必要性もなかったとかとか。
単に保証期間が伸びただけ・・・。

2015年11月 7日 (土)

オイラ、dockerしてるぜ dockerでリバースプロキシを使用しようとしているのだけれど その2

というわけで、dockerでredmine,Jenkins,gitlabを動かし、Apache HTTP Serverをリバースプロキシにして外部IFとするわけですが、パスでWebアプリを区別する方式をとるとmod_proxyだけでは相対パスが解決できないのですよ。

それを解決するにはパスに対して、Webアプリごとのパスを追加する必要があるわけで。
mod_proxy_htmlモジュールを使います。
Apache HTTP Serverのdockerイメージは bitnami/apache を使っていますが、これにはmod_proxy_htmlモジュールは入っていません。ですので、以下の手順でモジュールをインストールし使えるようにしたdockerコンテナをdockerイメージにします。(先頭$がVM、#がdockerコンテナ)

※:bitnami/apacheを起動してから以下のコマンドを実行してください。

$ a=`docker ps | grep apache | awk '{print $1}'`
$ docker exec -it $a bash
# apt-get update
# sudo apt-get install libapache2-mod-proxy-html
# apt-get install libxml2-dev
# cd /opt/bitnami/apache2/modules/
# ln -s /usr/lib/apache2/modules/mod_proxy_html.so
# ln -s /usr/lib/apache2/modules/mod_xml2enc.so
# exit
$ docker commit $a apache_rp

httpd.confに以下のように定義

LoadFile    /opt/bitnami/common/lib/libxml2.so
LoadModule  proxy_html_module    modules/mod_proxy_html.so
LoadModule  xml2enc_module       modules/mod_xml2enc.so

ProxyRequests Off
<Proxy *>
    Order deny,allow
    Allow from all
</Proxy> <Location /jenkins/>
    ProxyPass http://ci_jenkins:8080/
    ProxyPassReverse http://ci_jenkins:8080/
    ProxyHTMLEnable On
    ProxyHTMLURLMap / /jenkins/
    RequestHeader    unset  Accept-Encoding
</Location> <Location /redmine/>
    ProxyPass http://ci_redmine/
    ProxyPassReverse  http://ci_redmine/
    ProxyHTMLEnable On
    ProxyHTMLURLMap / /redmine/
    RequestHeader    unset  Accept-Encoding
</Location> <Location /gitlab/>
    ProxyPass http://ci_gitlab/
    ProxyPassReverse  /
    ProxyHTMLEnable On
    ProxyHTMLURLMap / /gitlab/
    RequestHeader    unset  Accept-Encoding
</Location>

上記の設定を行うことで、相対パスの問題はとりあえず解決できる。

Readmine_ok_2

Jenkins_ok_2

Gitlab_ok_2

取り敢えずというのは、一部リンクがおかしくなったりします。たとえばRedmineのログインで/redmine/redmine/と2重に設定されたりします・・・。あと、Jenkinsの設定でリバースプロキシがおかしいとか出ます。
ここら辺は、今後の課題ということで。

オイラ、dockerしてるぜ dockerでリバースプロキシを使用しようとしているのだけれど その1

手軽にCI(redmine,Jenkins,gitlab)を行える環境をdockerで作っていて、IFを一つで管理しようとリバースプロキシを使おうとしているのだけれど、イマイチうまくいかない。
Apache HTTP Serverをリバースプロキシとして使用するには、mod_proxyモジュール使うが、これだけでは相対パスを解決できないようで、以下のようにCSSやjpgが読み込めないし、リンク先に飛べない。

Readmine_ng_2

Jenkins_ng_2

Gitlab_ng_2

httpd.confは以下。

ProxyRequests Off
<Proxy *>
    Order deny,allow
    Allow from all
</Proxy>
<Location /jenkins/>
    ProxyPass http://ci_jenkins:8080/
    ProxyPassReverse http://ci_jenkins:8080/
    RequestHeader    unset  Accept-Encoding
</Location>
<Location /redmine/>
    ProxyPass http://ci_redmine/
    ProxyPassReverse  http://ci_redmine/
    RequestHeader    unset  Accept-Encoding
</Location>
<Location /gitlab/>
    ProxyPass http://ci_gitlab/
    ProxyPassReverse  /
    RequestHeader    unset  Accept-Encoding
</Location>

このときApache HTTP Serverのアクセスログを見ると、以下のようにHTTPは読み込めるが、CSSやJSファイルは、HTTP レスポンスコード404(未検出。見つからない。)となる。

192.168.99.1 - - [05/Nov/2015:14:12:06 +0000] "GET /redmine/ HTTP/1.1" 200 1397
192.168.99.1 - - [05/Nov/2015:14:12:07 +0000] "GET /stylesheets/application.css HTTP/1.1" 404 225
192.168.99.1 - - [05/Nov/2015:14:12:07 +0000] "GET /stylesheets/jquery/jquery-ui-1.11.0.css HTTP/1.1" 404 237
192.168.99.1 - - [05/Nov/2015:14:12:07 +0000] "GET /javascripts/jquery-1.11.1-ui-1.11.0-ujs-3.1.3.js HTTP/1.1" 404 246
192.168.99.1 - - [05/Nov/2015:14:12:07 +0000] "GET /javascripts/application.js HTTP/1.1" 404 224

Webブラウザに指定したURLは「http://192.168.99.100/redmine/」で、HTMLには相対パスでしていされているので、組み合わさって絶対パスになるのかと思っていたのに・・・。
相対パスでも"/"で始まっている場合は、ルートトップからの相対ということで、ホストに対して相対パスがくっつくので、リバースプロキシで変換するURLにはならない。(http://192.168.99.100/redmine/~ と期待しているのに/redmine/が付かない)

といわけで、dockerで3つのWebアプリケーション(redmine,Jenkins,gitlab)を使うケースで、Apache HTTP Serverのリバースプロキシを使うにはmod_proxy(redmine,Jenkins,gitlab)だけでは解決できない。
・・・と思う。
1つだけWebアプリケーションを使うならば、パスを追加しなければいいので、使えるのだけれど。
(VirtualHostでホスト名を分ける方法で解決している人もいるけど、どこにあったか分からんようになってもーた)

ではどうするかというと、mod_proxy_htmlモジュールを使ってみた。ただし、問題あり。
→次の記事に続く。

■備考:
HTTP RequestとかResponseの問題なのかなーと思って少し探ってみたけど、当て外れ。
調べたことを備忘として書いておく。

HTTP ResponseのHTTP Headerについて、URLに関係しそうなもの。

  • Location:リダイレクトするときに使用。HTTP Response Code 30xを返して Locationに指定した絶対URIに移動する。
  • Content-Location:使用していない。

2015年11月 3日 (火)

オイラ、dockerしてるぜ 覚書:DockerのホストOSとSSHで接続できないときの対処

WindowsでOrale VM VirtualBoxでVMイメージを起動中に、ノートPCを休止状態→起動した場合、ホストOSとのSSHが接続できなくなった。

(1)Oracle VM VirtualBox またはDocker Quikstart TerminalからDockerを実行するホストOSのVMを立ち上げる。
  TeraTermでSSHでホストOSと接続できる。
(2)ノートPCの休止状態にする。
(3)ノートPCを起動。ホストOSのVMは動いている。
  TeraTermでSSHでホストOSと接続できない。(Connection Timed outになる)

Teraterm_connectiontimedout

docker toolboxのGithubチケット#66で報告されているけれど、解決されないままClosed状態。

ipconfig -allを見てみると、「イーサネット アダプター VirtualBox Host-Only Network #2:」の設定内容が以下のようになっている。”自動構成IPv4アドレス”と”サブネットマスク”が追加されているのと、”IPv4 アドレス”に”(重複)”が付いているのがおかしい。
●休止状態前(接続できる状態)
   リンクローカル IPv6 アドレス. . . . .: fe80::9474:5cf:7669:1cf2%20(優先)
   IPv4 アドレス . . . . . . . . . . . .: 192.168.99.1(優先)
   サブネット マスク . . . . . . . . . .: 255.255.255.0

●休止状態後(接続できない状態)
   リンクローカル IPv6 アドレス. . . . .: fe80::9474:5cf:7669:1cf2%20(優先)
   自動構成 IPv4 アドレス. . . . . . . .: 169.254.28.242(優先)
   サブネット マスク . . . . . . . . . .: 255.255.0.0
   IPv4 アドレス . . . . . . . . . . . .: 192.168.99.1(重複)
   サブネット マスク . . . . . . . . . .: 255.255.255.0

■対処方法
(1)Oracle VM VirtualBox を終了させる。動いているVMイメージは保存でOK
※:起動しているVMイメージを停止させるだけでなく、VirtualBoxを停止する必要あり。
  Docker Quickstart Terminalも動かしているなら終了させる。

Vm_close

(2)コントロールパネル→ネットワークとインターネット→ネットワーク接続を開く

Networksetting1

(3)VirtualBox Host-Only Network とVirtualBox Host-Only Network#2 を右クリック→無効 にする

Networksetting2

(4)VirtualBox Host-Only Network とVirtualBox Host-Only Network#2 を右クリック→有効 にする

(5)Oracle VM VirtualBox を起動→SSHで接続可能に!

Teraterm_connect

ちなみに、VMイメージが動いている状態で、ネットワークアダプタを無効→有効としてもダメだった。(VirtualBoxのネットワークの接続を切ってからでもダメ)

なお、NetworkAdapterをコマンドから無効・有効にすることも出来る。
管理者権限でコマンドプロンプトを開き、以下のコマンドを実行ればよい。
(ちなみに、引数のネットワークアダプタ名は、netsh interface dumpで確認できる)

netsh interface set interface "VirtualBox Host-Only Network" disable
netsh interface set interface "VirtualBox Host-Only Network #2" disable
netsh interface set interface "VirtualBox Host-Only Network" enable
netsh interface set interface "VirtualBox Host-Only Network #2" enable

これでうまくいかなければ、Windowsを再起動させるしか手はないような・・・。

2015年9月22日 (火)

覚書:VMWare Playerのubuntuがネットワーク接続できなくなったときの対処

VMWare Player上で動かしているubuntuがネットワーク接続できなくなった。
確かububtuのバージョンアップだかなんだかした後だったと思う。
その後、VMWare toolsのインストールを促されたので、これの所為かなと思ったのだが、そうではなさそう。
ネットワークの設定に「ネットワーク接続」欄があり、そこの「アダプタの設定」ボタンを押下→「ブリッジの自動設定」ダイアログが開くので、そこで物理NICのみ選択状態にしたら、ubuntuからネットワーク接続できるようになった。

オイラの環境では、VirtualBoxとか仮想環境を入れているので、そこら辺がチェックONになっていたことで接続できなくなっていた模様。

2014年12月23日 (火)

WindowsからMACにリモートデスクトップで接続する方法

RealVNCビューワーを使うんよ。

Windows 8.1 マシンから MAC mini(Mid2011バージョン:OS X 10.9.5 Marvericks)に接続してみる。

オイラがやったことは3つ。

  1. Windows 8.1マシンにRealVNCビューワーをインストール
    その方法は、RapidSite 09)WindowsからMacへのリモートデスクトップ接続を参照のこと。
  2. MAC miniの設定は、共有から 画面共有のチェックボックスをONにすること。
    ついでにコンピュータ設定で、「VNCユーザ使用者が画面を操作することを許可」にしてパスワードを設定した。ユーザは面倒なのいまのところAdministratorsだけ。
  3. あと、MAC miniのIPアドレスをDHCP手入力にしておいた。
    でないといちいち接続先のIPアドレスがMACに接続しないと分からなくなる。(ま、ご家庭内くらいなら、大体同じIPアドレスが設定されるだろうけどさ)

注意点としては、VNCビューワのオプションでカラーレベルをフルにしないと、一瞬接続できたように見えるけれど、接続が失敗してしまう。「read: 接続をアボートしました (10053)」というVNC Viewer : Questionダイアログが表示されて、再接続しますかと聞かれてYESとしても接続できない。ちなみに、ちゃんと保存しておかないと次回起動で初期値に戻ってしまう。これ注意な。

これでWindows から MACに接続できて、デスクトップ上の操作ができるわけだけれど、画面描画が中途半端だったり、遅かったりする。まあ、これはしょうがない。
ついでにVAIO TypeP(VGN-P90HS:Window7)にも入れてみたけど、ちゃんと使えた。

2014年8月13日 (水)

続いてMAC miniにVirtualBoxをインストールして仮想環境を立ち上げてみる。(chef soloも入れたる)

Vagrantだけでは仮想化できない。
VirtualBoxをインストールする必要があったのですよ・・・。
理解して無かったです。
ちなみにこれを初めから読んでいって試しているのですよ。やっぱり試さないと理解が浅くなるのですよ・・・。



・VagrantはMACにコマンドラインでアプリをインストールするでインストールした。
・Chef は続いてMAC miniにChefを入れてみたでインストールした。

あと、お仕事でRedHatを使っているので、お仲間のfedoraを仮想OSのターゲットとしてみる。
ちなみに、以下の操作結果についてはピックアップしているので、なんか抜けているかも。

MACmini:Downloads kotatuinu$ curl http://download.virtualbox.org/virtualbox/4.3.14/VirtualBox-4.3.14-95030-OSX.dmg -L -O VirtualBox-4.3.14-95030-OSX.dmg
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100  115M  100  115M    0     0   415k      0  0:04:45  0:04:45 --:--:--  425k
curl: (6) Could not resolve host: VirtualBox-4.3.14-95030-OSX.dmg
MACmini:Downloads kotatuinu$ hdiutil mount VirtualBox-4.3.14-95030-OSX.dmg
Driver Descriptor Map (DDM : 0) のチェックサムを計算中...
     Driver Descriptor Map (DDM : 0):検証済み CRC32 $A92AAFE5
Apple (Apple_partition_map : 1) のチェックサムを計算中...
     Apple (Apple_partition_map : 1):検証済み CRC32 $37151D30
disk image (Apple_HFS : 2) のチェックサムを計算中...
..............................................................................
          disk image (Apple_HFS : 2):検証済み CRC32 $403AF9ED
 (Apple_Free : 3) のチェックサムを計算中...
                    (Apple_Free : 3):検証済み CRC32 $00000000
検証済み CRC32 $BADBF1DA
/dev/disk1              Apple_partition_scheme
/dev/disk1s1            Apple_partition_map
/dev/disk1s2            Apple_HFS                       /Volumes/VirtualBox
MACmini:Downloads kotatuinu$ ls -la /Volumes/VirtualBox/
total 237328
drwxr-xr-x  11 kotatuinu  staff        442 Jul 16 01:04 .
drwxrwxrwt@  4 root              admin        170 Aug 10 09:55 ..
-rw-r--r--   1 kotatuinu  staff      12292 Jul 16 01:04 .DS_Store
d-wx-wx-wt   2 kotatuinu  staff         68 Jul 16 01:04 .Trashes
drwxr-xr-x   3 kotatuinu  staff        102 Jul 16 01:04 .background
lrwxr-xr-x   1 kotatuinu  staff         14 Jul 16 01:04 Applications -> /Applications/
-rwxr-xr-x   1 kotatuinu  staff    6280423 Jul 16 01:04 UserManual.pdf
-rw-r--r--   1 kotatuinu  staff  115193984 Jul 16 01:04 VirtualBox.pkg
-rwxr-xr-x   1 kotatuinu  staff      11174 Jul 16 01:04 VirtualBox_Uninstall.tool
MACmini:Downloads kotatuinu$ sudo installer -pkg /Volumes/VirtualBox/VirtualBox.pkg -target /
Password:
installer: Package name is Oracle VM VirtualBox
installer: Installing at base path /
installer: The install was successful.
MACmini:Downloads kotatuinu$ cd ../work
MACmini:work kotatuinu$ mkdir opscode-fedora
MACmini:work kotatuinu$ cd !$
cd opscode-fedora
MACmini:opscode-fedora kotatuinu$ vagrant box add opscode_fedora-20-i386_chef-provisionerless  http://opscode-vm-bento.s3.amazonaws.com/vagrant/virtualbox/opscode_fedora-20-i386_chef-provisionerless.box
==> box: Adding box 'opscode_fedora-20-i386_chef-provisionerless' (v0) for provider:
    box: Downloading: http://opscode-vm-bento.s3.amazonaws.com/vagrant/virtualbox/opscode_fedora-20-i386_chef-provisionerless.box
==> box: Successfully added box 'opscode_fedora-20-i386_chef-provisionerless' (v0) for 'virtualbox'!
MACmini:opscode-fedora kotatuinu$ vagrant init opscode_fedora-20-i386_chef-provisionerless
A `Vagrantfile` has been placed in this directory. You are now
ready to `vagrant up` your first virtual environment! Please read
the comments in the Vagrantfile as well as documentation on
`vagrantup.com` for more information on using Vagrant.
MACmini:opscode-fedora kotatuinu$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'opscode_fedora-20-i386_chef-provisionerless'...
==> default: Matching MAC address for NAT networking...
==> default: Setting the name of the VM: opscode-fedora_default_1407640484073_36027
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
==> default: Forwarding ports...
    default: 22 => 2222 (adapter 1)
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: 127.0.0.1:2222
    default: SSH username: vagrant
    default: SSH auth method: private key
    default: Warning: Connection timeout. Retrying...
==> default: Machine booted and ready!
==> default: Checking for guest additions in VM...
==> default: Mounting shared folders...
    default: /vagrant => /Users/kotatuinu/work/opscode-fedora
MACmini:opscode-fedora kotatuinu$ vagrant ssh
Last login: Fri Dec 20 17:35:18 2013 from 10.0.2.2
[vagrant@localhost ~]$ exit
MACmini:opscode-fedora kotatuinu$ vagrant ssh-config --host webdb1 >> ~/.ssh/config
MACmini:opscode-fedora kotatuinu$ ssh webdb1
Last login: Sun Aug 10 03:48:04 2014 from 10.0.2.2
[vagrant@localhost ~]$ pwd
/home/vagrant
[vagrant@localhost ~]$ ls -la
total 36
drwx------. 4 vagrant vagrant 4096 Aug 10 03:23 .
drwxr-xr-x. 3 root    root    4096 Dec 20  2013 ..
-rw-------  1 vagrant vagrant  149 Aug 10 03:48 .bash_history
-rw-r--r--. 1 vagrant vagrant   18 Aug  9  2013 .bash_logout
-rw-r--r--. 1 vagrant vagrant  193 Aug  9  2013 .bash_profile
-rw-r--r--. 1 vagrant vagrant  231 Aug  9  2013 .bashrc
drwxr-xr-x  3 vagrant vagrant 4096 Dec 20  2013 .local
drwx------  2 vagrant root    4096 Dec 20  2013 .ssh
-rw-r--r--  1 vagrant vagrant    5 Dec 20  2013 .vbox_version
[vagrant@localhost ~]$ mkdir chef
[vagrant@localhost ~]$ cd !$
cd chef
[vagrant@localhost chef]$ curl -L https://www.opscode.com/chef/install.sh | sudo bash
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 16519  100 16519    0     0   1919      0  0:00:08  0:00:08 --:--:--  4077
Downloading Chef  for el...
downloading https://www.opscode.com/chef/metadata?v=&prerelease=false&nightlies=false&p=el&pv=6&m=i686
  to file /tmp/install.sh.854/metadata.txt
trying wget...
url     https://opscode-omnibus-packages.s3.amazonaws.com/el/6/i686/chef-11.14.2-1.el6.i686.rpm
md5     9baaca659fc1537258f1693f0f81d436
sha256  6c747949a2b58ca95aeb2df8e4fd2418c3463dea1678b2bd25aa5223199a90d2
downloaded metadata file looks valid...
downloading https://opscode-omnibus-packages.s3.amazonaws.com/el/6/i686/chef-11.14.2-1.el6.i686.rpm
  to file /tmp/install.sh.854/chef-11.14.2-1.el6.i686.rpm
trying wget...
Comparing checksum with sha256sum...
Installing Chef
installing with rpm...
warning: /tmp/install.sh.854/chef-11.14.2-1.el6.i686.rpm: Header V4 DSA/SHA1 Signature, key ID 83ef826a: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:chef-11.14.2-1.el6               ################################# [100%]
Thank you for installing Chef!
[vagrant@localhost chef]$ chef-solo -v
Chef: 11.14.2

そうそう忘れておった。

$ vagrant ssh-config --host webdb1 >> ~/.ssh/config

の後に
$ ssh webdb1
とやっているけど、その前にネットワーク設定をしておく必要がある。
Chef実践入門では、以下のようにプライベートネットワークの設定であったけど、ウチの環境ではそれでは接続できなかった。

  config.vm.network :private_network, ip: "192.168.33.10"

パブリックなネットワーク設定したらMACにつないでいるターミナルから接続できたんよ。

  config.vm.network :public_network, ip: "192.168.11.20", :bridge => "en0: Ethernet"

もちろん、publicだから外部のPC(WindowsのTeraterm)から接続できる。
ちなみに :bridgeは、Ethernetを使って外部と接続するという設定。
e115720's blogさんの「vagrantのネットワーク設定を見てみよう。」を参考にしてみた。

2014年8月10日 (日)

覚書:Struts・Apache Common FileUploaderの脆弱性の確認方法について

初めに一言言っておく。
悪用スンナ。
軽い気持ちで試すな。重い気持ちでも試すな。
自前のシステムだけでのみ試すようにしろ。

この攻撃をしたら迷惑を被る人たちがいることを忘れるな。

あと、Webシステム管理者は未対策なら早く対策しろ。手前の安心をさっさと確保しとけ。

(1)Apache Struts において ClassLoader が操作可能な脆弱性

Strutsの仕組みを利用してJavaのObjectクラスgetClassLoaderメソッドを呼び出すことにより、Actionクラスのインスタンスに対して操作ができてしまう。んで、getter・setterに任意にアクセスできる。
Struts2は対策モジュール有り。Struts1は対策モジュールはないが対策方法有り。
パラメタを、以下のように書くと

/action.do?class.classLoader.xxx=123

Actionクラスに対して、getClass().getClassLoader().setXxx(123);と実行されてしまう。getterも同じく。任意の値を書き込んだり、見えてはいけない情報を取得することが可能となる。

getter・setterの名前が分からなければ、実行しようがないと思われるかもしれないけれど、穴があればいつかはこじ開けられる可能性はある。そんなリスクはほっておくべきではない。

対処方法はいくつかあるけど、パラメタ名がclassならはじくというのは同じ。

Struts1の対処方法でstruts-config.xmlでパラメタではじく方法は、以下のアクセスに対応できないとか。

/action.do?aaa.class.classLoader.xxx=123

Listenerクラスを用意してパラメタ名classがあったら例外発生するようにしておいて、WEB-INF/web.xmlの<listener>にListenerクラスを呼び出すようにすることで対処OK。

再現方法は、上記にあるようなパラメタを設定したURLをWebサーバ(StrutsだからAPサーバというべきか)に食わせること。
getter・setterがないならclass.classLoaderでも入れとき。

(2)Apache Commons FileUpload および Apache Tomcat の脆弱性

HTTPヘッダにあるboundaryの文字列が4092バイト以上だと、無限ループに入ってCPU使用率が100%に張り付く問題。
再現方法は、Burp Suiteなどのツールを使って、FileUploadするときにWebサーバに投げる内容を横取りしてBoundaryの文字列を4092バイト以上に書き換える。

Burp Suiteについては、Security Baseさんの「Burp Suiteの導入」が詳しい。

対処方法は、commons-fileupload.jarを対策版に入れ替え。commons-io.jarも必要になるかも。

最後に念を押すが、くれぐれも試すなよ。
サーバを落とすことによって、お客さんから怒られたWebサーバ管理者がお前の居場所を突き止めて訴えるってこともありうるからな。
サーバのログを見ていけば、突き止められる可能性は0ではないぞ。

より以前の記事一覧