memo.xight.org

日々のメモ

カテゴリ : Memo

1ページ目 / 全24ページ

様々なルートCA証明書を生成する

Summary

cURLに付属する mk-ca-bundle.pl を利用すると
様々なルートCA証明書を生成することができる。

ghq get curl/curl
perl (ghq root)/github.com/curl/curl/lib/mk-ca-bundle.pl

実行すると、実行したディレクトリに
certdata.txt がダウンロードされ、 ca-bundle.crt が生成される

内村プロデュース、内村さまぁ~ずの人間ドック

内村プロデュース

  - 2001-10-27 人間ドックをプロデュース
  - 2002-05-16 春の健康診断をプロデュース
  - 2003-09-01 秋の健康診断をプロデュース

内村さまぁ~ず

  - 2008-12-15 #52『そろそろ人間ドッグで不安を解消したい男達!』
  - 2009-12-15 #76『そろそろ人間ドックで体の不安を解消したい男達2009!』
  - 2010-12-01 #99『そろそろ人間ドックで体の不安を解消したい男達!2010!』
  - 2011-12-01 #123『そろそろ人間ドックで体の不安を解消したい男達!2011!』
  - 2012-12-01 #147『いい加減に人間ドックで体の不安を解消したい男達!!2012』
  - 2013-11-25 #172『いい加減に人間ドックで体の不安を解消したい男達!2013!』
  - 2014-11-24 #198『いい加減に人間ドックで体の不安を解消したい男達!!2014!』
  - 2015-09-28 #222『今年こそ真剣に人間ドックで体の不安を解消したい男達!!2015!』

内村さまぁ~ず 2nd

  - 2016-10-24 #248『もういい加減、人間ドックで体の不安を解消したい男達!!2016!』

Anker 7 Port USB3.0 HUB 68UNHUB-B7U Firmware

Summary

Anker の 7ポート USB3.0 HUBのファームウェアをアップデートしたい。
VIA Lab, Inc. の VL812 Chipset が使われているので、
これに対応するファームウェアをダウンロードし、アップデートする。

アップデートプログラムはWindowsのみ対応とのこと。
Mac版は問い合わせてくださいとのことなので、問い合わせてみた。

返信待ち。

Reference

plugable - PLUGABLE USB 3.0 HUB FIRMWARE HISTORY & UPDATES
http://plugable.com/drivers/hubfirmware/

plugable - PLUGABLE USB 3.0 ハブ・ファームウェア履歴および更新情報
http://plugable.com/ja/hubfirmware/

plugable - 2013-10-30 - PLUGABLE USB 3.0 7 PORT HUB FIRMWARE HISTORY
http://plugable.com/2013/10/30/plugable-usb-3-0-hub-firmware-upgrades2/

plugable - 2014-07-23 - PLUGABLE USB 3.0 HUB FIRMWARE HISTORY MID-2014 UPDATE
http://plugable.com/2014/07/23/plugable-usb-3-0-hub-firmware-history-2014-update/

plugable - Products - PLUGABLE USB 3.0 7-PORT HUB WITH 25W POWER ADAPTER
http://plugable.com/products/USB3-HUB7-81X

Anker - Products - 7-Port Hub with 36W Power Adapter USB 3.0
https://www.anker.com/products/68UNHUB-B7U

Amazon.co.jp - Anker USB 3.0 ハブ 7ポート
https://www.amazon.co.jp/gp/product/B006TT91TW/

2016年 情報セキュリティスペシャリスト試験の自分なりの解答

Summary

2016年 情報セキュリティスペシャリスト試験を受けてきた。
午後Iは問1,3を選択
午後IIは問2を選択
まだ解答がでていないので、自分の解答を一部訂正して書いておく。

午前II

問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 エ

午後I 問1

設問1
a エ トンネル
b ア アグレッシブ

設問2
(1) c x1.x2.x3.x4
    d y1.y2.y3.y4
(2) パスワード認証をオフにし、公開鍵認証に変更した

設問3
(1) SSHの接続元がVPNルータのIPアドレスのみに制限する (28/30字)
(2) ホスト鍵が同じSSHサーバを起動する (18/20字)
(3) イメージファイルの作成時:
    C社の秘密鍵でイメージファイルのハッシュ値を暗号化して署名する (31/35字)

    イメージファイルの更新時:
    C社の公開鍵でハッシュ値を複号しイメージファイルのハッシュ値と比較する (35/35字)

(4) ファームウェアまたは組み込み機器をリバースエンジニアリングする (31/35字)

午後I 問3

設問1 エ (リバースプロキシ)

設問2
(1) b イ (OSの管理用のコマンド, 攻撃用プログラム)
    c オ (攻撃用プログラム)
(2) ゼロデイ攻撃などハッシュ値が指定できないプログラム (25/30字)

設問3
(1) プロキシ2の接続元は送信元PCではなく、プロキシ1だから (28/30字)
(2) オ (X-Forwarded-For)

設問4
(1) OSやブラウザのプロキシ設定を優先し、プロキシ認証の処理はOSやブラウザに任せる (40/50字)
    (「プロミスキャスモードで通信の盗聴を行う」のほうが正解っぽい)
(2)
URLフィルタリング機能:
プロキシ2の検知ログの内、業務に必要かつ安全なURLをホワイトリストに登録する (39/40字)

カテゴリ単位フィルタリング機能:
"検知"に設定しているカテゴリを全て"遮断"に変更する (27/40字)

午後II 問2

設問1
(1) ウ (重要レベル高, 脆弱性レベル低)
(2) 特定バージョンの脆弱性が見つかった場合、脆弱性対応が必要な機器の特定を容易にするため (42/45字)

設問2
(1) ウ
(2) ウ
(3) HTTPレスポンス
(4) () {echo test; }; /usr/bin/cat /etc/passwd

設問3
(1) パターンマッチング
(2) サーバへのパッチ適用には、デグレードが発生していないか確認する期間が必要だから (39/40字)
(3) c ウ (DNS)
    d イ (CNAME)
(4) アクセスが通常時の100倍程度まで増大する予定があり、通信料の上限を一時的に変更することができるから (50/50字)

設問4
(1) 社内WebサーバのIPアドレス (15/20字)
(2) e オ (XMLHttpRequest)
    g ア (Access-Control-Allow-Origin)
    h キ (同一生成元)
(3) プロキシサーバを経由したHTTP POST等の通信を行う機能 (30/30字)

設問5
(1) 中
(2) ア、ク
    図10で行うリスクレベルの評価: ウ、オ
    図9で行うリスクレベルの評価 : ア、ウ、オ、ク
(3) j A社の重要な業務が行えない (13/15字)
    k A社の信用を大きく毀損する (13/15字)
      重要情報が漏洩する (?)
      広範な部門、業務に影響する (?)

PACファイルの場所と設定検出

Summary

プロキシの自動検出を設定していて、
プロキシの設定がわからない、
または、PACファイルの場所がわからない場合、
Google Chrome を使うと簡単に設定を確認することができる。

Google Chrome から net-internals の Proxy の項を表示させる

chrome://net-internals/#proxy

リモートファイルのSHA-256を表示するワンライナー

Summary

homebrew-cask のFormulaの更新で、SHA-256の値が必要になる。
ダウンロードしてから openssl コマンドを実行するのは手間なので、
リモートファイルのSHA-256を表示させたい。

curl --silent --location http://example.com/path/to/file.dmg | openssl dgst -sha256


追記: 2016-09-23

302 リダイレクトの場合、リダイレクト先のデータを取得するよう、
curl の --location オプションを追加

wget で認証付きサイトをダウンロード / ミラーリングする

Summary

ログインフォームから認証, セッションCookie, Cookieファイル, BASIC認証/DIGEST認証を使った認証付きサイトをミラーリングしたい

ログインフォームから認証 (POST)

wget --save-cookies cookies.txt \
--post-data 'user=USERNAME&password=PASSWORD' \
http://example.com/login

セッションCookie

wget \
--header '_hoge_session_id=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' \
http://example.com


Cookieファイル (SQLite)

CookieをSQLiteのDBとして保存するブラウザのCookieを利用する (Firefoxの場合)
sqlite3 -separator ' ' cookies.sqlite 'select * from moz_cookies' > cookies.txt
wget --load-cookies=path/to/cookies.txt http://example.com


Firefox (Windows) の cookies.sqlite

%APPDATA%\Mozilla\Firefox\Profiles\xxxxxxxx.default\cookies.sqlite

Firefox (Linux) の cookies.sqlite

~/.mozilla/firefox/xxxxxxxx.default/cookies.sqlite

BASIC認証 / DIGEST認証

wget \
--http-user=USERNAME \
--http-password=PASSWORD \
http://example.com


Reference

WebOS Goodies - 2008-01-16 - wget で認証付きサイトをダウンロードする
http://webos-goodies.jp/archives/51277893.html

お笑い五箇条

Summary

「夢で逢えたら」というテレビ番組で
話題に上がった「お笑い五箇条」とのこと

自分のギャグで笑わない
フリはすらすらつっかえない
オチは大きくはっきりと
引き際を大切に
笑いは間

Reference

頭ん中 - 2012-06-11 - 人前でプレゼンをするときに気をつけたい8つのことがら
http://www.msng.info/archives/2012/06/speaking-in-public.php

頭ん中 - 2009-04-29 - お笑い五箇条
http://www.msng.info/archives/2009/04/five_articles_of_comedy.php

トヨタ純正ナビ NDDA-W56 のダイアグモード

Summary

車のバッテリー切れでバックモニタの指示線が表示されなくなってしまった。
ディーラーに聞いたところ、車を持ち込まないと状況がわからないし、有料になる可能性があるとのこと。
そのため、自分でバックモニタの設定を行った。

バックモニタの設定は、検査メニュー (ダイアグモード) から行える。
しかし、ダイアグモードを表示させるには、特殊な操作が必要なのでメモしておく。

ダイアグモードの表示

情報ボタンを押しながら、ライトをオン、オフを3回行う。

VLC media player の字幕の濁点、半濁点問題

Summary

VLC media player の字幕の濁点、半濁点が分離されてしまう。
Unicode正規化の形式 NFC, NFD の扱いがうまくいっていないようだ。
VLC media player (Version 2.2.4 Weatherwax) を利用

テキストレンダリングモジュールで「コアテキスト・フォントレンダラー」を指定

VLC media player - コアテキストフォントレンダラーを指定
VLC media player - Text rendering module - CoreText font renderer

Reference

GitHub - VLC
https://github.com/videolan/vlc

Wikipedia - Unicode正規化

パスワードの定期変更をユーザに求めるべきではない

Summary

NIST(National Institute of Standards and Technology) の部門CSD(Computer Security Division) が発行する
Special Publication 800-63B Digital Authentication Guideline の
5.1.1.2 Memorized Secret Verifiers についての話題。

「システムはパスワードの定期的な変更をユーザーに要求すべきではない」の原文はこのあたり。

Verifiers SHOULD NOT require memorized secrets to be changed arbitrarily (e.g., periodically) unless there is evidence of compromise of the authenticator or a subscriber requests a change.


「秘密の質問を使用するべきではない」の原文はこのあたり。

Memorized secret verifiers SHALL NOT permit the subscriber to store a “hint” that is accessible to an unauthenticated claimant. Verifiers also SHALL NOT prompt subscribers to use specific types of information (e.g., “What was the name of your first pet?”) when choosing memorized secrets.


Reference

DRAFT NIST Special Publication 800-63B Digital Authentication Guideline
https://pages.nist.gov/800-63-3/sp800-63b.html

via

やじうまWatch - 2016-06-27 - 「パスワードの定期変更をユーザーに求めるべきではない」……NISTの文書でついに明示へ
http://internet.watch.impress.co.jp/docs/yajiuma/1007177.html

CUI でタイムゾーン指定

Summary

dpkg-reconfigure tzdata

だとインタラクティブなので、コマンドのみでタイムゾーンを操作したい。

timedatactl を使う

sudo timedatectl set-timezone UTC
sudo timedatectl set-timezone Asia/Tokyo


Reference

How to change time-zone settings from the command line - Ask Ubuntu
http://askubuntu.com/questions/3375/how-to-change-time-zone-settings-from-the-command-line

HTTP API Design - Herokuが実践しているAPIデザインガイド

Summary

Herokuが実践しているAPIデザインガイド

HTTP API design guide extracted from work on the Heroku Platform API


抄訳

SOTA - 2014-06-02 - HerokuのAPIデザイン

Reference

GitHub - interagent/http-api-design: HTTP API design guide extracted from work on the Heroku Platform API
https://github.com/interagent/http-api-design

GitBooks - HTTP API Design
https://geemus.gitbooks.io/http-api-design/content/

via

SOTA - 2014-06-02 - HerokuのAPIデザイン
http://deeeet.com/writing/2014/06/02/heroku-api-design/

/var/log/messages - 2014-06-22 - http api design
http://yamanetoshi.github.io/blog/2014/06/22/http-api-design/

Homebrew / Homebrew Cask で古いバージョンのアプリケーションをインストールする

Summary

Homebrew CaskでインストールしたMacVim-Kaoriyaをバージョンアップしたら、
エラーが発生してしまった。
一時的に古いバージョンを使いたい。

/usr/local/Library/Taps 以下の tap しているディレクトリに移動
git log で戻す先のコミットのハッシュ値を確認しておく。
formula を指定して、 git checkout

macvim-kaoriya の例

% cd /usr/local/Library/Taps/caskroom/homebrew-versions/Casks
% git log
% git checkout 61f2be macvim-kaoriya.rb
% brew cask install macvim-kaoriya --override-system-vim --force

Microsoft Officeが作成する一時ファイルを削除するワンライナー

Summary

"~$" (チルダ ドル) で始まる名前のファイルを大量に発見。
Microsoft Officeが作成する一時ファイルのようだ。

以下のワンライナーでまとめて削除。
スペースを含むディレクトリ、ファイル名も考慮するため、
find の print0 オプションと xargs の null オプションを組み合わせる。

Officeの一時ファイルをまとめて削除するワンライナー

% find $HOME -name '\~\$*' -print0 | xargs --null rm


Officeの一時ファイルをまとめてゴミ箱に移動するワンライナー

% find $HOME -name '\~\$*' -print0 | xargs --null mv -t $HOME/.Trash


homebrew ユーザは…

xargsのnullオプションを利用するには GNU findutils の xargs (gxargs) が必要。
homebrew ユーザは findutils をインストールして、 gxargs が使えるようにする。
alias で xargs=gxargs するか、 ワンライナーの xargs を gxargs に読み替える。

Reference

備忘録 - 2008-07-28 - スペースを含むファイル名をfindとxargsで使う方法
http://sea-otter-factory.blogspot.jp/2008/07/unix-xargs.html

fydroculのメモ - コマンドの使い方 - xargs コマンド (mvに渡す場合は要注意)
https://hydrocul.github.io/wiki/commands/xargs.html#fec7f98

2015年 ネットワークスペシャリスト試験の自分なりの解答

Summary

2015年 ネットワークスペシャリスト試験を受けてきた。
午後Iは問2,3を選択
午後IIは問1を選択
まだ解答がでていないので、自分の解答を一部訂正して書いておく。

午後I 問2

  設問1
  ア 通信帯域 / 通信速度
  イ リクエスト / パケット
  ウ 転送 / リダイレクト

  設問2
  (1) (A) 宛先IPアドレス 機器b
          宛先MACアドレス LBa
      (B) 宛先IPアドレス 機器b
          宛先MACアドレス FW2
  (2) 宛先IPアドレスの書き換えが行えない (18字 / 20字)
  (3) セッションごとに同じFWに振り分ける (18字 / 30字)

  設問3
  (1) 現状の1.4倍以上の処理能力が必要なため (20字 / 20字)
  (2) あ 99
      い 90
  (3) FWだけでなくLBとその経路の障害が検知できる (23字 / 30字)
  (4) セッションタイムアウトを待たずに通信の再開を試行できる (27字 / 30字)

午後I 問3

  設問1
  ア アノマリ
  イ ミラー
  ウ プロミスキャス
  エ IP
  オ unreachable

  設問2
  (1) 範囲 内部LAN <-> インターネット
      SW1 ○
      SW2 ×
      SW3 ○
  (2) IDSで検知した攻撃の送信元アドレスを、自動的にFWの接続拒否リストに追加する (39字 / 40字)
  (3) 攻撃者までの経路にICMPパケットを破棄する機器がある可能性があるから (35字 / 35字)

  設問3
  (1) 一時的な運用中である旨を表示するURLに転送し、その間に脆弱性への対応を行う (38字 / 50字)
  (2) IPSの故障の検知と通知、自動的な再起動 (20字 / 25字)
  (3) IDSとIPSのログを監視して新たな攻撃を検知し、遮断ルールを改善する (35字 / 35字)

午後II 問1

設問1
(1) MAC
(2) LB正
(3) ①
(4) ⑥ (Webサーバの実IPアドレス)

設問2
(1)
う 中継装置
え 通信アダプタ
お リバース
(2) 設備、通信アダプタとその経路の障害が検知できるから (25字/25字)
(3) Tc
(4) 通信アダプタの方が情報取得頻度が高くキャッシュの更新頻度も高くなるから (35字/35字)
(5) ① 設備の機器に障害が発生し、設備からのレスポンスが返らない時 (29字/30字)
    ② 通信アダプタがキャッシュを返し、設備への通信が発生しない時 (29字/30字)
(6) 稼働情報のタイムスタンプの最小間隔が長くなり、例えば1分間隔から2分間隔になる (39字/40字)

設問3
(1) 中継装置
(2) UDPヘッダ (?)
(3) ① CoAPのヘッダが固定長なので高速に処理が行える (25字/30字)
    ② UDPはハンドシェイクを行わないので高速に通信が行える (28字/30字)
設問4
(1) LB
(2) 内部L2SW-0 と L2SW-20
    内部L2SW-0 と L2SW-30
    内部L2SW-1 と L2SW-21
    内部L2SW-1 と L2SW-31
(3) ア 30
    イ 24
    ウ 6
(4) 収集周期が5分間隔になる場合のコネクション数から算出する (28字/30字)
(5) Keep-Alive接続を利用し、セッション終了時には明示的にクローズ接続オプションを指定する (47字/50字)
(6) 単一の設備ではなく、設備を複数またはグループで指定できるようなURL設計とする (39字/50字)

シェルスクリプトで SFTP

Summary

SFTP=/usr/bin/sftp

DATE=/bin/date
DATE_OPTION='+%Y-%m-%d'
DATE_STR=`$DATE $DATE_OPTION`

BACKUP_SOURCE_HOST=example.com
BACKUP_SOURCE_PATH=/var/backups/example.com
BACKUP_SOURCE_SQL_FILE=${BACKUP_SOURCE_PATH}/example.com-FILE-${DATE_STR}.tar.gz
BACKUP_SOURCE_TAR_FILE=${BACKUP_SOURCE_PATH}/example.com-SQL-${DATE_STR}.gz
BACKUP_DEST_PATH=$HOME/Dropbox/backup

$SFTP $BACKUP_SOURCE_HOST << END
lcd $BACKUP_DEST_PATH
get $BACKUP_SOURCE_SQL_FILE
get $BACKUP_SOURCE_TAR_FILE
exit
END
echo "Backup finished"