◆ 今更ながら、このサイトをLet's encryptでSSL証明書の自動更新に対応させたので、作業メモ。
# pkg install py38-certbot
certbot certonly コマンドに以下のオプションをつけると、サーバの検証から証明書の取得まで自動で終わります。
# certbot certonly --noninteractive --config-dir /sandbox/usr/local/etc/letsencrypt --agree-tos --no-eff-email --webroot -w /sandbox/home/www/htdocs-onsky -d www.on-sky.net -m hs@on-sky.net Saving debug log to /var/log/letsencrypt/letsencrypt.log Requesting a certificate for on-sky.net Successfully received certificate. Certificate is saved at: /sandbox/usr/local/etc/letsencrypt/live/on-sky.net/fullchain.pem Key is saved at: /sandbox/usr/local/etc/letsencrypt/live/on-sky.net/privkey.pem This certificate expires on 2024-09-13. These files will be updated when the certificate renews. NEXT STEPS: - The certificate will need to be renewed before it expires. Certbot can automatically renew the certificate in the background, but you may need to take steps to enable that functionality. See https://certbot.org/ renewal-setup for instructions. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - If you like Certbot, please consider supporting our work by: * Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate * Donating to EFF: https://eff.org/donate-le - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
SSLCertificateFile "/usr/local/etc/letsencrypt/live/on-sky.net/fullchain.pem" SSLCertificateKeyFile "/usr/local/etc/letsencrypt/live/on-sky.net/privkey.pem"
# vim /etc/periodic.conf ----- weekly_certbot_enable="YES" weekly_certbot_post_hook="/usr/local/etc/rc.d/SBapache reload" weekly_certbot_custom_args="--config-dir /sandbox/usr/local/etc/letsencrypt" -----
# SSL expiration define command{ command_name check_ssl_validity command_line $USER1$/check_ssl_validity -I $HOSTADDRESS$ -H $ARG1$ -c 7 -w 21 }
# www.on-sky.net Let's Encrypt define service{ : check_command check_ssl_validity!www.on-sky.net }
ので、復習も兼ねてメモ起こし。
全体的に、対策等をしていてもウィルス感染等のインシデントは発生するので、いざ発生した時に、いかに被害を最小限に収めるかとか、早く気付くかという点がメインテーマになっていた印象でした。
情報セキュリティに関わる法律の整理と付き合い方、注意点など。
法律の分類
他のセッションに譲って割愛
従業員の締め付け | メールの監視 | 労働法違反!! | |
委託先の締め付け | 委託先の費用負担でセキュリティ強化を要求 | 独占禁止法違反!! | |
委託先社員の締め付け | 偽装請負 | 労働派遣法違反!! | ? メモ間に合わず自信なし |
セキュリティ業務に携わる人は、通信の秘密、著作権侵害、不正アクセスにも注意。
通信の秘密 | DNSAmp対策でパケット覗く(これは正当行為として認められるだろう) |
著作権侵害 | マルウェア等の解析等(特許権は試験や研究目的であれば除外されているが、著作権の方は形式上は違法状態) |
不正アクセス | ID,パスワードを入力して特定利用可能にした時点で本罪成立 |
前半はYahoo!JAPANのセキュリティ対策体制の話。後半は発散気味なよもやま話。
VMware NSXの紹介。CenterCOMのマルチプルVLANをソフトで実現した感じ。
パロアルトネットワークス社のTrapsの紹介。名前通りトラップで攻撃的な挙動(ヒープスプレー、DEPの回避、ROP、OS機能の利用)を引っ掛けてブロックする。重そうと思ったら軽いらしいけど指標がCPU使用率ってのがモヤモヤ。あとWildFireサービス落ちたらどうなるのとかやや不安が。
撮影、録画、録音禁止セッション。デモが際どかったので納得。
NRIのUni-ID Identity Fraud Detectionの紹介。Webのアクセスログを解析してリスク判定結果を統計出力したり、API使ってリクエスト属性からリスク判定値を取得する機能とかあるらしい。なんか連携大変そうだな〜と思いました。まる。
「約1年ぶりに戻ってきたプライバシーフリーク・カフェ」
GW中にホワイトボックス2台のVMware ESXiを5.5 Update2にバージョンアップしたんですが、ちょっと苦労したのでメモ。
サーバの1台は3wareの9650SEを使ってるんですが、どうも公式サポートはESXi 5.1 U3で終わっているらしい。ただ、5.5でも5.1 U3用のドライバで動いたという報告があったので、それにかけてみることに。
が、ドライバがなかなか見つからない。結局LSIのページから[SUPPORT]→[Find Support Documents and Downloads]へと進み、"Storage", "Legacy RAID Controller", "3ware 9650SE-2LP", "Driver"で検索して"VMware ESXi 5.0 update 1 driver for 9650SE/9690SA "をダウンロード。
あとはVMwareホストのsshdを起動して展開したvibファイルをコピーし、
esxcli software vib install -v /tmp/scsi-3w-9xxx-2.27.08.036-1OEM.500.0.0.472560.x86_64.vib
を実行してインストール。再起動すると問題なく動きました。
ストレージを1TBx2のミラーから1TBx4のRAID10に増設。
とかやったんですが、退避用の1TB HDDがなぜか溢れる。理由がわからずVMのイメージを壊してしまうと怖いので、退避用のHDDを2TBにしてコピーし、HDDを換装、新しいRAID10にコピーを戻してなんとか作業完了。
起動後、確認したところ、どうも複数のVMイメージがハードリンクで同じファイルを指していて、コピーすると別ファイルになるため、溢れていたようでした。後知恵ですが、cpに'-d'フラグつけとけば良かったのかも。
書いてある通りなんですが、何も考えずに仮想ハードウェアのアップグレードを実行したら、設定の編集が開かずvSwitchと2nd NICの再構成ができなくなってしいました。いや、こんな説明だと普通は新機能は使えないけどこれまで使えていた設定はできると思うでしょ。
で、調べても使えませんで終わっているページが多い中、最新のUpdate2なら使えるようになるという情報もちらほら。しかしながら、最新版のvSphere Clientのダウンロード先の情報がなかなか見つかりません。ようやく仮想環境エンジニア技術ブログのページでダウンロードURL一覧ページへのリンクを発見。
さっそくVMware vSphere Client 5.5 Update 2をダウンロードしてインストール。
エラー 2229。データベース:。SQLクエリのテーブル「LaunchCondition」をロードできませんでした:SELECT 'Condition', 'Description' FROM 'LaunchCondition'。
うーん。
再度ググってvSphere Clientを全てアンインストールしてから再インストール。これで無事設定の編集もできるようになりました。
`green`
Raspberry PiとFreeBSDで高可用性サーバの構築という記事を公開しました。普通にサーバで冗長化構成を組もうとするとけっこう高額になりがちですが、ラズパイなら総額で1.5万円もあれば十分です。microSDだと容量や書き換え回数の制限からメールやWebのサーバは厳しいかもしれませんが、USB HDDなど付ければそこそこいけそうな気もします。
写真は会社のセカンダリDNSサーバです。ネットワークケーブルを挿したら反対側が持ち上がっちゃいました(^^;
◆ [Ruby] Net::FTP でワンタイムパスワード(OTP)認証
7行コードを追加するだけであら不思議。Net::FtpがOTP対応に。
という訳でレッツモンキー!!
require 'net/ftp' {~orangered:require 'otp'~} module Net class FTP {~orangered:CHALLENGE_RE = /otp-md5 ([0-9]+) ([a-zA-Z0-9]+)\s+/~} def login(user = "anonymous", passwd = nil, acct = nil) if user == "anonymous" and passwd == nil passwd = "anonymous@" end resp = "" synchronize do resp = sendcmd('USER ' + user) if resp[0] == ?3 raise FTPReplyError, resp if passwd.nil? {~orangered:m = resp.match(CHALLENGE_RE)~} {~orangered:unless m.nil?~} {~orangered:otp = OTP.new(m[1].to_i, m[2], passwd, "md5")~} {~orangered:passwd = otp.to_s~} {~orangered:end~} resp = sendcmd('PASS ' + passwd) end if resp[0] == ?3 raise FTPReplyError, resp if acct.nil? resp = sendcmd('ACCT ' + acct) end end if resp[0] != ?2 raise FTPReplyError, resp end @welcome = resp send_type_command @logged_in = true end end end
あとは普通に使うだけ。
ftp = Net::FTP.new("host name") ftp.login("user","password") ftp.passive = true files = ftp.list files.each do |f| puts f end
はたして需要は有るのか。
- つっこみ [なんでやねん!]