約束の地

キャロ組

yarn add してもそのディレクトリ配下にパッケージがインストールされない場合

前提

  • ndenv などで Node と npm を管理しており、その上で Yarn を入れている

結論

ユーザのルートディレクトリに package.json が何らかの理由で存在している*1

補足

.zshrc にはこんな感じのを書き加えてます。

export PATH="$PATH:./node_modules/.bin"
export PATH="$PATH:$HOME/.config/yarn/global/node_modules/.bin"

*1:「前提」のような環境を作っているならば存在することはないはずですが、「ユーザーのルートディレクトリで yarn add した場合(yarn global add でない場合)」はそういう状態になってしまうでしょう

GitHub の Wiki を clone しようとしたら ユーザ名 と パスワード を求められたとき

結論

アドレスをコピペしたら httpsgit に変更する。

参考

  • Wiki の clone アドレスのコピー用文字列は https しかない

f:id:gregminster:20190211134028p:plain

余談

他のリポジトリに Wiki を移転しようとする際は、移動先の Wiki でとりあえず Create してから push しないと怒られる*1

*1:正確には push -f しないとダメですが

Squid で SSL Bump なプロキシサーバを構築する

結論

細かく書いている時間がないので、手順だけとさせてください*1。SSL Bump は MITM(中間者攻撃)とほぼ同等なロジックのため、(不)特定多数のユーザが使う場合には注意が必要です。

前提

CentOS 7 です。

手順

CentOS 7 の場合は Squid のライブラリは /usr/lib64/squid にあります。

1. 証明書のキャッシュディレクトリを作る

ssl_db は私が勝手に命名したディレクトリ名です。任意の名前で構いません。

# /usr/lib64/squid/ssl_crtd -c -s /path/to/ssl_db
# chown squid:squid -R /path/to/ssl_db

2. 証明書のファイルと秘密鍵のファイルを作成する

Chrome 対策のために CN だけでなく SAN (Subject Alternative Name) を付与するのがポイントです。一部のサイトで -extensions SAN というオプションをつけるように書いてありますが、これをつけると Firefox で「この証明書は認証局の証明書ではないため、認証局の一覧には追加できません。」と怒られてルート証明書として読み込めませんでした。

$ openssl req -new -newkey rsa:2048 -sha256 -days 3650 -nodes -x509 -extensions v3_ca -keyout ここに秘密鍵ファイルのパス -out ここに証明書ファイルのパス -subj "/C=JP/ST=TO-DO-FUKEN/L=SHI-KU-CHO-SON/O=KAISHA-MEI/CN=YOUR.HOST.com" -config <(cat /etc/pki/tls/openssl.cnf <(printf "[SAN]\nsubjectAltName='DNS:YOUR.HOST.com'"))

3. squid.conf に以下の部分を追加する

既存の部分と重複する場合は既存の部分をコメントアウト(あるいは削除)してください。

http_port 31084 ssl-bump \
  cert=ここに証明書ファイルのパス \
  key=ここに秘密鍵ファイルのパス \
  generate-host-certificates=on dynamic_cert_mem_cache_size=4MB
acl step1 at_step SslBump1
ssl_bump peek step1
ssl_bump bump all

# 以下の部分を明示的に指定しないとエラーが出てしまった
sslcrtd_program /usr/lib64/squid/ssl_crtd -s /path/to/ssl_db -M 4MB

4. Squid を再起動する

設定が誤っていなければ Squid は正常に再起動するはずです。

# systemctl restart squid

5. クライアント側で証明書をインストールする

「2.」で作った証明書ファイルを各クライアント(Webブラウザ)にインストールします。OS や Webブラウザ ごとに方法が異なります。いずれにしても「常に信頼する」のような設定をする必要があります。

参考

*1:公式ドキュメントなどを適宜参照する必要があるかと思います

既知のパスワードかどうかを判別してくれる Chrome 拡張「Password Checkup」

公式ページ(ダウンロードページ)

「提供元: google.com」です。

具体例

OSS のウェブアプリを立てた直後の初期パスワードを入れたら次のように反応しました。

f:id:gregminster:20190210212300p:plain

一度警告が出ると、拡張機能のアイコンにその旨が表示され続け、変更が求められます。幸い私が通常使っているパスワード群では警告は今のところ来ていません。

f:id:gregminster:20190210212442p:plain

利用するのに少しためらいがある拡張機能ですが、私は使ってみようと思います。

Powered by はてなブログ