【勉強会】第19回八子クラウド座談会
久しぶりの勉強会の参加です。
八子クラは2回目の参加で、今回も非常に勉強になる内容でした。
内容が多すぎて纏めるのに時間がかかるので3日位かけて書いていこうと思います。
まずはイントロダクションから。
座談会の趣旨説明/「デジタライゼーション時代の勝ち組モデル」
シスココンサルティングサービス 八子知礼 さん
www.slideshare.net
Degitize
手段、手段の対象がデジタル化されただけ。
・レコード → iTunes
・インターネット上で様々なコミュニケーションが取れる
・ネットでEコマース
Digitalize
全てをデジタル化していく、全てをデジタルの上で完結する考え方。
同じデジタル化と訳されることがあるが、全く異なった物である。
人の存在自体がデジタル化されていく概念を総じてデジタライゼーション
グローバルでの勝ち組企業
・アマゾン(EC世界最大)
→本屋であるが本屋を持ってない。(現実に世界ではシアトルに1店舗)
・UBER(個人の車をタクシーとして使う)
・Spotfy Pandora(コンテンツを定額で配る仕組み)
・Square(専用決済端末不要な決済ビジネス)
・Google/facebook(広告ビジネス)
・TESLA(PCバッテリセルの並列で車を走らす。車はでっかいスマホ。)
・airbnb(個人の部屋をホテルとして貸し出す)
グローバル企業達が共通している事
物理的なアセットを持っていない。その領域のプレイヤーを駆逐させるビジネスモデルを持っている。
完全にデジタルで完結している。
airbnbはホテルの部屋は持ってない。UBERもタクシーを持ってない。
ビジネスモデル全体のデジタル化。
これらビジネスモデルを読み解くとCloud Exchangeモデルに行き着く。
Cloud Exchangeとは
需要家のニーズ
・どのような物が欲しいのか?
・マスカスタマイゼーション(一人一人に応じた物作り)
・スピード、リアルタイムにも応じる
これら今までもITで補足していたが、十分とは言えなかった。
供給家の状況
・稼働状況がリアルタイムに計れていなかった。
・最近センサーやネットワークの発達により把握できるようになり稼働状況を
くみ上げる事が出来た。
・それをクラウド上でマッチッングする。
・欲しい時にすぐに供給することが出来るようになった。
これら仕組みが勝ち組企業のビジネスモデルの本質である。
需要家ニーズはITの世界。供給家はIoTによって情報を収集するOT(オペレーショナル
テクノロジ)
これをどうやってマッチングさせていくかがフォーカスポイント。
これらうまくやっているプレイヤーが大きくなっている。
日本でうまくやっているのはraksulという印刷会社(輪転機を所有してない)
DNP、凸版、共同印刷が日本の3大印刷会社でその配下に中小30,000ほどの
印刷会社がある。
その30,000社のリアルタイムの稼働状況、得意分野をすぐさま把握してクラウド上で
マッチングする。
細かい色指定や部数指定をしてもそれらに見合った技術をもつ会社から届けてくれる。
米国だけのモデルではない。40億の調達にも成功し、恐らく数年後に数百億の会社に
成ると思われる。
日本で4番目の印刷会社になるのでは…
デジタライズされていく社会でデータが非常に重要な意味を持つ。
・BMWは1時間に1TBのデータを出し続ける
・シンガポール政府も同様に数TB出し続ける。
・1日25,000便飛ぶ飛行機は合計で数ペタバイト
グローバルでは毎日2エクサバイトのデータが生成されているが5%しか使われてない。
今まではアナログでデータがどれだけあるか分からない。
デジタルの世界はたくさんデータがあるのに使えていない。効率が悪い。
データ集めれば集めるほどシュミレーションが出来る。
Digital Twinという考え方
リアルな生産工場、物流工場でオペレーションされている実態を完全にデジタルの
世界に構築する
様々なデータも吸い上げシュミレーションする。
リアルの世界とデジタルの世界のTwin(双子)
最大のメリットは収集したデータのシュミレーション。
シュミレーションは現場だけでなく、マネジメントや意思決定に重要な効果をもたらす。
変化が起こった際の次の動作が予測可能。
デジタライゼーションがもたらすもの
・データ中心の経済活動が行われる。データに対して通貨と同じ意味をもたらす。
・予測可能な世界
・シュミレーションをする事によって、価値のある物だけを消費(持つ必要ない)
・ネットとリアルの境目が無い(ノンボーダー)
Ciscoのジョン・チェンバースより
全ての企業がデジタライゼーションというものにデジタル化を迫られている。
ビジネスモデル全体をITを活用して今までに無かったビジネスモデルを作る事。
これに取り組む、取り組まなくても大企業のうちの40%が10年で姿を消す事になる。
言いたかった事は、デジタライゼーションは難易度の高いこと。もしやるとすれば
真剣に舵きりしないとシュミレーター環境は口で言うほど簡単な物ではない。
第一部 インプット は、また次に書きます。
【Update】New Relicで監視
2年以上前にNew Relicで監視という記事を書きましたが、UIが大幅に変更になっているのとDockerコンテナを監視できる機能が追加されているので情報を更新します。
アカウントは作成済みとします。
1. 上部もしくは中央の「SERVERS」をクリックする
2. プラットフォームを選択する
※今回はCentOS7にて実施
3. ページ下部に進むと導入方法が表示されるので対象サーバ上で実施する
3-1. リポジトリ導入
$ rpm -Uvh http://download.newrelic.com/pub/newrelic/el5/i386/newrelic-repo-5-3.noarch.rpm Retrieving http://download.newrelic.com/pub/newrelic/el5/i386/newrelic-repo-5-3.noarch.rpm warning: /var/tmp/rpm-tmp.LemJ0K: Header V3 DSA/SHA1 Signature, key ID 548c16bf: NOKEY Preparing... ################################# [100%] Updating / installing... 1:newrelic-repo-5-3 ################################# [100%]
3-2. newrelic-sysmondパッケージ導入
$ yum install newrelic-sysmond Loaded plugins: fastestmirror base | 3.6 kB 00:00:00 extras | 3.4 kB 00:00:00 newrelic | 951 B 00:00:00 openlogic | 1.3 kB 00:00:00 updates | 3.4 kB 00:00:00 newrelic/x86_64/primary | 10 kB 00:00:01 Loading mirror speeds from cached hostfile newrelic 85/85 Resolving Dependencies --> Running transaction check ---> Package newrelic-sysmond.x86_64 0:2.2.0.125-1 will be installed --> Finished Dependency Resolution Resolving Dependencies --> Running transaction check ---> Package newrelic-sysmond.x86_64 0:2.2.0.125-1 will be installed --> Finished Dependency Resolution Dependencies Resolved ================================================================================================================================================================================== Package Arch Version Repository Size ================================================================================================================================================================================== Installing: newrelic-sysmond x86_64 2.2.0.125-1 newrelic 1.9 M Transaction Summary ================================================================================================================================================================================== Install 1 Package Total download size: 1.9 M Installed size: 4.6 M Is this ok [y/d/N]: y Downloading packages: warning: /var/cache/yum/x86_64/7/newrelic/packages/newrelic-sysmond-2.2.0.125-1.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 548c16bf: NOKEY] 158 kB/s | 1.9 MB 00:00:00 ETA Public key for newrelic-sysmond-2.2.0.125-1.x86_64.rpm is not installed newrelic-sysmond-2.2.0.125-1.x86_64.rpm | 1.9 MB 00:00:12 Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-NewRelic Importing GPG key 0x548C16BF: Userid : "New Relic <support@newrelic.com>" Fingerprint: b60a 3ec9 bc01 3b9c 2379 0ec8 b31b 29e5 548c 16bf Package : newrelic-repo-5-3.noarch (installed) From : /etc/pki/rpm-gpg/RPM-GPG-KEY-NewRelic Is this ok [y/N]: y Running transaction check Running transaction test Transaction test succeeded Running transaction Warning: RPMDB altered outside of yum. Installing : newrelic-sysmond-2.2.0.125-1.x86_64 1/1 Verifying : newrelic-sysmond-2.2.0.125-1.x86_64 1/1 Installed: newrelic-sysmond.x86_64 0:2.2.0.125-1 Complete!
4. ライセンスキー導入
右上部のアカウントをクリックし、「Account settings」をクリックする。
表示されたページの右に「License key」が表示されているので文字列を控える。
表示された文字列を入れてコマンド実行 nrsysmond-config --set license_key=**************************************** ※ *******はLicense keyの文字列
5. newrelic-sysmond サービスを起動する
$ systemctl start newrelic-sysmond RHEL6以下だと、、、 /etc/init.d/newrelic-sysmond start
監視画面
SERVERSをクリックし、対象サーバのホスト名をクリックする。
Overview
Processes
Network
Disks
Dockerコンテナ監視手順
手順は「Enabling New Relic Servers for Docker」に載っています。
※Dockerコンテナ上のOSには何もする必要はありません。
1.Install and configure Docker
2.Install New Relic Servers for Linux on your Docker server, NOT on your Docker container.
3.If a docker group doesn't already exist, create a new group named docker:
groupadd -r docker
4.Add the newrelic user to the docker group with a command similar to:
usermod -a -G docker newrelic
5.Restart Docker.
6.Restart the New Relic Servers for Linux agent.
New Relic Agentが導入されている環境にDocker監視用の設定を入れても監視できました。
ただ、ページ下部にも書いてあるように古いLinuxに関しては、/etc/newrelic/nrsysmond.cfgに
cgroup_root="/sys/fs/cgroup"を入れないと監視されないようです。
既に運用しているDocker環境がある場合は、Dockerサービスの再起動を伴いますので注意が必要です。
RHEL7(CentOS7)の新コマンド
2014年6月にRHEL7が登場し、7.1がリリースされてからもう半年が過ぎます。
今まで利用に迫られないことから書籍を読むに留めていたのですが、そろそろ時期的にも
必要になってくることと、少し時間ができたので新アーキテクチャのコマンドをざざっと列挙してみようかと。
今更感ありますが、自分のメモとして残しておくことにします。
環境はAzure上でCentOS Linux release 7.1.1503 (Core)にて動かしています。
サービス系(systemctl)
サービスの起動
$ systemctl start httpd
サービスの停止
$ systemctl stop httpd
状態確認
$ systemctl status httpd 【停止時】 httpd.service - The Apache HTTP Server Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled) Active: inactive (dead) Oct 05 07:19:17 centos7 systemd[1]: Starting The Apache HTTP Server... Oct 05 07:19:17 centos7 httpd[2425]: AH00558: httpd: Could not reliably det...ge Oct 05 07:19:18 centos7 systemd[1]: Started The Apache HTTP Server. Oct 05 07:22:31 centos7 systemd[1]: Started The Apache HTTP Server. Oct 05 07:23:20 centos7 systemd[1]: Started The Apache HTTP Server. Oct 05 07:23:34 centos7 systemd[1]: Stopping The Apache HTTP Server... Oct 05 07:23:35 centos7 systemd[1]: Stopped The Apache HTTP Server. Hint: Some lines were ellipsized, use -l to show in full. 【起動時】 httpd.service - The Apache HTTP Server Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled) Active: active (running) since Mon 2015-10-05 07:24:12 UTC; 6s ago Main PID: 2445 (httpd) Status: "Processing requests..." CGroup: /system.slice/httpd.service tq2445 /usr/sbin/httpd -DFOREGROUND tq2446 /usr/sbin/httpd -DFOREGROUND tq2447 /usr/sbin/httpd -DFOREGROUND tq2448 /usr/sbin/httpd -DFOREGROUND tq2449 /usr/sbin/httpd -DFOREGROUND mq2450 /usr/sbin/httpd -DFOREGROUND Oct 05 07:24:11 centos7 systemd[1]: Starting The Apache HTTP Server... Oct 05 07:24:12 centos7 httpd[2445]: AH00558: httpd: Could not reliably det...ge Oct 05 07:24:12 centos7 systemd[1]: Started The Apache HTTP Server. Hint: Some lines were ellipsized, use -l to show in full.
サービスの再起動
$ systemctl restart httpd
設定反映
$ systemctl reload httpd
自動起動の有効
$ systemctl enable httpd ln -s '/usr/lib/systemd/system/httpd.service' '/etc/systemd/system/multi-user.target.wants/httpd.service'
強制終了
- sオプション付けなければ TREM (15)で終了します。
$ systemctl kill -s 9 httpd $ systemctl status httpd httpd.service - The Apache HTTP Server Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled) Active: failed (Result: exit-code) since Mon 2015-10-05 07:26:40 UTC; 13s ago Process: 2498 ExecStop=/bin/kill -WINCH ${MAINPID} (code=exited, status=1/FAILURE) Main PID: 2459 (code=killed, signal=KILL) Status: "Total requests: 0; Current requests/sec: 0; Current traffic: 0 B/sec" Oct 05 07:24:44 centos7 systemd[1]: Starting The Apache HTTP Server... Oct 05 07:24:44 centos7 httpd[2459]: AH00558: httpd: Could not reliably det...ge Oct 05 07:24:44 centos7 systemd[1]: Started The Apache HTTP Server. Oct 05 07:24:49 centos7 systemd[1]: Reloading The Apache HTTP Server. Oct 05 07:24:49 centos7 httpd[2467]: AH00558: httpd: Could not reliably det...ge Oct 05 07:24:49 centos7 systemd[1]: Reloaded The Apache HTTP Server. Oct 05 07:26:39 centos7 systemd[1]: httpd.service: main process exited, cod...LL Oct 05 07:26:40 centos7 kill[2498]: kill: cannot find process "" Oct 05 07:26:40 centos7 systemd[1]: httpd.service: control process exited, ...=1 Oct 05 07:26:40 centos7 systemd[1]: Unit httpd.service entered failed state. Hint: Some lines were ellipsized, use -l to show in full.
ログ確認系(journalctl)
サービスログの確認
$ journalctl -u httpd -- Logs begin at Mon 2015-10-05 06:41:58 UTC, end at Mon 2015-10-05 08:06:20 UTC Oct 05 07:19:17 centos7 systemd[1]: Starting The Apache HTTP Server... Oct 05 07:19:17 centos7 httpd[2425]: AH00558: httpd: Could not reliably determin Oct 05 07:19:18 centos7 systemd[1]: Started The Apache HTTP Server. Oct 05 07:22:31 centos7 systemd[1]: Started The Apache HTTP Server. Oct 05 07:23:20 centos7 systemd[1]: Started The Apache HTTP Server. Oct 05 07:23:34 centos7 systemd[1]: Stopping The Apache HTTP Server... Oct 05 07:23:35 centos7 systemd[1]: Stopped The Apache HTTP Server. Oct 05 07:24:11 centos7 systemd[1]: Starting The Apache HTTP Server... Oct 05 07:24:12 centos7 httpd[2445]: AH00558: httpd: Could not reliably determin Oct 05 07:24:12 centos7 systemd[1]: Started The Apache HTTP Server.
末尾を最新状態で出力し続ける(tail -f)
$ journalctl -f httpd -- Logs begin at Mon 2015-10-05 06:41:58 UTC. -- Oct 05 07:32:39 centos7 systemd[1]: httpd.service: control process exited, ...=1 Oct 05 07:32:39 centos7 systemd[1]: Unit httpd.service entered failed state. Oct 05 07:32:56 centos7 systemd[1]: Starting The Apache HTTP Server... Oct 05 07:32:56 centos7 httpd[11182]: AH00558: httpd: Could not reliably de...ge Oct 05 07:32:56 centos7 systemd[1]: Started The Apache HTTP Server. Oct 05 07:33:05 centos7 systemd[1]: Stopping The Apache HTTP Server..
末尾から件数を指定して表示する(以下は10件)
$ journalctl -n 10 -- Logs begin at Mon 2015-10-05 06:41:58 UTC, end at Mon 2015-10-05 08:08:01 UTC Oct 05 08:06:13 centos7 systemd[1]: Starting Session 5 of user azureuser. Oct 05 08:06:13 centos7 systemd[1]: Started Session 5 of user azureuser. Oct 05 08:06:13 centos7 systemd-logind[570]: New session 5 of user azureuser. Oct 05 08:06:13 centos7 sshd[11236]: pam_unix(sshd:session): session opened for Oct 05 08:06:20 centos7 sudo[11264]: azureuser : TTY=pts/0 ; PWD=/home/azureuser Oct 05 08:06:20 centos7 su[11268]: (to root) azureuser on pts/0 Oct 05 08:06:20 centos7 su[11268]: pam_unix(su-l:session): session opened for us Oct 05 08:08:01 centos7 anacron[2296]: Job `cron.monthly' started Oct 05 08:08:01 centos7 anacron[2296]: Job `cron.monthly' terminated Oct 05 08:08:01 centos7 anacron[2296]: Normal exit (3 jobs run) lines 1-11/11 (END)
末尾から1000件表示する
$ journalctl -e Oct 05 06:42:48 centos7 NetworkManager[559]:(eth0): device state change Oct 05 06:42:48 centos7 NetworkManager[559]: NetworkManager state is now Oct 05 06:42:48 centos7 NetworkManager[559]: (eth0): Activation: Stage 2 Oct 05 06:42:48 centos7 NetworkManager[559]: (eth0): Activation: Stage 1 Oct 05 06:42:48 centos7 NetworkManager[559]: (eth0): Activation: Stage 2 Oct 05 06:42:48 centos7 NetworkManager[559]: (eth0): device state change lines 678-700/1001 72%
カーネルのリングバッファの内容を出力(dmesg)
$ journalctl -k -- Logs begin at Mon 2015-10-05 06:41:58 UTC, end at Mon 2015-10-05 08:08:01 UTC Oct 05 06:41:58 localhost.localdomain kernel: Initializing cgroup subsys cpuset Oct 05 06:41:58 localhost.localdomain kernel: Initializing cgroup subsys cpu Oct 05 06:41:58 localhost.localdomain kernel: Initializing cgroup subsys cpuacct Oct 05 06:41:58 localhost.localdomain kernel: Linux version 3.10.0-229.7.2.el7.x Oct 05 06:41:58 localhost.localdomain kernel: Command line: BOOT_IMAGE=/boot/vml Oct 05 06:41:58 localhost.localdomain kernel: e820: BIOS-provided physical RAM m Oct 05 06:41:58 localhost.localdomain kernel: BIOS-e820: [mem 0x0000000000000000 Oct 05 06:41:58 localhost.localdomain kernel: BIOS-e820: [mem 0x000000000009fc00 Oct 05 06:41:58 localhost.localdomain kernel: BIOS-e820: [mem 0x00000000000e0000 Oct 05 06:41:58 localhost.localdomain kernel: BIOS-e820: [mem 0x0000000000100000 Oct 05 06:41:58 localhost.localdomain kernel: BIOS-e820: [mem 0x000000001fff0000 Oct 05 06:41:58 localhost.localdomain kernel: BIOS-e820: [mem 0x000000001ffff000 Oct 05 06:41:58 localhost.localdomain kernel: BIOS-e820: [mem 0x0000000100000000 Oct 05 06:41:58 localhost.localdomain kernel: bootconsole [earlyser0] enabled
ブートログの出力
$ journalctl -b -- Logs begin at Mon 2015-10-05 06:41:58 UTC, end at Mon 2015-10-05 08:29:49 UTC Oct 05 06:41:58 localhost.localdomain systemd-journal[208]: Runtime journal is u Oct 05 06:41:58 localhost.localdomain systemd-journal[208]: Runtime journal is u Oct 05 06:41:58 localhost.localdomain kernel: Initializing cgroup subsys cpuset Oct 05 06:41:58 localhost.localdomain kernel: Initializing cgroup subsys cpu Oct 05 06:41:58 localhost.localdomain kernel: Initializing cgroup subsys cpuacct Oct 05 06:41:58 localhost.localdomain kernel: Linux version 3.10.0-229.7.2.el7.x Oct 05 06:41:58 localhost.localdomain kernel: Command line: BOOT_IMAGE=/boot/vml Oct 05 06:41:58 localhost.localdomain kernel: e820: BIOS-provided physical RAM m Oct 05 06:41:58 localhost.localdomain kernel: BIOS-e820: [mem 0x0000000000000000 Oct 05 06:41:58 localhost.localdomain kernel: BIOS-e820: [mem 0x000000000009fc00 Oct 05 06:41:58 localhost.localdomain kernel: BIOS-e820: [mem 0x00000000000e0000 Oct 05 06:41:58 localhost.localdomain kernel: BIOS-e820: [mem 0x0000000000100000 Oct 05 06:41:58 localhost.localdomain kernel: BIOS-e820: [mem 0x000000001fff0000 Oct 05 06:41:58 localhost.localdomain kernel: BIOS-e820: [mem 0x000000001ffff000 Oct 05 06:41:58 localhost.localdomain kernel: BIOS-e820: [mem 0x0000000100000000 Oct 05 06:41:58 localhost.localdomain kernel: bootconsole [earlyser0] enabled Oct 05 06:41:58 localhost.localdomain kernel: NX (Execute Disable) protection: a Oct 05 06:41:58 localhost.localdomain kernel: SMBIOS 2.3 present.
過去のブートログを出力(以下1回前のブートログ)
$ [root@centos7 ~]# journalctl -b 1 -- Logs begin at Mon 2015-10-05 10:12:42 UTC, end at Mon 2015-10-05 08:37:20 UTC Oct 05 10:12:42 localhost.localdomain systemd-journal[208]: Runtime journal is u Oct 05 10:12:42 localhost.localdomain systemd-journal[208]: Runtime journal is u Oct 05 10:12:42 localhost.localdomain kernel: Initializing cgroup subsys cpuset Oct 05 10:12:42 localhost.localdomain kernel: Initializing cgroup subsys cpu Oct 05 10:12:42 localhost.localdomain kernel: Initializing cgroup subsys cpuacct Oct 05 10:12:42 localhost.localdomain kernel: Linux version 3.10.0-229.7.2.el7.x Oct 05 10:12:42 localhost.localdomain kernel: Command line: BOOT_IMAGE=/boot/vml Oct 05 10:12:42 localhost.localdomain kernel: e820: BIOS-provided physical RAM m Oct 05 10:12:42 localhost.localdomain kernel: BIOS-e820: [mem 0x0000000000000000 Oct 05 10:12:42 localhost.localdomain kernel: BIOS-e820: [mem 0x000000000009fc00 Oct 05 10:12:42 localhost.localdomain kernel: BIOS-e820: [mem 0x00000000000e0000 Oct 05 10:12:42 localhost.localdomain kernel: BIOS-e820: [mem 0x0000000000100000 Oct 05 10:12:42 localhost.localdomain kernel: BIOS-e820: [mem 0x000000001fff0000 Oct 05 10:12:42 localhost.localdomain kernel: BIOS-e820: [mem 0x000000001ffff000 Oct 05 10:12:42 localhost.localdomain kernel: BIOS-e820: [mem 0x0000000100000000 Oct 05 10:12:42 localhost.localdomain kernel: bootconsole [earlyser0] enabled Oct 05 10:12:42 localhost.localdomain kernel: NX (Execute Disable) protection: a Oct 05 10:12:42 localhost.localdomain kernel: SMBIOS 2.3 present.
ユニット(*1)を指定してログ出力(以下はsshdのログを出力)
$ journalctl -u sshd.service -- Logs begin at Mon 2015-10-05 10:12:42 UTC, end at Mon 2015-10-05 08:37:20 UTC Oct 05 08:33:12 centos7 systemd[1]: Starting OpenSSH server daemon... Oct 05 08:33:12 centos7 systemd[1]: Started OpenSSH server daemon. Oct 05 08:33:12 centos7 sshd[833]: Server listening on 0.0.0.0 port 22. Oct 05 08:33:12 centos7 sshd[833]: Server listening on :: port 22. Oct 05 08:37:05 centos7 sshd[2004]: Accepted password for azureuser from 221.249 lines 1-6/6 (END) (*1)ユニットリストは"systemctl"で取得する。
出力フォーマット変更
【デフォルト】 $ journalctl -o short -- Logs begin at Mon 2015-10-05 10:12:42 UTC, end at Mon 2015-10-05 08:44:09 UTC Oct 05 10:12:42 localhost.localdomain systemd-journal[208]: Runtime journal is u Oct 05 10:12:42 localhost.localdomain systemd-journal[208]: Runtime journal is u Oct 05 10:12:42 localhost.localdomain kernel: Initializing cgroup subsys cpuset Oct 05 10:12:42 localhost.localdomain kernel: Initializing cgroup subsys cpu Oct 05 10:12:42 localhost.localdomain kernel: Initializing cgroup subsys cpuacct Oct 05 10:12:42 localhost.localdomain kernel: Linux version 3.10.0-229.7.2.el7.x Oct 05 10:12:42 localhost.localdomain kernel: Command line: BOOT_IMAGE=/boot/vml Oct 05 10:12:42 localhost.localdomain kernel: e820: BIOS-provided physical RAM m Oct 05 10:12:42 localhost.localdomain kernel: BIOS-e820: [mem 0x0000000000000000 Oct 05 10:12:42 localhost.localdomain kernel: BIOS-e820: [mem 0x000000000009fc00 【タイムスタンプを経過時刻とする】 $ journalctl -o short-monotonic -- Logs begin at Mon 2015-10-05 10:12:42 UTC, end at Mon 2015-10-05 08:44:09 UTC [ 1.783039] localhost.localdomain systemd-journal[208]: Runtime journal is us [ 1.783288] localhost.localdomain systemd-journal[208]: Runtime journal is us [ 0.000000] localhost.localdomain kernel: Initializing cgroup subsys cpuset [ 0.000000] localhost.localdomain kernel: Initializing cgroup subsys cpu [ 0.000000] localhost.localdomain kernel: Initializing cgroup subsys cpuacct [ 0.000000] localhost.localdomain kernel: Linux version 3.10.0-229.7.2.el7.x8 [ 0.000000] localhost.localdomain kernel: Command line: BOOT_IMAGE=/boot/vmli [ 0.000000] localhost.localdomain kernel: e820: BIOS-provided physical RAM ma [ 0.000000] localhost.localdomain kernel: BIOS-e820: [mem 0x0000000000000000- [ 0.000000] localhost.localdomain kernel: BIOS-e820: [mem 0x000000000009fc00- 【テキスト形式で出力】 $ journalctl -o export __CURSOR=s=8ca7e67e1d6c4e148686f88f496d5da7;i=1;b=f427c00d42214ff48a82c1a1d3f038 __REALTIME_TIMESTAMP=1444039962755773 __MONOTONIC_TIMESTAMP=1783039 _BOOT_ID=f427c00d42214ff48a82c1a1d3f0387d PRIORITY=6 _TRANSPORT=driver MESSAGE=Runtime journal is using 4.1M (max 33.5M, leaving 50.2M of free 330.9M, MESSAGE_ID=ec387f577b844b8fa948f33cad9a75e6 【詳細ログの表示】 $ journalctl -o verbose -- Logs begin at Mon 2015-10-05 10:12:42 UTC, end at Mon 2015-10-05 08:49:14 UTC Mon 2015-10-05 10:12:42.755773 UTC [s=8ca7e67e1d6c4e148686f88f496d5da7;i=1;b=f42 PRIORITY=6 _TRANSPORT=driver MESSAGE=Runtime journal is using 4.1M (max 33.5M, leaving 50.2M of free 330. MESSAGE_ID=ec387f577b844b8fa948f33cad9a75e6 _PID=208 _UID=0 _GID=0 _COMM=systemd-journal _EXE=/usr/lib/systemd/systemd-journald _CMDLINE=/usr/lib/systemd/systemd-journald 【JSON形式】 $ journalctl -o json { "__CURSOR" : "s=8ca7e67e1d6c4e148686f88f496d5da7;i=1;b=f427c00d42214ff48a82c1a { "__CURSOR" : "s=8ca7e67e1d6c4e148686f88f496d5da7;i=2;b=f427c00d42214ff48a82c1a { "__CURSOR" : "s=8ca7e67e1d6c4e148686f88f496d5da7;i=3;b=f427c00d42214ff48a82c1a { "__CURSOR" : "s=8ca7e67e1d6c4e148686f88f496d5da7;i=4;b=f427c00d42214ff48a82c1a { "__CURSOR" : "s=8ca7e67e1d6c4e148686f88f496d5da7;i=5;b=f427c00d42214ff48a82c1a { "__CURSOR" : "s=8ca7e67e1d6c4e148686f88f496d5da7;i=6;b=f427c00d42214ff48a82c1a { "__CURSOR" : "s=8ca7e67e1d6c4e148686f88f496d5da7;i=7;b=f427c00d42214ff48a82c1a { "__CURSOR" : "s=8ca7e67e1d6c4e148686f88f496d5da7;i=8;b=f427c00d42214ff48a82c1a { "__CURSOR" : "s=8ca7e67e1d6c4e148686f88f496d5da7;i=9;b=f427c00d42214ff48a82c1a 【JSON形式を見やすく整形】 $ journalctl -o json-pretty { "__CURSOR" : "s=8ca7e67e1d6c4e148686f88f496d5da7;i=1;b=f427c00d42214ff48 "__REALTIME_TIMESTAMP" : "1444039962755773", "__MONOTONIC_TIMESTAMP" : "1783039", "_BOOT_ID" : "f427c00d42214ff48a82c1a1d3f0387d", "PRIORITY" : "6", "_TRANSPORT" : "driver", "MESSAGE" : "Runtime journal is using 4.1M (max 33.5M, leaving 50.2M of "MESSAGE_ID" : "ec387f577b844b8fa948f33cad9a75e6", "_PID" : "208", "_UID" : "0", "_GID" : "0", "_COMM" : "systemd-journal", "_EXE" : "/usr/lib/systemd/systemd-journald", "_CMDLINE" : "/usr/lib/systemd/systemd-journald", "_CAP_EFFECTIVE" : "4402800cf", "_SYSTEMD_CGROUP" : "/system.slice/systemd-journald.service", "_SYSTEMD_UNIT" : "systemd-journald.service", "_SYSTEMD_SLICE" : "system.slice", "_SELINUX_CONTEXT" : "kernel", 【Server-Sent Events用のフォーマット】 $ journalctl -o json-sse data: { "__CURSOR" : "s=8ca7e67e1d6c4e148686f88f496d5da7;i=1;b=f427c00d42214ff48 data: { "__CURSOR" : "s=8ca7e67e1d6c4e148686f88f496d5da7;i=2;b=f427c00d42214ff48 data: { "__CURSOR" : "s=8ca7e67e1d6c4e148686f88f496d5da7;i=3;b=f427c00d42214ff48 data: { "__CURSOR" : "s=8ca7e67e1d6c4e148686f88f496d5da7;i=4;b=f427c00d42214ff48 data: { "__CURSOR" : "s=8ca7e67e1d6c4e148686f88f496d5da7;i=5;b=f427c00d42214ff48 data: { "__CURSOR" : "s=8ca7e67e1d6c4e148686f88f496d5da7;i=6;b=f427c00d42214ff48 data: { "__CURSOR" : "s=8ca7e67e1d6c4e148686f88f496d5da7;i=7;b=f427c00d42214ff48
出力順序を新しい順に出力
$ journalctl -r -- Logs begin at Mon 2015-10-05 10:12:42 UTC, end at Mon 2015-10-05 08:49:14 UTC Oct 05 08:49:14 centos7 ntpd[1992]: 0.0.0.0 c618 08 no_sys_peer Oct 05 08:49:12 centos7 systemd[1]: Time has been changed Oct 05 08:49:12 centos7 ntpd[1992]: 0.0.0.0 c61c 0c clock_step -0.410329 s Oct 05 08:49:12 centos7 ntpd[1992]: 0.0.0.0 c612 02 freq_set kernel -419.899 PPM Oct 05 08:47:51 centos7 systemd[1]: Started Cleanup of Temporary Directories. Oct 05 08:47:50 centos7 systemd[1]: Starting Cleanup of Temporary Directories... Oct 05 08:44:09 centos7 sshd[2071]: Connection closed by 31.44.67.187 [preauth]
ページング機能無効(lessっぽい表示を無効にする)
$ journalctl --no-pager -- Logs begin at Mon 2015-10-05 10:12:42 UTC, end at Mon 2015-10-05 09:04:24 UTC. -- Oct 05 10:12:42 localhost.localdomain systemd-journal[208]: Runtime journal i... Oct 05 10:12:42 localhost.localdomain systemd-journal[208]: Runtime journal i... Oct 05 10:12:42 localhost.localdomain kernel: Initializing cgroup subsys cpuset Oct 05 10:12:42 localhost.localdomain kernel: Initializing cgroup subsys cpu Oct 05 10:12:42 localhost.localdomain kernel: Initializing cgroup subsys cpuacct Oct 05 10:12:42 localhost.localdomain kernel: Linux version 3.10.0-229.7.2.e...5 Oct 05 10:12:42 localhost.localdomain kernel: Command line: BOOT_IMAGE=/boot...6 Oct 05 10:12:42 localhost.localdomain kernel: e820: BIOS-provided physical R...: Oct 05 10:12:42 localhost.localdomain kernel: BIOS-e820: [mem 0x000000000000...e Oct 05 10:12:42 localhost.localdomain kernel: BIOS-e820: [mem 0x000000000009...d Oct 05 10:12:42 localhost.localdomain kernel: BIOS-e820: [mem 0x00000000000e...d Oct 05 10:12:42 localhost.localdomain kernel: BIOS-e820: [mem 0x000000000010...e Oct 05 10:12:42 localhost.localdomain kernel: BIOS-e820: [mem 0x000000001fff...a Oct 05 10:12:42 localhost.localdomain kernel: BIOS-e820: [mem 0x000000001fff...S Oct 05 10:12:42 localhost.localdomain kernel: BIOS-e820: [mem 0x000000010000...e Oct 05 10:12:42 localhost.localdomain kernel: bootconsole [earlyser0] enabled Oct 05 10:12:42 localhost.localdomain kernel: NX (Execute Disable) protectio...e Oct 05 10:12:42 localhost.localdomain kernel: SMBIOS 2.3 present.
ログレベルに準じたフィルタ出力(以下は4:warning)
【名称】 $ journalctl -p warning -- Logs begin at Mon 2015-10-05 10:12:42 UTC, end at Mon 2015-10-05 09:04:24 UTC Oct 05 10:12:42 localhost.localdomain kernel: ACPI: RSDP 00000000000f56f0 00014 Oct 05 10:12:42 localhost.localdomain kernel: ACPI: RSDT 000000001fff0000 00040 Oct 05 10:12:42 localhost.localdomain kernel: ACPI: FACP 000000001fff0200 00081 Oct 05 10:12:42 localhost.localdomain kernel: ACPI: DSDT 000000001fff1724 02E78 Oct 05 10:12:42 localhost.localdomain kernel: ACPI: FACS 000000001ffff000 00040 Oct 05 10:12:42 localhost.localdomain kernel: ACPI: WAET 000000001fff1480 00028 Oct 05 10:12:42 localhost.localdomain kernel: ACPI: SLIC 000000001fff14c0 00176 Oct 05 10:12:42 localhost.localdomain kernel: ACPI: OEM0 000000001fff16c0 00064 【数値】 $ journalctl -p 4 -- Logs begin at Mon 2015-10-05 10:12:42 UTC, end at Mon 2015-10-05 09:04:24 UTC Oct 05 10:12:42 localhost.localdomain kernel: ACPI: RSDP 00000000000f56f0 00014 Oct 05 10:12:42 localhost.localdomain kernel: ACPI: RSDT 000000001fff0000 00040 Oct 05 10:12:42 localhost.localdomain kernel: ACPI: FACP 000000001fff0200 00081 Oct 05 10:12:42 localhost.localdomain kernel: ACPI: DSDT 000000001fff1724 02E78 Oct 05 10:12:42 localhost.localdomain kernel: ACPI: FACS 000000001ffff000 00040 Oct 05 10:12:42 localhost.localdomain kernel: ACPI: WAET 000000001fff1480 00028 Oct 05 10:12:42 localhost.localdomain kernel: ACPI: SLIC 000000001fff14c0 00176 Oct 05 10:12:42 localhost.localdomain kernel: ACPI: OEM0 000000001fff16c0 00064 ※以下のレベルで取得可能 0:emerg 1:alert 2:crit 3:err 4:warning 5:notice 6:info 7:debug
OS、NW設定系
ホスト名の確認($ hostnameでも可)
$ hostnamectl Static hostname: centos7 Icon name: computer-desktop Chassis: desktop Machine ID: 99f30b6b81444d47a888f0313c428bd8 Boot ID: 223d220ec8404003bd4330e609c14bb8 Virtualization: microsoft Operating System: CentOS Linux 7 (Core) CPE OS Name: cpe:/o:centos:centos:7 Kernel: Linux 3.10.0-229.7.2.el7.x86_64 Architecture: x86_64
ホスト名の変更
$ hostnamectl set-hostname new_hostname
全ての起動インターフェース情報
$ /sbin/ip a 1: lo:mtu 65536 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 00:0d:3a:40:32:5b brd ff:ff:ff:ff:ff:ff inet 100.74.2.48/23 brd 100.74.3.255 scope global eth0 valid_lft forever preferred_lft forever inet6 fe80::20d:3aff:fe40:325b/64 scope link valid_lft forever preferred_lft forever
インターフェースを指定した情報表示
$ /sbin/ip a s dev eth0 2: eth0:mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 00:0d:3a:40:32:5b brd ff:ff:ff:ff:ff:ff inet 100.74.2.48/23 brd 100.74.3.255 scope global eth0 valid_lft forever preferred_lft forever inet6 fe80::20d:3aff:fe40:325b/64 scope link valid_lft forever preferred_lft forever
ルーティングテーブルの表示
$ /sbin/ip r default via 100.74.2.1 dev eth0 proto static metric 100 100.74.2.0/23 dev eth0 proto kernel scope link src 100.74.2.48 metric 100 100.74.96.90 via 100.74.2.1 dev eth0 proto dhcp metric 100
デフォルトゲートウェイの追加
$ /sbin/ip r a default via 100.74.2.1
デフォルトゲートウェイの削除
※注意 不用意に実施すると環境によってはログインできなくなります。 デフォルトルートを新規に作成して試すようにして下さい。 $ /sbin/ip r d default via 100.74.2.1
インターフェースの統計情報
$ ip -s l 1: lo:mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 RX: bytes packets errors dropped overrun mcast 0 0 0 0 0 0 TX: bytes packets errors dropped carrier collsns 0 0 0 0 0 0 2: eth0: mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000 link/ether 00:0d:3a:40:32:5b brd ff:ff:ff:ff:ff:ff RX: bytes packets errors dropped overrun mcast 656441 1799 0 0 0 0 TX: bytes packets errors dropped carrier collsns 345956 2327 0 0 0 0
ARPテーブル表示
$ /sbin/ip n 100.74.2.80 dev eth0 lladdr f4:52:14:53:52:50 REACHABLE 100.74.2.1 dev eth0 lladdr 88:f0:31:c1:63:7c REACHABLE
ユーザーモード、起動モード系
シングルユーザモードへ移行
※注意 不用意に実施すると再度ログインできなくなります。 もしやってしまった場合は、コンソールから再起動してください。 試す前にランレベル1でも対応できるようにしておくといいです。 Linux - ターミナル接続できない仮想マシンでシングルユーザーモード作業するには - Qiita $ systemctl rescue Broadcast message from usernema@hostname on pts/0 (Tue 2015-10-06 00:04:26 UTC): The system is going down to rescue mode NOW!
マルチユーザーモードへ移行
$ systemctl default
ランレベルの変更
【起動モード】 $ systemctl isolate target_name 【標準起動モード】 $ systemctl set-default target_name target_nameは以下を参照 0 システム停止 poweroff.target 1 シングルユーザモード rescue.target 3 マルチユーザモード multi-user.target 5 グラフィカルモード graphical.target 6 再起動 reboot.target N/A 緊急モード emergency.target
Linux触り始めて頃はSysV Initコマンドもチンプンカンプンでしたが、慣れれば勝手に手が動くようになっていました。
同じ事だしこれからは主流になっていくと思うので、これから自分で作るサーバは全てVer.7で作ろう。
Azureの Web AppsにFTP接続
WordpressをAzure WebAppsへ移行するのを個人的に頼まれ、Wordpresのメディア(画像系)の
アップロードをちまちまWebUIでやるのはしんどいので、FTPが使えるらしいので試してみた。
1.Azureコンソールへ接続し、アップロード対象のWebアプリを選択し、「デプロイ資格情報を設定する」をクリックする。
2.ユーザー名とパスワードを入力し、チェックをクリックする。
5.接続情報の入力画面が出るので先ほど控えたデプロイ/FTPユーザーと設定したパスワードを入力する。
6.Web接続できることを確認する。
8.接続情報の入力画面が再度出るので情報を入力する。
9.エクスプローラーで開くことを確認する。
【勉強会】第18回オワスプナイト
OWASP Japan主催のオワスプナイトに初参加したのでメモを残しておきます。
* Outreach Activities - S Nakata
元 Webの脆弱生診断員
現 コンサルタント OWASPプロモーションリーダー
今日のお話
・OWASP Japan対外的活動の共有
・OWASPのドキュメント類の紹介
【対外的活動の共有】
OWASP Japanブログを始めた
イベントの参加やオワスプナイト開催の通知等を長文で解説する
【ここ最近の活動】
本日のデブサミにブースを出展しその足でここに来た
JFT2015(ブースとショートプレゼンで参加)
石切山さんがプレゼンテーション
某社とコラボレーション企画を考えている。
【OWASPのドキュメント類の紹介】
OWASPドキュメントの使いどころ
・要件定義フェーズ
WebシステムWebアプリケーションセキュリティ要件書
・設計・開発フェーズ
OWASP Proactive Controls
OWASP TOP10で定義したリスクを事前に防ぐ方法をまとめたもの
OWASP ASVS
後のセッションで説明
OWASP Cheat Sheet Series(33種類、14準備中)
テクニカル要素(あるべき論)を纏めたもの
・テストフェーズ
OWASP Zed Attack Proxy (ver2.4.0)
日本語UIが多くなった
アタックモード(web遷移するとアクティブスキャンをかってにかける)
・運用保守フェーズ
OWASP Testing Project
テスト手法を纏めたもの
OWASP ModSecurity Core Rule Set Project
modsecurityに関するもの
OWASP AppSensor Project
侵入検知とそれに対するレスポンス応答を同時におこなう
OWASP Dependency Check
使っているライブラリに脆弱性がないかをチェック
その他
OWASP TOP10
Mobile Top Ten
Internet of Things Top Ten
リスクと対策を纏めたもの
OWASP Snakes and Ladders(twitterbotが存在)
OWASP TOP10のリスクと対策をスゴロクで遊べる
OWASP Proactive Controlsを日本語訳した。(公開準備中)
* Hardening Project 2015 - Hardening 10 Market Place Inside Story - N Takanori
OA機器メーカ勤務
【Hardening Projectとは】
ITシステムの総合運用能力を競うイベント
ビジネス継続をふまえた守りに特化したもの
6/20,21に沖縄宜野湾市(コンベンションセンター)で開催
20日は競技主体のHardeningday
21日は振り返り&表彰のsoftningdaywasforum.jp
ロゴの意味は灼熱のHardeningdayと祝福のsoftningdayで
色がそれぞれ分かれている。
Hardening Project 2015コンセプトロゴです。 pic.twitter.com/wxNibVanXK
— Hardening Project (@WASForum) 2015, 6月 17
Hardening競技とは
テーマはマーケットプレイスの活用
・インシデントレスポンス
・可用性
・パフォーマンスチューニング
・在庫管理
これらをうまく8時間で回していく。
実行委員の川口さんが@ITに競技の模様をコラムとして書いている。www.atmarkit.co.jp
【コラムに書いてないこと】
マーケットプレイスの商品は?
プラットフォームサービス、プロダクト、アウトソーシング、コンサルティング、分析解析、構築サービス
これらを使ってECサイトをうまく回していく(可用性を保ってDoS回避とか)
マルウェアの回避はプロダクト内のWAFだったりセキュリティ対策ソフトを使って対処
※うまく使っていたチームは少なかった印象
応募選考があり、MAX40名を想定していた。
スーパーアリーバードで十数名を想定。
金曜夜にスーパーアリーバードを募集して日曜の昼に締め切りで40名のうち過半数を超える応募
急遽、アーリーバードを廃止して選考しようとしたが、その後も応募が多数。
VM数が350超え、VLANIDも100を超えるシステムでの競技になった。
Hardening 10 marketplace, スーパーアーリーバードに期待値を超える申し込みをいただきました! 実行委員会で熟慮の結果、Early Birdsを無くすことにしました。 Birdsで申し込んで下さい!
— Youki Kadobayashi (@youki10) 2015, 4月 26
競技環境内はLBに繋がれた3台のECサイトやDB、サポート端末といったものが用意され、
これらをうまく管理しさまざまな攻撃に対処する。
これらのサイトはTomcat、wordpress、stratsといったもで構成されている。
Tomcat、wordpressのプラグインは脆弱性対策されているが、インジェクション対処をしない
チームがほとんどであった。
簡単に対策できるところだと思うのできっちりやってほしい。
手軽に確認できる方法としてSecurity Ninjas AppSec Training Programがある。
dockerコンテナで脆弱性のあるWebページが用意されている。
OWASP TOP10の項目に紐付いたWebページとなっておりクイズ形式で進められる。
OWASP TOP10の脆弱性項目を簡易的に体験できる。
Mini Hardening Project 1.2が8月に開催される(1.0や1.1に参加されていない方が対象)
3時間程度のライトなHardening競技でこちらで腕を試して12月の本戦にお越し頂きたい。minihardening.connpass.com
ざっくり分かるインシデントレスポンス M Tamaki
以下2点のお話し。
・最近のWebサイトに対する脅威
・Webアプリケーションエンジニアからみたインシデントレスポンス
最近のWebサイトに対する脅威
2015年7月だけでも脅威が9つもある。
攻撃者の目的は攻撃用インフラとして使うものや情報を搾取するケースとして分類できる
被害者は企業ではない、Webサイトの利用者である
企業としては利用者に対し情報を提供することが大事
対策責任の所在
利用者の問題というものはあまりない
パスワードリスト攻撃にしても運営者が強固なパスワードや認証手段を用意すればよい
運営者が責任もって対処すべきである
とはいっても脆弱性ってそんな簡単に対処できない
ゼロデイ脆弱性トップ5のパッチ適応される期間がどんどん伸びている
→対処が難しい
攻撃までの期間が早い
→シマンテックレポートでは脆弱性が明らかになって4時間で攻撃開始されるものもある
対処が難しい
パッチ適用のためのサイト停止が難しい
インシデントレスポンスの必要性
適応できないから何か起こった場合、チェックして見つけて対処する必要がある
脆弱性を防いで、攻撃されないようにするのは難しい
攻撃される事を前提で、それをいかに検知し対処できるか
Webアプリケーションエンジニアの方はそれらを理解して行動しなくてはいけない
Webアプリケーションエンジニアは何をすべきか
インシデント発生時、CSART体制(想定)で活動すると思われるが、Webアプリケーション開発者及び
Webサイト管理者はインシデントに対する調査や対応、復旧の実働者
インシデントレスポンスの一般的なライフサイクル
準備 → 検知・分析 → 封じ込め・根絶・復旧 → 事後活動
これらのカテゴリ内でWebアプリケーションエンジニアがやるべき事
準備:サイト情報の整理、検知策導入、監視、予防対策 <平時>
検知・分析:インシデント初期調査、調査結果の報告、セキュリティ専門業者とのやり取り <有事>
封じ込め・根絶・復旧:初動対応、対策の実施、サイトの復旧 <有事>
事後活動:改善の協力 <平時>
検知・分析
・エラーログアクセスログを見る
・改ざんされることを想定し差分を取っておく
・MD5やSHA1といったハッシュ値でチェックする
・日付を見ておく
・NW設定を見る(変更されてないか)
・アカウントの確認
・ジョブスケジューラの確認
・DNSとかARPの設定確認
やらないといけない事がたくさんある
焦ってはいけないけど急ぐ
Webサーバのログチェック観点
存在以内ファイルや埋め込みコード、LB内すべてを対象とするとか
報告
調査の結果は必ずCSIRT(責任者)へ報告
Webアプリケーションエンジニアはあくまで手を動かすこと
電話での報告
VoIPとかだと攻撃者が盗聴しているかも
メールでの報告
スニッフされているかも
報告も気をつける必要がある
ログ確認時も注意が必要
エビデンスが汚染される(アクセスによって履歴が変わる)
調査履歴を取ることが必要
調査結果の報告で忘れがちな事
専門家に規定頂いた時の入室管理やアクセス権の扱い
調査場所がDCである場合とかは事前に入館申請を出すとか忘れがち
封じ込め・根絶・復旧
気をつけるべき事としては、対処した時に変わる情報を押さえておく(報告と同様)
自分が管理しているサイトにどのくらいの売り上げや重要度があるのか
これにより対処したいが出来ないこともある
ECサイトのセール等で止める事ができないようなこともあるのでスケジューリング大事
CSIRT責任者が把握していればいいということも考えられるが、Webアクリケーション
エンジニアは実際のアクセス量や対策の問題点を把握しているので説得力がある
対策の実施
バックアップから復旧すると完全に直らない場合がある。
古くから発生しているインシデントもある。(履歴管理をすること)
復旧後に脆弱性が完治している事を確認、それをもって公開する
まとめ
インシデントレスポンスは重要だけど実際に実施すると大変なことが多い
チートシートはログのチェック項目や観点が書いてあり参考になる
インシデントレスポンスのフォーマットもある
Application Security Verification Standard (ASVS) Project 3.0 preview - R OKADA
アプリケーションセキュリティ検査/検証の標準化というプロジェクト(2009年頃から)がOWASPにある。
アプリケーション検査における象徴的な絵
「思った通りに動いてる」とは何か?
思った通りに動いているという事をテストするときに
・ソフトウェアの脆弱性、ビジネスロジックの話をいかに網羅しているかを定義
・リスクに対して十分なテストをしているという定義
これら以外に難しい。
このような背景からOWASPでは標準化するという活動をしている
検査:第三者的なイメージ
検証:Verificationを翻訳すると「自分でverifyする」という主体的な意味合いもあるし、
既に起きているものを検査するという意味もある
文脈に応じて使い分ける(誤解を招く可能性あり)
OWASP TOP10
重要リスクの普及啓発するツール
しかし、検査しなくてはならない項目としては明らかに不十分
検査しなくてはならない項目を網羅的にしたドキュメントではない
注意事項にはASVSをガイドすることの明記がある。
開発者向けのメッセージにもASVSをセキュリティ標準とする事が明記されている。
ASVS 1.0のあまりよくなかったとこ
検査レベルを1〜4まで設けていた
ツールで出来るテストの範囲とツールで出来ない範囲のテストを厳密に定義した
どのようにテストするか?何をテストするか?の両方が書かれてしまっている
そのため身動きが取れにくくなってしまっていた
ASVS 2.0
シンプルなセキュリティレベルが定義された。
Level 0:テストしてない
Level 1:すぐに見つかるレベル
Level 2:標準レベル
Level 3:より進んだテストを実施
それ以上:外部とのモジュール接続等標準化しにくいもの
どのようにテストするかではなく、どのような項目をテストするかが書かれている
13項目からなる検査要件
Vxxで表現(xxは数字)
V2. Authentication
V3. Session Management
・
・
・
V17. Mobile
Version 3.0が7月にPreview版がでた
大項目が3つ増えた
V18. Web services (NEW for 3.0)
V19. Configuration (NEW for 3.0)
V20. Client side Security (NEW for 3.0)
議論の場はGitHubで行われる
issueベースで議論github.com
レベルはどのように決めるのか?
このシステムはレベル1でOKのような使い方、このシステムはレベル2は必要みたいな。
付録ページにあらゆる業種で使われるシステムで定義に応じたレベル分けをしており、
リスクの仕分けに使える
標準の使い方
宣伝文句に惑わされない(XX社製品よりできますとか)
開発会社の選定(レベル2以上の技術が必要とか)
使いどころ
経営層にアプローチ
開発中のシステムに照らし合わせてみる
セキュリティに関係ない方、学生さん
セキュリティを学ぶツールとして利用できる
セキュリティ上の原則に基づくテクニックが学べる
www.slideshare.net
参考Web 第18回 オワスプナイトまとめ #owaspjapan togetter.com @okdtさんのツイートOWASP Nightで投影すればよかったビデオがありました Promotional Video for AppSec USA 2015 - Highlights from 2014 https://t.co/mjRTLM47HN #owaspjapan
— riotaro okada (@okdt) 2015, 7月 30
うるう秒まで あと2日!
明後日(2015年7月1日)に挿入される「うるう秒」に対して各社の対応を纏めてみました。
うるう秒について説明もそんなに必要ないと思いますが、独立行政法人 情報通信研究機構(NICT)からプレス
リリースがでていますのでこちらを見て頂ければ分かると思います。
プレスリリース | 「うるう秒」挿入のお知らせ | NICT-情報通信研究機構
IaaS関連
【AWS】
EC2について
AWS側でインスタンス内部の時刻同期は管理しないのでNTPを利用する事を推奨。
AWSが提供するAMIはデフォルト設定でtime.windows.comやntp.orgに同期を取るように
設定されている。
但し、保証は出来ないのでOSベンダ対応を確認することを強く推奨。
マネージメントコンソールやAWSにおけるバックエンドシステムについて
うるう秒に未対応。
ログ取得サービス(Cloudtrail等)のログに「:60」といった記録は残らない
【Azure】
具体的な見解は見当たらず利用者側も注意しておいた方が良いという記載です・
※不安な方はサポートに問い合わせることをおすすめします。
今年は7/1にうるう秒が挿入されるようです。 : Microsoft Azure 情報メディア「AZURE WAVE」
MS製品の対応の記載もありましたので記載しておきます。
http://smallbusiness.support.microsoft.com/ja-jp/kb/2722715
【GCP】
Googleは1秒を反復するのではなく、余分な1秒をわかりにくくして消してしまう処理する。
20 時間後には、うるう秒が完全に加えられ、ぼかしの入らない時間と同期する。
Google Cloud Platform Japan 公式ブログ: うるう秒がやって来る!〜 6 月 30 日の ” 1 秒”に備えよう〜
【Softlayer】
Softlayerとしての公式見解は見つかりませんでしたが、Softlayer上に乗っている思われる
IBM Platform Computing製品は、うるう秒の影響は受けないとの記載があります。
※不安な場合はサポートへの問合せをおすすめします。
IBM 2015年うるう秒に関するガイド - Japan
【Cloudn】
7/1までに基盤ににてslewモードを利用して、うるう秒に対応する公式発表が出ています。
うるう秒挿入に対するCloudnの対応状況・およびお客様へのお願い | クラウド・エヌ・インフォメーション
【GMOクラウド】
影響有りの可能性があるとの公式見解が出ています。vps.gmocloud.com
【ニフティクラウド】
回避策の提示が公式見解で出ています。
http://info.biz.nifty.com/cloud/20150601_pls.pdf
【ビットアイルクラウド】
powerd by ニフティクラウドで提供しているので、基本的にはニフティクラウドの
見解に準ずるとのことです。
2015年7月のうるう秒対応につきまして | ビットアイルクラウド Nシリーズ Information
【Akamai】
アカマイはシステムの障害を未然に防げるよう”Leap Smear”技術を使って回避する
との公式見解が出ています。
Login | Akamai
※上記URLはログイン要
【EMC】
製品別にナレッジを公式に出しています。
EMC Community Network - ECN: 2015年7月1日うるう秒問題
【トレンドマイクロ】
製品によってはハングアップする可能性がある事を公式見解で出しています。
サポート情報 : トレンドマイクロ
影響を受ける製品は以下
InterScan Messaging Security Virtual Appliance 8.x
Trend Micro Threat Discovery Appliance / Deep Discovery / Inspector All
Deep Discovery Email Inspector 2.0
Network VirusWall Enforcer All
ServerProtect for Linux 3.0
InterScan Web Security Virtual Appliance 5.6
InterScan Messaging Security Suite 7.0
【シマンテック】
Symantec Mail Security製品について記載がありました。
Symantec Mail Security製品では、うるう秒の挿入により製品の動作に影響を与えるような
障害はないという公式見解が出ています。
Symantec - Symantec Mail Security 製品がサマータイムやうるう秒に対応しているか確認したい
※上記以外の製品についてはサポートでご確認頂く事を推奨します。
【Oracle】
Oracle社からうるう秒に対しての公式見解は見つかりませんでした。
NTTデータ先端技術株式会社さんがOracle製品のうるう秒に関して触れています。
Oracle 製品 (DB、WLS、BI) のうるう秒に対する対応について | NTTデータ先端技術株式会社
※Oracle社の公式見解ではないのでご注意ください。
【SQL Server】
うるう秒に伴うシステム時刻のずれ(1秒間)が発生したとしても、それがSQLServerの動作自体に
影響を与える事はないという公式見解が出ています。
うるう秒に関するサポートについて
【DB2】
影響を示唆する公式見解が出ています。
IBM [DB2 LUW] うるう秒が DB2 に与える影響 - Japan
【MySQL】
MySQL5.6リファレンスマニュアルに記載がありました。
MySQL :: MySQL 5.6 リファレンスマニュアル :: 10.6.2 タイムゾーンのうるう秒のサポート
【Postgresql】
9.3のドキュメントに「技術的には、SQLはうるう秒を制御しない」との記載がありました。
https://www.postgresql.jp/document/9.3/html/functions-datetime.html
【その他参考ブログ】 うるう秒まとめ - めもおきば 2015うるう秒対策!WindowsもLinuxも任せろ! うるう秒挿入後に Leap Second Insertion フラグを削除する - Red Hat Customer Portal Javaとうるう秒 | DAブログ
【メモ】LXDを少し触ってみた
気になってたLXDを少し触ってみましたのでメモを残しておきます。
LXDって何? は以下を見てもらうと分かりやすいです。
Linux Containers - LXD - イントロダクション
まず、コンテナ上にOSを立ち上げるところを試してみました。
どんな環境でもいいのですが、Azure上にubuntuを立ち上げてその上でLXDを
動かしました。
#cat /etc/issue
Ubuntu 14.10 \n \l
リファレンスを見るとPPA を使うことを推奨しているようなので従います。
# add-apt-repository ppa:ubuntu-lxc/lxd-git-master # apt-get update # apt-get install lxd
次にイメージのインポートです。
【ubuntu】 # lxd-images import lxc ubuntu testubuntu amd64 --alias ubuntu 【centos6】 # lxd-images import lxc centos 6 amd64 --alias centos6
落としたイメージを確認できます。
# lxc image list +---------+--------------+--------+-------------+--------+-------------------------------+ | ALIAS | FINGERPRINT | PUBLIC | DESCRIPTION | ARCH | UPLOAD DATE | +---------+--------------+--------+-------------+--------+-------------------------------+ | ubuntu | 04aac4257341 | no | | x86_64 | Jun 22, 2015 at 10:35am (UTC) | | centos6 | afae698680fc | no | | x86_64 | Jun 24, 2015 at 1:14am (UTC) | +---------+--------------+--------+-------------+--------+-------------------------------+
イメージから指定のOSでコンテナを起動する。
ロードしたいOSのALIASの名称をlaunchの後にいれ、コンテナ名(任意)を入力する 【ubuntu】 # lxc launch ubuntu testubuntu 【centos】 # lxc launch centos6 testcentos6
即立ち上がるので立ち上がったコンテナ一覧を出します。
# lxc list +-------------+---------+------------+------+-----------+-----------+ | NAME | STATE | IPV4 | IPV6 | EPHEMERAL | SNAPSHOTS | +-------------+---------+------------+------+-----------+-----------+ | testcentos6 | RUNNING | 10.0.3.194 | | NO | 0 | | testubuntu | RUNNING | 10.0.3.107 | | NO | 0 | +-------------+---------+------------+------+-----------+-----------+
あとはコンテナに対し自由にコマンド入力できます。
# lxc exec testcentos6 -- uname -a Linux testcentos6 3.16.0-39-generic #53-Ubuntu SMP Tue May 26 09:38:21 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux # lxc exec testcentos6 -- cat /etc/issue CentOS release 6.6 (Final) Kernel \r on an \m # lxc exec testubuntu -- uname -a Linux testubuntu 3.16.0-39-generic #53-Ubuntu SMP Tue May 26 09:38:21 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux # lxc exec testubuntu -- cat /etc/issue Ubuntu 14.04.2 LTS \n \l
コンテナの内部でshellも打てます。
# lxc exec testcentos6 -- /bin/bash [root@testcentos6 ~]# pstree init-+-dhclient |-2*[mingetty] `-rsyslogd---2*[{rsyslogd}]
コンテナを停止させます。
# lxc stop testubuntu # lxc list +-------------+---------+------------+------+-----------+-----------+ | NAME | STATE | IPV4 | IPV6 | EPHEMERAL | SNAPSHOTS | +-------------+---------+------------+------+-----------+-----------+ | testcentos6 | RUNNING | 10.0.3.194 | | NO | 0 | | testubuntu | STOPPED | | | NO | 0 | +-------------+---------+------------+------+-----------+-----------+
停止したコンテナを起動させます。
# lxc start testubuntu # lxc list +-------------+---------+------------+------+-----------+-----------+ | NAME | STATE | IPV4 | IPV6 | EPHEMERAL | SNAPSHOTS | +-------------+---------+------------+------+-----------+-----------+ | testcentos6 | RUNNING | 10.0.3.194 | | NO | 0 | | testubuntu | RUNNING | 10.0.3.107 | | NO | 0 | +-------------+---------+------------+------+-----------+-----------+ 一連の流れは問題なくできそうです。 今のところ情報が少ないのでDocker(LXC)のほうが取っ付きやすい感じがしますが もう少しLXDを追っかけてみようと思います。 ubuntuで有名な Canonical Ltd が商用盤として保守をされているようです。 www.canonical.com LXDについて話されている動画もありました。 insights.ubuntu.com参考Webサイト [lxd] - TenForwardの日記 Ubuntu 15.04とLXDではじめるコンテナ型仮想化 | 株式会社インフィニットループ技術ブログ lxc/lxd · GitHub