【Kagoya VPS】自動アップグレード設定見直し

radiko のαSTATION 聴く時に、VPNで接続して重宝しているのと、IRC serverを動かしているKagoyaのVPSだが、ログインしてみたら、アップグレード可能なパッケージが44個あった。

自動更新設定したはずなのに、おかしいと思い検索。
次のページを参考にさせていただいた。

コマンドラインターミナルを使用して、Ubuntu 22.04 LTS JammyJellyfishLinuxに無人アップグレードをインストール/有効化および構成する方法を学びます。

情報源: Ubuntu22.04LTSに無人アップグレードをインストール/構成する方法-LinuxCapable

うまく動いてないので、調べると、apt-config-auto-update パッケージを入れないといけないようで、入れようとすると、update-notifier-common パッケージとファイルがバッティングしてるとか。

そこで次のコマンド実施して、パッケージを入れ替えた。

あと、件のページに書かれていた要らないパッケージの自動削除も有効にした。

これで取り敢えず様子見。

【作業記録】監視カメラのRaspberry Pi3を自動更新&再起動

わしの Raspberry Pi3 は Raspbian GNU/Linux 9 (stretch)なので、自動更新にはなってないから、unattended-upgrades のパッケージをインストール。

needrestart パッケージが提案パッケージになっとるけど、要るのかなあ?

後は次の記事を参考に設定。

【作業記録】自動更新&再起動設定

防犯監視カメラだから、深夜に再起動するのはマズいので、昼間に再起動するようにした。

まあ、Raspberry Pi3 だと、数秒で復帰するから、特に問題は無いだろう。

そして、apt-cron をアンインストール

 

【作業記録】自動更新&再起動設定

cron-apt 使ってて、更新はメールで通知してくれるが、再起動は必要に応じて自分でやらないといけないのがマンドクセと思っていた。

そして自動で再起動する方法ねーかな?と探してみた所、次のページをハケーン。

Ubuntu 20.04 LTSの自動アップデートと、自動再起動を設定した話。

Ubuntu 20.04 LTSから、自動でアップデートするようになってたのか。cron-apt要らねーじゃん。知らんかった(笑)

再起動するのを有効化して、午前2時だと、まだ起きてる可能性があるので、午前3時に設定。

そして cron-apt を削除。
これで、Kagoya VPS は放置してても、常に最新状態に保たれる訳だな。

昔、KDDIの回線引いて、固定IPアドレス8個貰って、家でサーバー運用……とはいえ、VAIOのノートPCにKondara MNU/Linux 入れて自分のウェブサイトを公開していた。

ノートPCをサーバーにしたら、UPS要らず。
そう思っていた時期が僕にもありました。

移動の際に電源引っこ抜いたら、即座にブチンと画面暗転。

2〜3回しか充電してないL型バッテリが、24時間運用で、1年間電源に繋いでいたら、お亡くなりになっていた。

ノートPCはUPS要らずのサーバーにはならない。それが教訓。

デジタルファクトリが潰れて、OSが更新されなくなって、クラッキングを受けて、X Serverにサイトを移し替えた。

当時、OSのシステムメンテナンスは非常に面倒臭く、自分でセキュリティ情報を集めて、必要とあれば、自分でゴリゴリカーネル再構築とかやってた時代だったので、クラックされるようではアカンと思い、業者に丸投げ(^^;

今はそれも OS がやってくれるので、便利な時代になったものじゃて。

【作業記録】Ubuntu 20.04 LTSに livepatch

家のマシンで、Ubuntu 20.04LTSを入れた時、livepatch という、再起動しなくてもセキュリティホールにpatch当ててくれる canonical社のサービスを設定するよう促されたので、入れたのだが、よく分かってなかった。

どうやら、カーネルにパッチを当てるんだけど、カーネルパッケージの更新はしてくれないようなので、サーバーとか、再起動を頻繁にできないマシンに対するサービスのようで、会社に行ってる間に電源を落とす個人PCには不要なものだと分かった。

で、このライセンスが個人なら 3台まで使えるとの事で、24時間運用の Kagoya VPSのUbuntu 20.04に導入しようと思ったので、その作業記録(長い前置きだ(^^;)。

https://ubuntu.com/security/livepatch

の下の方にあるやり方でやる。トークンは、ログインして、右上の自分の名前をクリックすると、UA subscriptions ってページを開くと出てくる。

Webで検索して出てくる例だと、snap で canonical-livepatch をインストールするって書かれてるんだが、試しても「そんなの無え!」と言われて困ってたが、ua attach [TOKEN]で snapd と共にインストールしてくれた模様。

ハッ!? もしかして、snap のインストールって、 snapd入れないとできないってオチか orz

ua attach [TOKEN] 実行した時に既に、livepatch yes enable ってなってるから、 ua enable livepatch 必要無いかもしれん。

今の所、patch は無いけど、結局の所、頻繁に再起動しても問題無いなら、不要なサービスだなあ。

【作業記録】fail2ban 再犯長期jail

fail2ban で ssh 不正ログインを試みる輩を接続拒否する運用をしているが、現状こんな感じ。

3日間で、4回失敗で1週間アク禁。
11/1くらいから、241件アク禁にして、現在90件アク禁中。
151件を釈放。

ログを見てると、18時間間隔で 2回試行するとか、明らかに fail2ban を避けるパターンのやつがいるんだな。

ふと、再犯してるのどれだけだろう? と疑問に思い、調べると、再犯者を長期アク禁にできるとの事で、早速設定変更。

次のコマンドを実行

次の設定を追加

fail2ban.logを調べて、再犯者は2週間以内に1回のログイン失敗でアウト、懲役1年(笑)

【追記 2681/11/20】
maxretry = 1 だと、fail2ban.log で、Ban 1回で作動してしまうので、 2 に変更した。
【/追記 2681/11/20】

その条件でも、33件該当。
1週間アクセス不能だったとしても、スクリプトでやり続けてんだろうなあ。

【作業記録】fail2ban設定変更

【作業記録】fail2ban インストール

/var/log/auth.log を見ると、既定の fail2ban.conf を避けるようにアクセスしてる奴が居たので、そういう奴を締め出すように設定変更。

blocktypeをDROPに、出入り禁止期間 1週間、アクセス監視期間 3日、4回失敗でアウト。

情報源: iptablesはDROPすべきか、REJECTか。tcp-resetという手も – のめうブログ

注意すべき点は、これ、自分で sshのログインに4回失敗すると、セルフ出入り禁止になっちゃうので気をつけないといけない。

まあ、Kagoya VPSの場合、Webからアクセスしてコンソールからログインしたら回避できるので、特に問題は無いけど、会社の契約するサーバーなんかで maxretry = 3 とかになってて、アク禁喰らった事が何度かあったんだな。

【追記】

3日間で51のIPアドレスをBAN。大漁や〜

【/追記】

【作業記録】fail2ban インストール

Kagoya VPS の Ubuntu 20.04 で、ssh への攻撃が多数あり、色々試させない為にfail2banをインストール

情報源: 【Ubuntu Desktop 20.04】Fail2Banをインストールする – Crieit

情報源によると、既定で sshd は有効となっているそうで、特に何もしなくても良さそう。

しかし、待てど暮せど中々 Ban してくれない。

これは私も経験済みです。jail.local(jail.conf)の設定は「backend = auto」で良いよとされてはいるのですが、起動時のログを見ると backend が “pyinotify” に設定されてしまいます。

情報源: fail2banをうまく動かすためのTips。正規表現はシンプルに見やすく – のめうブログ

/var/log/fail2ban.log を見てみると、

pyinotify って知らんけど、backend の動作モードが違っててワロタ。

新規ファイルを作成して、動作モードを polling にして、設定を再読込。

無事、polling モードで動作するようになった。

【作業記録】cron-aptインストール、postfix設定

KaguyaのVPSで放置してても、システムを常に最新にしてくれる cron-apt を設定する。

しかし、cron-apt ってメールシステム必須なので、postfixが付随してインストールされてしまうので、不本意ながらメールシステムも設定する。



・postfixの設定編集

よく考えたら、リレーホストにTLS接続する為に、SSLのサイトの正式名称でないとエラーになるはずなので、わしのプロバイダのサーバーの正式名称である sv96.xserver.jp にしないといけない。

そして、プロバイダのメールアカウントの認証を通す為に末尾に設定を追加。

・中間証明書取得

TLS接続に中間証明書が無いとエラーになる事があるので、goddadyから頂いて /etc/postfix/cert ディレクトリに設置する。

・パスワード認証ファイルの用意

・postfixの再起動

・テストメール送信

・cron-apt設定

テスト実行

ログの確認

これで VPS放置してても勝手にアップデートされる。