sendmailを止めることに

MTAへ激しく攻撃されっぱなしで,止めるというのはなんか残念な気もしますが,今sendmailが本来のメール送受信のために動くのは日に2回+不定期的なWordpressからのupdate案内しかなく,それに対して日に千回近い攻撃にさらすのはバカバカしくもあります.

先に書きましたように,攻撃による実害はあまり大したことはないのですが,iptablesでDROPするipアドレスを約1万個登録してあってこれがRaspberry Piの貴重な実メモリーに展開されているのが一番バカバカしいです.

sendmailとは長い付き合いでした.使い始めた1990年代半ばには,ほとんどのLinux distroに標準でついていて,デフォルトで動くような設定だったと思います.

自前でメーリングリスト(ML)を立ち上げるのに使ったり,またアマチュア無線のパケット通信のメールのゲートウェーにも使ったりしていました.

その後SPAMが社会問題化して,個人の動かしているsendmailをはじめとしたMTAからのメール送信を受け付けるサイトがほとんどなくなりました.MLも自分で動かしていると,サーバーがダウンしたりメンテする時にやっかいなので,もうずいぶん前に大手IT会社のサービスに移行しました.

あと,自前のMTAの大きなメリットは,メールアドレスを好きなだけ作れるということです.怪しいサイトや,有名だけど関わりたくない会社のサイトにアカウントをとりあえず作る時に,

適当な名前@ホスト.ドメイン

の形で作ったメールアドレスをIDとして使用します. “適当な名前” はそれこそなんでもいいので無数に作れます.確認メールの受信などの用が済んだらIDを消すか,/dev/nullに転送するようにすればよいです.

これも,使い捨てメールアカウントを提供するサービスでたいてい足りますが,自前でできるというのがミソでした.

現在受信しているメールは,一つは手動で,もう一つは自動的にメールが発せられ,それを大手IT会社を経由してこちらのsendmailが受けていますが,これらもあえて自前のMTAを介する必要はなく,生存確認のためのようなもんです

ということで,1日に2通のメールを受けるため,何百何千の攻撃を避ける運用を続けながらおよぞ30年の長きにわたり使用してきたsendmailを近々止めることにします.

現在は大手IT会社数社に認証したうえでメールを送り出しています.
技術的に面倒だろうと現時点で考えられるのはWordpressが不定期的に発するメールをどうやって外に出すかということです.

Ubuntu ARM64のVM動く

もう,「だったらなんだよ」って聞こえてきそうですが,Raspberry Pi 5 Model B (RPi5)のKVM/QEMU環境で,Ubuntu ARM64の仮想マシンがめでたく動きました.

CPUは3個割り当てました.UbuntuのサイトにはARM64のDesktop版のインストールイメージが見つからないので,とりあえずServer用イメージから余計なデーモンを追加しないでインストールを行いCUI環境で立ち上がるようにして,

apt install ubuntu-desktop

をして再起動したらGUI環境になりました.最初のうちは起動のたびになんかがクラッシュしたとダイアログが出ましたが,全部Noで答えて使っているうちに,クラッシュの報告もなくなり,安定してきたようです.なぜだか分かりませんが😥

“Settings” 内の “About Ubuntu” は次のように表示されます.

Processorが空欄です😥 問題なく動くので問題ないです.

このあとfcitx5-mozcをインストールして日本語入力もできるようになりました.

ちなみに,stress -c 3 で割り当てたCPU3個に負荷をかけたとき,ホストのCPUは3個がフルになって稼働しています.

左が仮想マシンのgkrellmで表示したCPUの稼働率で,上から3つ目の枠までがフルになっています.右のホストのgkrellmでは切り替わりながら4つのCPUのうち3個がフルになっている様子がわかります.

x86_64のエミュレーションでもこうなってくれればDebian x86_64(AMD64)が4倍速くなるはずです.

さて,Ubuntuの仮想マシンが使い物になるかどうかっていう総合評価ですが,Raspberry Pi 4 Model B (RPi4)やRPi5でホストOSとしてUbuntuを動かしたことがないので正確には言えませんが,今回インストールしたUbuntu ARM64の仮想マシンの体感速度と以前から試しているDebian ARM64の仮想マシンと実機の比較からして,Ubuntu ARM64もRPi4のホストOSとして動かすよりRPi5の仮想マシンのほうが速いのではないかと推定されます.安定性はまだ分かりませんが,スピード的には「使えなくない」レベルと思います.

よほどUbuntuが好きな人には,ネット情報を探してUbuntuをRPi4/5のホストOSとしてインストールするのがベターと思います.

まあ仮想マシン遊び(箱庭)が好きな人の作ってはいずれ消す箱庭の一つとするには良い景色と思います.

3個ではたしてsymmetricといえるのだろうか😥

RTSPの再生が安定しない (vlc)

その後も利用価値のあまりなくなった,Raspberry Pi 3 Model B (RPi3)と同B+(RPi3+)を防犯カメラの映像をRTSPで見るモニターとして利用する試みを続けています.

Raspberry Pi OS (RPiOS)の配布するvlcで一時期RTSPを見ることができませんでしたが,それも使えるように戻してくれたようで,RP3(+)に電源を入れて起動すると,メインユーザーで自動ログインした上でvlcも自動的に起動してカメラからのRTSP映像をHDMIでつないだディスプレーに表示するようにしていますが,どうも不安定で,数時間〜半日前後でvlcがブランク画面を表示するか,ある時刻の静止画のままになります.

OSは生きていて他のマシンからsshでログインできます.

これまで確認しているところ,カメラがトラブってRTSPを吐き出さなくなる場合と,カメラは生きているけれど,vlcがトラブる場合があるようで,他のマシンからカメラにつなぐことでどちらか確認できます.

前者のトラブルの場合,カメラの電源を切って再起動しますが,その場合RTSPにログインするためのUser IDとパスワードが変わるので,クライアントのスクリプトを修正する必要がありちょっと厄介です.しかし,幸いというか,このトラブルよりも後者のvlcのトラブルのほうが多いです.

しばらくvlcの使用はやめて,またffplay (FFMPEG)に戻して様子を見ることにします.明らかにCPU loadはvlcよりもffplayのほうが大きいです.

Manjaro ARM64 ぶっ壊れる

Raspberry Pi 4 Model B (RPi4)をWS(workstation)として使える可能性を一番示してくれているdistroである表記Manjaro ARM64を使い続けてきました.当BLOGの記事からすると2年半とかになると思います.ローリングモデルの性(さが)といいますか,途中でパッケージマネージャーのデータベースにほつれが出てだんだんおかしくなってきました.

コマンドライン版のpacmanではupdate/upgradeできるのですが,GUI版のpamac-managerではなにもしなくてもいつも”Up to date”になる状態が1年以上続いたと思います.それに本日終止符が打たれました.コマンドラインのpacmanで依存性に衝突が生じてupdateができなくなりました.

たぶん,パッケージデータベースを修復する方法もあると思うのですが,このWSではあまりややこしい設定はしていませんので,新規インストールをすることにしました.

といっても完全に新規でなくて,夏頃から取り組んできたRTSP表示のためManjaro AMR64をSDカードにインストールしたものが使わずに放置されていたのでそれを使いました.

/bootのパーティションはvfatにフォーマットした2GBのSDカードにコピーし,ルートパーティションはSSDの旧Manjaroのあったところにコピーです./boot/cmdline.txtと/etc/fstabを修正して起動しました.その後でバックアップからメインユーザーのデータをコピーしてほぼ元通りです.

Manjaroにjoeがないと以前騒いでいましたが,素直にコンパイルできるパッケージなので自分でmakeして/opt/binに置きました.

Raspberry Pi OSにphpMyAdminのインストール

標記の件,あちこちに書いてあると思いますが,自分ナイズした手順をメモっときます.

前提としては,別所ですでにphpMyAdminが動いていた/var/lib/mysql以下をバイナリーで手元に持ってきて,データベースとして正常に動作している状態であることです.

apt install phpmyadmin

いろいろ依存ファイルがインストールされ,最後にdpkg-なんとかで設定するかと聞いてきますが,すでにphpmyadminが動くように設定済みのMariaDBが動いているわけですから “No” です.

これでApache2を再起動してもphpMyAdminは機能してくれませんでした.設定が足りていません.

設定の最初ですが,phpMyAdminというデフォルトのpathは攻撃者の格好の標的となりますので,/etc/phpmyadmin/apache.confの最初の方にあるAliasを他の人が想像しにくいように変えます.

次に,Debian的に進めるために,/etc/apache2/conf-availableに,/etc/phpmyadmin/apache.confのsymlinkを貼ります.

cd /etc/apache2/conf-available
ln -s /etc/phpmyadmin/apache.conf phpmyadmin.conf

次に,Debianらしいコマンドa2eanbleを実行し,apache2の設定をreloadすれば完了です.

a2enable phpmyadmin.conf
systemctl reload apache2

次はLDAP

次は,OpenLDAPをインストールして,これも別所のデータをバイナリーで移してみます.これはx86からARMにもってきたときは失敗したと記憶しています.

slapdが動くようになったら,phpLDAPadminを動かしてみます.

あとでも良いのですが.