たまに掃除は必要!熱暴走…

イメージ
 そんなに暑くないのに… 本日、午前中にオンラインで打合せをしていると、突然マシンがダウン。 一瞬、停電か?と思ったもののディスプレイの電源は入っている。 あれっ?と思い、すぐさまノートで打合せを継続。 その間に、再度マシンの電源を投入。 問題なく起動する。 でも、CPU温度がたまたま目に入り、95℃を超えて徐々に上昇していく。 105℃あたりで再度マシンダウン。 これは、熱暴走によるダウンの可能性が高い。 以前、CPUをRyzen7→9にした頃は、60℃〜70℃程度だった記憶がある。 本当はGW中にSSDの載せ替えを行う予定だったけれど、忙しくて先延ばしにしていた。 その時やっていれば、多分掃除もしただろうに…。 ということで、午後からマシンを解体し、掃除をすることに。 ケース本体のFANはホコリがかなり溜まっている。 GPUのFANは問題ない。 電源とCPU FANはひどい。 一旦、CPU FANを取り外し、きれいにする。ついでにCPUグリスも塗り直しセット。 動作確認すると、投入直後で40℃台。 そりゃ、熱暴走も起こすわけだ。 せっかくバラしたので、SSDの載せ替えを実施。 OSは500GBで、ユーザ領域(/home)は1TBを使用しているもののAIのmodelをいくつも落としていたり、DockerのImageが多種置いてあるため、結構容量を食っている。 今回、2TBのSSD( Hanye SSD ¥17,800- で入手済)を用意してあるので、 1TB→2TB, 500GB→1TBと玉突きで移動させることを計画していたので実施する。 本当は、ddコマンドで移すつもりだったのだけれど、3月にお客さんのところで使いそうだったので、 ORICOのクローン機能付SSDアダプタ を入手済。 裸族のSSD版ですね…。1万円程度の品です。 これに、新品のSSDとこれまでの1TBのSSDを差し込んでクローン開始。 そこそこ時間はかかるものの、放置でOK。 ただ、HanyeのSSDについているヒートシンクが引っかかるため、一旦取り外してクローン後取り付ける必要があった。 続いて、500GB→先程の1TBに書き込み。 ただ、1TB(samsungの980pro)が、先程のクローンでかなり熱くなっていたため、速度低下が激しい感じ。1TB→2TBよりも時間がかかった感じ。 ...

SSL自己署名証明書の作成

マルチドメインを管理していて

これまで1台のサーバ(仮想も含め)で1ドメインの管理をこれまで行ってきた。
今回、複数のドメインを1台で管理した方が良い案件だったので、設定することにした。

webサーバはapache2のvirtual設定でOK。
IPは一つだけで、名前ごとに異なるコンテンツを返す。

メールはpostfix+dovecotで、virtual mailboxで管理することに。

ftpは、chrootして、各ユーザのhome以下のweb用ディレクトリに配置。

ここまでは、別に難しくはない。

テストでは、Thunderbirdを利用していたのが、トラブルを見つけにくくしていた。
Thunderbirdは、知らないSSL証明書を受け取った場合、例外として処理するかどうかを自分で設定できる。

僕が設定してテストしている時に、例外指定をしたため、以後警告も何も言わずに送受信ができていた。

ところが、WindowsLiveやOutlook/OutlookExpressは、起動時に確認され、OKしても再度メーラーを起動すると、再び警告が出てくる。
WindowsLiveだと「接続しているサーバーは、確認できないセキュリティ証明書を使用しています。」って、ええやんか〜。

問題はSSLだった

オレオレ証明書(自己署名証明書)の使い方と、設定の計画にあった。
デフォルトでは、勝手に証明書を作ってくれて、それを使えば基本的には問題ない。
(というか、これまで問題になったことはない)

ただし、先にも書いたように1マシン=1ドメインの場合だ。
ホスト名でCN名を埋め込んで証明書を作るため、マルチドメインの場合の処理が厄介だった。

今回はvpsを借りているので、デフォルトでは借りたvpsによる名前のホストで作ってくれている。
そこで、通常通りSSLを使用して、設定してみると…。

う〜む。
メーラーのサーバ設定を、オリジナルのドメインにしたり、仮想ドメインにしたり、IPにしたりしてみたがダメ。

サーバから証明書を持ってきて、登録するが上手くいかない。

あれこれやっているうちに、vpsがデフォルトで付けてくれたマシン名だとSSLで警告が出なくなることで閃いた。

利用するマシン名で証明書を作りなおしておけば、いいんじゃね?
各メーラーにはサーバ名はIPで振る約束になっている。これは好都合。

そこで、IP名でのCN名を埋め込んだ証明書を作成して、それを元にSSLを通すことに。

自己署名証明書の作成

手順は「postfix、dovecot の証明書の作成(Ubuntu 8.04)」が分かりやすかった。

重要なので、再掲しておく。
$ sudo -s
# cd /etc/ssl/private
# openssl genrsa -des3 1024 > mail.key
パスフレーズ聞かれるので、とりあえず覚えていられる程度のものでOK。
# chmod 600 mail.key
# openssl rsa -in mail.key -out mail.key
これでパスワードを解除したもので上書きしておく。この作業をしておかないと、パスフレーズの入力を求められる。するとプログラムが停止してしまうので…。
(先に使ったパスフレーズが必要)

# cd ../certs
# openssl req -utf8 -new -key ../private/mail.key -x509 -days 3650 -out mail.pem -set_serial 0
として、パブリックキーを生成。とりあえず有効期限10年程度の証明書にしてみた。(何度も設定したくないしね)

Country Name (2 letter code) [AU]:JP
State or Province Name (full name) [Some-State]:Aichi
Locality Name (eg, city) []:Nagoya
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Hoge Ltd
Organizational Unit Name (eg, section) []:xxxx-net
Common Name (eg, YOUR name) []:aaa.bbb.ccc.ddd ←IPで設定
Email Address []:root@hoge.com

postfixの設定

/etc/postfix/main.cfを編集
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
となっているのを、先ほど作ったmail.keyとmail.pemに修正。
smtpd_tls_cert_file=/etc/ssl/certs/mail.pem smtpd_tls_key_file=/etc/ssl/private/mail.key
これで、postfixを再起動。
 # service postfix restart
/etc/dovecot/conf.d/10-ssl.confを編集
ssl_cert = </etc/ssl/certs/mail.pem
ssl_key = </etc/ssl/private/mail.key
保存したら、dovecotを再起動。
# service dovecot restart

クライアント用の処理

PC用に証明書を変換する。
# openssl x509 -in mail.pem -outform DER -out mail.der
このファイルを、web経由でも、USBメモリでもftpでもなんでもいいので、PCに持ってくる。(以下Windows上の作業)

mail.derをダブルクリック。
「証明書のインストール」→「証明書のインポートウィザード」→「証明書を次のストアに配置する」→「信頼されたルート証明機関」

最後に警告が出るが、OKで完了。
これで証明書がインポートされ、しかも信頼していることになる。

メーラーを起動しても、何も言わずに送受信できるようになった。

ふ〜。
ここまでたどり着くのに、予想以上に時間がかかりましたわ…。

まあセキュリティが強化されているのは分かるけど、Thunderbirdくらいに自分の責任で、証明書を信用するってことにしてくれれば、こんなに手間はかからないのに…。

良し悪しですな…。

無事使えるようになって、めでたしめでたしとな。
チカレタゎ。


コメント

このブログの人気の投稿

Ubuntu24.04 でGUIが死んだ

VirtualBoxが異常

MEGAにも弱点があった?