security

A collection of 13 posts
I changed my 1Password account to family type
1password

I changed my 1Password account to family type

私はパスワードの管理に 1Password を使用しています。 1Password は個人向けやエンタープライズ向け等いくつかの種類があり、今までは個人向けのプランを使用していました。そして最近個人向けプランからファミリープランに変更しました。 👪 * 家族を安全に守るためのパスワードマネージャー | 1Password 感想などメモしていく。 ちなみに以前 1Password を買い切り版からサブスクリプション版に変更した際の記事は以下です (2 年以上経つのか…)。 * 1Passwordを買い切り版からライセンス版に移行しました ファミリープランに変更した理由 といっても 2 つしかないですが…。 マネーフォワード ME のアカウントを共有したかったから これが一番の動機です。 💰 現在妻と二人で暮らしているのですが、生活費や諸々のお金の動きを見える化したくなりました。私は元々マネーフォワード ME を使用しておりかつプレミアム会員なので、いい感じに可視化ができているのですが、個人ではなく世帯としての支出もいい感じに見えるように
3 min read
Identity of mysterious login to my bank was household accounts application
security

Identity of mysterious login to my bank was household accounts application

今朝、「ゆうちょ銀行からのご連絡」という件名でメールが来ていて、内容は このたびは、ゆうちょダイレクトをご利用いただき、誠にありがとうございます。 合言葉の入力に成功し、ログインが完了いたしましたので、お知らせいたします。 というものでした。身に覚えのないログインだったので一瞬焦ったのですが、家計簿アプリによるものだったので一安心。 この現象にはびっくりする人は多いようで、マネーフォワードの FAQ にも記載がありました。 * 金融機関・サービス連携|FAQ|家計簿アプリ「マネーフォワード」 FAQ にあるように、金融機関からのログイン完了メールがきた時間と、マネーフォワードの金融機関設定画面からデータの最終取得日を突き合わせることでマネーフォワードからのログインであったかどうかを判断できます。 * https://moneyforward.com/accounts こんな感じで確認できます。 感想 たまにしか発生しないので(金融機関へのセッションが切れたタイミング?)、割りと心臓に悪い。 😱 のでメモしました。 謎
1 min read
Respond to Intel chip vulnerability on DigitalOcean
digitalocean

Respond to Intel chip vulnerability on DigitalOcean

年明け早々大きな脆弱性が発表されましたね。 * Meltdown and Spectre * CPUの脆弱性 MeltdownとSpectreについてまとめてみた このブログは DigitalOcean 上で動いているのですが、 DigitalOcean ではどのような対策が取られているのでしょうか。 公式ブログに記事が上がっていました。 * A Message About Intel Security Findings 読んでみると * Intel やその他ハードウェアベンダーと協力して対策を進めている * 1月9日時点では、 DigitalOcean に当てるパッチの検証をしている * カーネル側で対応するためのアップデートが各ディストリビューションから出ているので、まずはそれを適用して対策してほしい * そのために全ての Droplet で内部カーネルを使えるように設定した と言った感じでした。1月10日現在、まだ DigitalOcean 本体の作業は終わっていないみたいですね。 さて、内部カーネルってなんだという話ですが、これは
1 min read
TCP 3 Way Handshake and TLS Full Handshake
network

TCP 3 Way Handshake and TLS Full Handshake

最近プロフェッショナルSSL/TLSを少しずつ読んでいます。 一章と二章を読み終わったところで、二章の TLS フルハンドシェイクについて整理してみたくなったので整理します。 また、 TLS より下位レイヤーの TCP 3 ウェイハンドシェイクについても併せて整理してみます。 TLS フルハンドシェイクまでのおおまかな流れ 1. クライアントとサーバが TCP 3 ウェイハンドシェイクを行い TCP コネクションを確立する * TCP のペイロード(送信先情報など通信に必要なヘッダを除いたパケット部分)にデータ(より上位のプロトコル等)を乗せて通信できるようになる 2. TCP コネクション上で TLS フルハンドシェイクを行い TLS コネクションを確立する TCP 3 ウェイハンドシェイク TCP は OSI 参照モデルで言うところのトランスポート層(第 4 層)に当たる。 3 ウェイの名前の通り、 3 方向のやり取りを行っている。 3ウェイ・
3 min read
DigitalOcean released Cloud Firewalls
digitalocean

DigitalOcean released Cloud Firewalls

DigitalOceanにマネージドなファイアウォールが追加されました! ✨ * Cloud Firewalls: Secure Droplets by Default 管理画面やAPIから設定できるファイアウォールで、設定はDigitalOceanのネットワーク層で適用されます(フィルタされたパケットはドロップレットまで届かない)。 この機能によってドロップレット毎にiptablesやfirewalldを設定する必要がなくなるのがうれしいですね。 sourceもしくはdestinationにはIPv4, IPv6, タグ, ドロップレット, ロードバランサを指定することができます。tagを指定することで楽かつ柔軟にスケールできそうですね。 terraformでも近いうち実装されそう。 * resource_digitalocean_firewall.go: Add DO Cloud Firewalls (#15124) by keinohguchi · Pull Request #1 · terraform-providers/terraform-p
1 min read
Visualize illegal ssh access attempts and access source
sshd

Visualize illegal ssh access attempts and access source

/var/log/secureをBigQueryに送り始め、sshdへのアクセスがあるIPアドレスを多い順に集計してみたりしています。 * Send secure log to BigQuery * Visualization of IP address accessing sshd 今回は日毎にssh接続の試行失敗回数を集計して、それに対するIPアドレスの内訳も出してみます。 こんなクエリを作成してみます。 SELECT LEFT(FORMAT_UTC_USEC(UTC_USEC_TO_DAY(time * 1000000)), 10) AS day, COUNT(ident) AS count_ident, REGEXP_EXTRACT(message, r'(\d{1,3}\.\d{1,3}\.\d{1,3}
1 min read
Visualization of IP address accessing sshd
security

Visualization of IP address accessing sshd

/var/log/secureをBigQueryに送り始めました。 * Send secure log to BigQuery 1日あたり十数MB分ほどのペースで溜まってきているようです。 これを使って何かしたいなということで、とりあえずsshdへアクセスしてきているIPアドレスを可視化してみます。 sshdへのアクセスのログはFailed keyboard-interactive/pam for root from port 46472 ssh2のような感じでメッセージ内にアクセス元のIPアドレスが記録されているので、これを使います。 以下のクエリを使います。 * REGEXP_EXTRACTで正規表現に合致した文字列を抽出できるので頑張ってIPアドレスを抽出(数値1~3桁.数値1~3桁.数値1~3桁.数値1~3桁からなる文字列) * 期間はTABLE_DATE_RANGE関数で指定 * ident(identification?識別子?)がsshd * アクセスが多い順にTOP50個に絞っている SELECT REGEXP
1 min read
Send secure log to BigQuery
td-agent

Send secure log to BigQuery

/var/log/secureをBigQueryに送ってRe:dashで攻撃っぽいアクセスなどを可視化してみたかったので送ってみました。 準備 * /var/log/secureをtd-agentでも読めるようにパーミッションを下げる * /var/log/secureがローテートされてもパーミッションが戻らないようにlogrotateの設定を変更する td-agentの設定 td-agentの設定を追加します。 * 部分でログの送信元のサーバのホスト名をレコードに追加している # syslog (secure log) @type tail format syslog path /var/log/secure tag syslog.secure pos_file /var/log/td-agent/syslog.secure.pos @type record_transformer
2 min read
Auto renew SSL Certificate with Certbot(Let’s Encrypt)
letsencrypt

Auto renew SSL Certificate with Certbot(Let’s Encrypt)

このブログのSSL証明書はLet’s Encryptという認証局のものを使っています。Let’s Encryptの証明書を使い始めてしばらく経ちましたがいいかんじです。 * letsencrypt - ゆるふわキャンパー Let’s Encryptについて Let’s Encryptの証明書は無料で提供されており、certbotという証明書の取得や更新をコマンドで行うことの出来るツールが提供されているのが特徴です。神ってことです。 証明書の有効期限は90日(3ヶ月)と短いですが、コマンド一発で証明書を更新できるのでデメリットではありません。 また、証明書を細かくアップデートしていけるということは常に最新の暗号技術を取り入れた証明書を(Let’s Encryptが追随してくれているので)使えるということであり、度々世間を騒がせている弱い暗号方式を使った証明書によって起きる脆弱性に対しても運用上強いはずです。 certbotをインストールする Let’s Encryptの証明書はcertbotを通じて取得、更新を行うので、まずはcertbotを導入します。
6 min read
Move existing 1Password to license version
1password

Move existing 1Password to license version

1PasswordをApp Storeで購入した買い切り版からライセンス版に移行しました。 この2つの1Passwordの違いや、移行方法についてメモしておきます。 買い切り版とライセンス版の違い 違いについて全て把握しているわけではありませんが、以下のような違いがあります。 買い切り版 ライセンス版 ブラウザでの管理ページアクセス(1passwordアカウントの利用) ✕ ◯ 2つ以上の保管庫(Vault)の利用 ○(たぶん) ◯ iCloudやDropboxでのデータ共有 ◯ ✕ 1passwordアカウントでのデータ共有 ✕ ◯ ※ iCloudやDropboxでのデータ共有はライセンス版ではできないですがそもそもする必要がなくなるということなので問題ない 値段の違い * 買い切り版(OSX版): 約7,000円 * ライセンス版: 約300円/月 * ライセンス版(Familys): 約400円/月 ライセンス版のプランの比較は以下を参照(個人なら無印ライセンスで充分)。 * Pricing - 1P
4 min read
Impact of Cloudflare's incident on DigitalOcean
digitalocean

Impact of Cloudflare's incident on DigitalOcean

先週(2017/02/03)、Cloudflareでインシデントが発生しました。 * Incident report on memory leak caused by Cloudflare parser bug これを受けて、DigitalOceanからCloudflareのインシデントによるDigitalOceanへの影響について説明する記事が公開されました。 * DigitalOcean, Your Data, and the Cloudflare Vulnerability 先に結論 DigitalOceanから顧客データが流出する事態には(DigitalOceanのセキュリティチームによる調査によると)至っていない。 Cloudflareで何が起きたのか インシデントの記事で詳細まで語られていますが、以下のような経緯がありインシデントが発生したようです(訳が雑・間違っている可能性有り ><)。 何が起きたか HTTPクッキーやauthenticationトークン、HTTP POSTボディの内容などが検索エンジンにキャッシュされてしま
2 min read
Trying out CSP(Content Security Policy)
security

Trying out CSP(Content Security Policy)

最近以下のスライドを見てCSPの存在を知り、なんだか良さそうだったので自サイトを実験台に触ってみました。 CSP(Content Security Policy)とは CSPとは、「主にクロスサイトスクリプティング攻撃やデータインジェクション攻撃などを対象とした防御・レポートツール」のようです。 * Content Security Policy の紹介 - Web セキュリティ | MDN CSPの仕組み まずサーバ側でcontent-security-policyヘッダを返すように設定します。特別なミドルウェアやツールは要りません。 ヘッダの内容は、ブラウザに対し「サイト内のコンテンツに対するアクセスポリシー」をホワイトリスト形式で羅列したものです。また、使用できるプロトコルもサーバ側から指定することが出来ます。 * 例えば「全てのコンテンツがhttpsで読み込まれること」といったポリシーが設定できます(このポリシーでmixed contentが検出できそう!)。 するとブラウザがそれらのポリシーを受け取り、従います。 よって、CSPに
2 min read
Security-JAWS #3
aws

Security-JAWS #3

Security-JAWSに参加してきたメモ!(Security-JAWSはいつも速攻埋まるけどたまたま参加できた) * Security-JAWS 【第3回】 流れ。 * 「CloudHSMって結局なに?ハードウェアが必要なわけ」 * 「AWS IAMとOpenAMを連携してアカウント管理を効率化してみた」 * 「Amazon Inspectorを補完する - VulsとOWASP Dependency-Checkを組み合わせてプログラミング言語ライブラリの脆弱性スキャン結果を日本語化、Slack通知できるようにしてみた」 * LT「EnigmaによるPersonal Data Storeの実現可能性について」 * LT「AWSのセキュリティホワイトペーパーまとめ」 「CloudHSMって結局なに?ハードウェアが必要なわけ」 CloudHSM自体この会ではじめて知ったし、事前にググってもよくわからなかったけれどなんとなくCloudHSMについて分かった気がする。 CloudHSMとは * CloudHSM(Hardware Securit
5 min read