RTX1100をお迎えしました

おひさしぶりだいこんです。

積みゲーならぬ積みToDoが増えてきて焦っているナツヨさんです。

 

先日RTX1100をお迎えしました。

このブログを見ていらっしゃる方は、すでにご存じだと思うので割愛しますが、YAMAHA製のVPNルータです。

 

RTX1100をお迎えした理由

ネットワークの勉強がしたいと思っていたものの、実務では触る機会がないし、何か実際に触ってみたいなーと思っていました。

YAMAHAルータはいいぞ、というTLの声を聴きつつ調べたところ、「RTX1100」という種類がいいらしい→Amazonで売ってるやん?→中古で4000円あれば買えるやん?→4000円なら安い投資や!そいやぽちっとな!

という流れで買いました。

ほろ酔い状態でポチったけど後悔はしていない。

 

用意したもの

LANケーブルさえあればIPv6アドレスに向かってtelnetできたんですが、念のためにコンソールケーブルとシリアルのクロスケーブルも買いました。

参考記事:

qiita.com

 

買ったもの:

iBUFFALO USBシリアルケーブル(USBtypeA to D-sub9ピン) 1m シルバー BSUSRC06SV

https://www.amazon.co.jp/dp/B007SI18WG/ref=cm_sw_r_tw_dp_rKPAxb54D73AF

サンワサプライ RS232Cケーブル(インターリンク 9pin-9pin) 2m KR-LK2

https://www.amazon.co.jp/dp/B00008BBGJ/ref=cm_sw_r_tw_dp_fMPAxbB2J34ZF

 

最初にやってみること

最終的にはVPNルータとして動かしてみたいなと思っているんですが、とりあえず、ブロードバンドルータとしてセットアップしてみたいと思います。

人生初のルータのセットアップで、右も左もわからないので手探りでやっていきます。

とりあえず、以下の設定例集を参考に設定をポチポチ入れてみました。

「そんなことも知らねぇのかよ!」と思われる方が大半だと思いますが、暖かい心で見守っていただけると幸いです。

 

RTX/RTシリーズ 設定例集

http://www.rtpro.yamaha.co.jp/RT/manual/Rev.9.00.01/Configs.pdf

この中だと21.1 端末型接続 が一番近そう。

 

設定解説を見るとPPPoEの設定があるのですが、我が家はCATVなのでPPPoEではありません。

さてどうしたものか・・・(-_-;)

PPPoEの設定も含めて入れてみました。

 

LAN2にCATVモデムからのLANケーブルをつなぎ、LAN1にubuntuをつないでみると

eth0に192.168のIPアドレスが付与されていました。

ただしGWにpingは通りませんし、名前解決もできません。

ルータのDHCPとしては正しく働いているけど、CATV側のDHCPは正しく処理できていないのかな?という感じがしました。

 

もうちょっと調べてやってみます。

ではおやすみなさいませ。

 

ライブラリからOpenSSLのバージョンを確認してみた結果・・・

 

おひさしぶりだいこんです。ナツヨです。

GW中にOpenSSLの脆弱性が発表されていました。

OpenSSL、けっこういろんなサービスが使っていて、「このプロセスが使ってるのは意図したOpenSSLなのかな・・・?」って不安に思ったりすることがあるので、呼び出しているライブラリからOpenSSLのバージョンを確認できるのか、確かめてみました。

 

結果としては、うまくいきませんでした。

 

利用している環境はUbuntu14.04です。

まずdpkgコマンドで、opensslのバージョンを調べてみます。

# dpkg -l | grep openssl
ii  libgnutls-openssl27:i386                              2.12.23-12ubuntu2.5                           i386         GNU TLS library - OpenSSL wrapper
ii  openssl                                               1.0.1f-1ubuntu2.18                                  i386         Secure Sockets Layer toolkit - cryptographic utility
ii  python-openssl                                        0.13-2ubuntu6                                       i386         Python 2 wrapper around the OpenSSL library

 

1.0.1fなので、今回の脆弱性に該当していることがわかります。

opensslコマンドでも調べておきます。

# openssl version
OpenSSL 1.0.1f 6 Jan 2014

 

次に、opensslコマンドで実際に呼び出しているライブラリをしらべます。

lddコマンドは、指定したプログラムの依存関係を調べることができます。

下の例では、opensslコマンドを実行するのにどんなライブラリが必要か調べています。

 

# ldd /usr/bin/openssl
    linux-gate.so.1 =>  (0xb7712000)
    libssl.so.1.0.0 => /lib/i386-linux-gnu/libssl.so.1.0.0 (0xb76a4000)
    libcrypto.so.1.0.0 => /lib/i386-linux-gnu/libcrypto.so.1.0.0 (0xb74f6000)
    libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb7347000)
    libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xb7342000)
    /lib/ld-linux.so.2 (0xb7713000)

 

その中のlibssl.so.1.0.0の中身を覗いてみます。libssl.so.1.0.0ファイルはバイナリファイルです。バイナリファイルとは人間が解釈できない形式のファイルのことだそうです。stringsコマンドでは、そんなバイナリファイルの中身をのぞくことができます。

 

# strings /lib/i386-linux-gnu/libssl.so.1.0.0 | grep OpenSSL
OpenSSLDie
SSLv3 part of OpenSSL 1.0.1f 6 Jan 2014
TLSv1 part of OpenSSL 1.0.1f 6 Jan 2014
DTLSv1 part of OpenSSL 1.0.1f 6 Jan 2014
OpenSSL 1.0.1f 6 Jan 2014


最後の行で、OpenSSLのバージョンを確認することができました。次に、OpenSSLをアップデートしてみます。

# apt-get update

(省略)

# apt-get install openssl

(省略)

# dpkg -l | grep openssl
ii libgnutls-openssl27:i386 2.12.23-12ubuntu2.5 i386 GNU TLS library - OpenSSL wrapper
ii openssl 1.0.1f-1ubuntu2.19 i386 Secure Sockets Layer toolkit - cryptographic utility
ii python-openssl 0.13-2ubuntu6 i386 Python 2 wrapper around the OpenSSL library

 

CVE-2016-2108 in Ubuntu

Ubuntu 14.04のopensslの修正済みバージョンは2.19としてリリースされていました。

きちんと修正済みバージョンになってくれたようです。ε-(´∀`*)ホッ

 

# openssl version
OpenSSL 1.0.1f 6 Jan 2014

むむっアップデート前と結果が変わらないぞい・・・。

 

# strings /lib/i386-linux-gnu/libssl.so.1.0.0 | grep OpenSSL
OpenSSLDie
SSLv3 part of OpenSSL 1.0.1f 6 Jan 2014
TLSv1 part of OpenSSL 1.0.1f 6 Jan 2014
DTLSv1 part of OpenSSL 1.0.1f 6 Jan 2014
OpenSSL 1.0.1f 6 Jan 2014

日付も特に変わっていないぞい・・・。

う〜ん。

思い通りにいきませんでした(・ัω・ั) 

 

2016/05/17 追記

いろいろリプライをいただいたので、追記いたします。

脆弱性対応=パッチを当てるだけ=バージョンアップではないというお話を聞きました。なのでバイナリの中のバージョンの表記が上がらないと。

 あとは、パッケージ管理システムによってchangelogを見ることができるので、それを確認したほうが良いという話。

 私はdebian系(debian,ubuntu)しか経験がないので、apt-get以外使ったことがありません。パッケージ管理システムの違いとか気になる…。

ネットサーフィンしていると、apt-get VS aptitudeはよく目にしますね!

 

あとは、lsofコマンドを使うと、今プロセスが読み込んでいるファイルを確認できるので、そこでlibsslでgrepかければ良いという話も聞きました。

lsof、既視感あると思ったら、glibcの時も同じようなことをしていたのを、すっかり忘れていました・・・。

 

フォロワーさんが、Redhat系のOpenSSLのパッケージについて調査されていたので、引用させていただきました。

 

そういえば、OpenSSLのパッケージの中身ってきちんと見たことないなぁ。

次回は、OpenSSLのパッケージの中身を見てみよう(debian)にしてみようかな。

反応くださった皆さん本当にありがとうございました!('ω')

 

また気になることがあったら追記しますね。

 

 

 

 

 

 

 

ESXiが動く自宅サーバが欲しい話

こんばんは。ナツヨです。

Twitterでちょくちょく言っているんですが、サーバ用途にもう1台欲しいなと思っています。理由は、デスクトップPCのvirtualboxだと不満を感じてきたからです。

 

もともと普通に使うことしか想定していないスペックなので仕方ないかも…。

 

そこで、サーバ用途で1台用意したいなと。

どうせなら、そこでゲストOSを立ち上げて遊んでみたいなと思っています。

ESXiが良いよ!と言われるのでそれでスペックを考えてみます。

 

ESXiホストが動作する環境だと…

 

・64bitのCPU

ハイパーバイザーに対応しているもの。

(どのCPUが良いかはVMwareのナレッジベースの参照)

https://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2080072

 

・ゲストOSを立ち上げるならメモリは最低8GBは必要

(つまり、最低8GB,必要に応じて8GB以上刺さるマザーボードが必要…?)

・1つ以上のギガビットイーサネット対応のネットワークアダプタ

・ディスクはSSDミラーリング

・置き場所的にタワー型。

ハードディスクが交換しやすいものを選ぶとより良い。

最新のESXi(5.1以降)ならばブラウザベースのweb client。 

 

( ゚д゚)ポカーン

 

自作もまともにやったことがないので、どれを買えばいいか検討がつかない…。

会社だとクラウド環境でマウスクリックひとつでサーバできちゃうし、サーバも既製品しか使わないし。

 

とりあえず自作の最低限の知識をつけるところから始めようと思います。

道のりは長そう(-_-;)

 

追記:

いただいたリプの情報や調べた情報を追記。

やりたいことをとことん妄想してメモしました

こんばんは。ナツヨです。

春の情報処理試験も無事おわりまして、自由な時間を手に入れましたヾ(*´∀`*)ノ

やりたいことがたくさんあるので、ここにメモしようと思います。

 

twitterにはこんな感じで書いてました。

ネットワーク図(落書き)を描いたらいろいろ反応してもらえて楽しかったです。

 

今はデスクトップにvirtualboxを入れて、debian8.4でUnboundのDNSキャッシュサーバを建てた?ところです。インストールしただけだからlocalhostからしか名前解決できない。はっは~ん。

 

●やりたいことリストその1

・DNSSEC検証対応のリゾルバ構築

・zabbixサーバ(せっかくなら3.0)の構築 DNSリゾルバたちを監視させる

・powerDNS recursorでのリゾルバ構築

・dbjdnsでのリゾルバ構築

DNSはいろいろ触りくらべてみたいですね。

 

さて、これだけ遊ぶとなるとデスクトップのvirtualboxじゃぁ物足りなくなりそうですね(´・ω・`)

 

●やりたいことリストその2

・デスクトップとは別にサーバ用途で1台買う(SSD,ESXi動作環境を満たすもの)

ESXi、フォロワーさんが使っている方が多いようで、けっこういろいろリプライをいただいたのですがけっこう良さげな雰囲気。

 

ここまで内側でガチャガチャやってたら外部にも建てたくなっちゃいそうですね~(。-`ω-)

 

●やりたいことリストその3

独自ドメインの取得(infragirl.comとかほしい)

レンタルサーバの契約

・↑で物足りなくなったらプライベートクラウドの契約 ミーハーなのではやりのAWSさわりたい

独自ドメインでメールサーバの構築(zimbra気になります)

・wwwサーバの構築(wordpress触ったことないからさわってみたい)

 

このぐらいかな?

妄想するだけならタダなので、とりあえずここまで:-)

 

H28年 春期 セキュリティスペシャリストを受けてきました

 おひさしぶりだいこんです。
ずーっと更新していませんでしたが生きています。
今日、セキュリティスペシャリスト試験を受けてきました。
問題としては、普段の業務で見たことあるようなものが多く、「これは解けないとあかんやつ!」と思いながら解いていました。

〇勉強時間
iPhoneアプリを使って記録つけていました。
勉強用SNSという感じで、「ほかの人勉強頑張ってるし自分も頑張らないと!」って思えます。今後も使っていきたいと思ってます。
f:id:okisan2:20160417205549p:imagef:id:okisan2:20160417205626p:image
〇勉強方法
過去問を解いて、わからないところをまとめるというながれをひたすらやっていました。今考えると、理解を深めるためにもっと掘り下げて勉強すれば良かったなって思ってます(∩´﹏`∩)

〇手応えは?
午前Ⅱ、午後Ⅰまではいけたような気がします!午後Ⅱはお察しください!

〇セスペは業務に役に立つか?
私がプロバイダの中の人をしているという前提での話になりますが、広く浅くを身につけるには役に立つのではないでしょうか。お仕事によってはケースバイケースですし(>_<;)

受験が終わった皆様お疲れ様でした!



暗号技術入門を読み始めました

おはごきげんようこんばんにちは。
ナツヨです。

AP受かって、次はセスペだ!と意気込んでいたら、そのあと1週間ほど体調が優れず…今週の水曜日にちょっと熱が出ました。
とばしすぎて、オーバーヒートしたようです。グヌヌ( ・᷄ὢ・᷅ )

セスペ用に、暗号技術入門という本を買いました。

今までIPAの試験は過去問オンリーで特に参考書は買っていませんでした。
午前Ⅱの問題で、暗号化の知識を問う問題があり、全くわかりませんでした。解説を見てもピンと来なかったので、暗号化の書籍を漁っていたところコレにたどり着きました。

Amazonでの評価が高く、セスペ取得を目指すなら是非読んでおいた方が良い!というレビューもあって購入に踏み切りました。

セスペの勉強でペンを持ちたくない時にパラパラ読んでいます。まだ第1章ですが、あまり考え込まずにスーッと読める感じです。

全部読むには時間がかかりそうですが、読み終わったらまた感想を書きますね。

余談ですが、「Amazonで暗号化の本買った!」ってつぶやくと出来るインフラエンジニアっぽくて良いですね(´∀`)

それでは、おやすみなさいませ( ˘ω˘ )

BINDの脆弱性対応についての動きまとめ

おはこんばんにちは。ナツヨです。

いつか、脆弱性対応についての記事を書こうと思っていたら、BINDさんがまた

脆弱性を発表してくれました。(CVE-2015-8704,CVE-2015-8705)

前回の発表から1ヶ月も立っていないのに、流石BINDさんだなぁと思いました。(遠い目)

 

今日は、BINDに焦点をあてて、脆弱性対応とはどういうことが必要なのかまとめていこうと思います。すでに日常的に脆弱性対応されている方というよりは、「なんかしらんけどDNSサーバの管理者になっていた。とりあえずBINDというソフトウェアで動いていることは知っている」という方向けだと思います。

 

1.BINDの脆弱性の発表をキャッチする

BINDの脆弱性について、世の中で一番早く発信するのはBINDのサポートを行っているISC本家(BIND | Internet Systems Consortium)だと思います。情報をキャッチする主な手段としては以下があげられます。

・ISCが提供しているメーリングリストへの登録

・ISCが提供しているRSSを利用する

・ISC公式twitterをチェックする

英語なのでパッと見わかりにくいですし、個人的にはISC本家について必ずしもびんびんにアンテナを張っていなくてもいいんじゃないかなと思います。理由は後述します。

 

BINDの脆弱性について、次に発信してくれるのはJPRSです。日本の.jpドメインの管理をしている会社です。緊急性の高いBINDの脆弱性が発表されると迅速にアナウンスを出してくれます。

CVE-2015-8704,CVE-2015-8705の時は、ISCからの発表が19日の11:54(日本時間との時差は17時間であり、日本時間に直すと20日の4:54)だったのに対し(

CVE-2015-8704: Specific APL data could trigger an INSIST in apl_42.c | Internet Systems Consortium Knowledge Base

JPRSからのアナウンス((緊急)BIND 9.xの脆弱性(DNSサービスの停止)について(CVE-2015-8704))が20日の11:00でした。大体6時間で、わかりやすくまとまった日本語でアナウンスしてくださるのでとてもありがたい限りです。上司や客先に説明するときに、JPRSのアナウンスを印刷して持って行くと説明がしやすいです。JPRSはBIND以外のDNSのソフトウェアについてもアナウンスを出しています。

 

 その他JPCERT/CCが出すアナウンスもあります。JPCERT/CCDNS関係だけではなく脆弱性全般について取り扱っているので、普段からチェックしておいて損はないと思います。

ISC本家について必ずしもビンビンにアンテナを張っている必要はない、と言ったのは、このJPRSのアナウンスがあるからです。

 

2.対応するかどうかを決める

これは、環境によって異なるのでなんとも言えないのですが、私の場合はJPRSが反応しているものは即、対応の対象にすると決めています。緊急性の高いものはタイトルに(緊急)とついています。

あとは以下の観点から判断しています。

・対象のサーバが外に出ているかどうか

→FWで守られているかどうか。外に出ているものであれば、一刻も早く対処しないといけないです。リモートで攻撃可能な脆弱性だといつ攻撃を受けるかわかりませんし。

脆弱性によって受ける影響が大きいかどうか

JPRSのアナウンスを読むと、どのような条件でどのような影響を受けるかがわかります。サービス停止などだと、会社のサービスの継続に関わるので即対処しないと行けないと思っています。(BINDに限って言えば個人情報漏洩などはあんまり考えられないですけど・・・ゾーンがまるまる取られることがあると、動作しているサービスが予測されるので良くないですね)

 

基本的には脆弱性にはすべて対応すべきだと思っています。ただし、実際に対応するかどうかは実際の環境や、対応にかかる工数とリスクを天秤にかけて、上司や客先と相談して判断しています。

 

3.対応作業を実施する

私はlinux系のOSでしかDNSサーバを運用したことがないので、linux系に限って書きます。

 

BINDをソースでインストールした場合、ISCが提供している修正版のソースを落としてきて、configure→make→make installのいつもの流れで修正版をインストールします。make installをする前に、named.confなどの設定ファイルのバックアップをとっておく、修正版のソースを展開したあとに、修正版のnamed-checkconfを使って動作中のBINDのnamed.confのコンフィグチェックを実施するとより安心です。

蛇足なんですが、この修正版のnamed-checkconfを使う方法は先輩から教わりました。聞いた時は頭いいな〜と思いました(ヽ'ω`)

 

以前の脆弱性対応で、make installしたあとに、BINDが起動してこなくて焦った経験があります。その場で前バージョンのソースをmake installしなおして復活するまで汗がだらだらでした。バージョンアップにより動作が変わり、新バージョンでは今まで使用していたnamed.confの設定を受け付けなくなったことが原因でした。先輩にnamed.confを修正してもらって、バージョンアップを実施しました(`;ω;´)

 

BINDをパッケージでインストールした場合、ディストリビューションが修正版をリリースするまで待つことになります。リリースされたらパッケージのアップデートをすればOKだと思います。ただし、ねんのために、named.confなどの設定ファイルとかはバックアップをとっておいたほうがいいかもしれません。

(パッケージのアップデートでも、修正版ソースのnamed-checkconfを実行するのって有効なんでしょうか。そのへんはやったことないので不明です・・・(゜_゜))

 修正版ソースを展開してnamed-checkconfを実行する以外に、パッケージ版ならではのコンフィグチェックをするもっと良い方法があれば教えていただきたいです。

 

ながくなりましたが、私はこんな感じでBINDの脆弱性対応をしています。

世の中にいるDNSサーバ管理者1年生の方の役に経てばとっても嬉しいです。

間違った点などありましたら、@infragirl755 まで知らせてくださるとたすかります。

 

それではおやすみなさいませ (´-ω-`)

 

以下、追記

・JPCERTの正式名称はJPCERTコーディネーションセンターだと指摘をいただき、記載をJPCERT/CCに修正しました。

・BINDパッケージ版のアップデートのくだりについて、少し日本語がわかりにくいので修正しました。

・ISC発表からJPRSのアナウンスまでの時差について修正しました。(日本時間のわけがないのに痛恨のミス)

 

RHEL向けの手順を作成された方がいらっしゃいました!

まこぴ(@makopicut)さん、ありがとうございます。

 

・そもそもパッケージ版とソースどちらを用いるかという話についてツイートされていたので引用させていただきました。ソース版だと手がかかるんですよね・・・。

鳥海ゆえ(@sarvant_yue)さん、ありがとうございました。

 

 

あとは・・・ISCの第一報からJPRSのアナウンスが出るまでの時間差の話は「現地時間ではないか?」と突っ込まれているのをTLで眺めていました。あー恥ずかしい(・_・;)

今後も気になることがあれば追記しようと思います。