Ubuntu 24.04におけるSSHパスワード無効化のバグ

2025-04-06

Ubuntu 24.04サーバーで、インターネットからのSSHパスワードアクセスを無効化し、ローカルLANからのアクセスを許可する設定は、sshd_configを使うと簡単そうに見えます。しかし、/etc/ssh/sshd_config.d/にカスタム設定ファイルを追加しても、SSHデーモンの再起動後、設定が無効になる問題が発生しました。原因は、sshd_configの「先着順」の構成ルールと、システムによって自動生成された50-cloud-init.confファイル内のPasswordAuthentication yesの設定です。このファイルが先に読み込まれるため、カスタム設定が上書きされてしまうのです。カスタム設定ファイルを10-no-passwords.confと名前を変更して先に読み込ませることで、問題は解決しました。

続きを読む

光ファイバーの過剰プロビジョニング:備えあれば憂いなし

2025-03-25

部屋や建物間の光ファイバーケーブルの計画では、当初必要な量よりも多くのファイバーを敷設することをお勧めします。将来的な拡張、帯域幅のアップグレード、新しいプロトコルには、追加の容量が必要です。さらに、光ファイバーの故障は発生します—時には不可解に—そして、予備ペアがあれば迅速な復旧が可能です。シングルモードファイバーとマルチモードファイバーは用途が異なりますが、十分な冗長性を持つことが、ダウンタイムとコストを最小限に抑えるために不可欠です。

続きを読む

Lokiの構造化メタデータ:運用上の悪夢

2025-03-19

Grafana Lokiは「ログのためのPrometheus」と呼ばれることがありますが、当初はPrometheusに似たデータモデルを採用していました。しかし、これはシステムログ(syslogまたはsystemd journal)に対して壊滅的な結果をもたらしました。Prometheusとは異なり、Lokiは各ラベル値のセットを別々に保存し、ログストレージを圧縮しません。そのため、カーディナリティの爆発が発生します。これを解決するために、Lokiは「構造化メタデータ」を導入しましたが、バージョン3.0.0時点ではまだ未完成の状態です。構造化メタデータラベルは通常のLokiラベルとは扱われず、異なるクエリ構文が必要です。既存ラベルからの移行は複雑で、予期せぬ高カーディナリティラベルの作成リスクがあります。アップグレードには注意が必要で、既存データの移行は非常にコストがかかります。新しいプロジェクトで使用する場合、その制約を十分に考慮する必要があります。

続きを読む

JSON:Unixシステムにおける機械可読出力のための実際的な選択肢

2025-02-24

Postfixメールキューからメールを削除した経験に基づき、著者は機械可読出力形式としてJSONを使用することを提唱しています。JSONは完璧ではありませんが、Unixシステムにおいて、明確性、幅広い互換性、豊富なツールサポート、他の形式への容易な変換など、多くの実用的な利点があります。著者は、新しいプログラムではJSONのみを機械可読出力形式として使用するのが最も簡単なアプローチであり、カスタム形式設計の複雑さを回避し、Unixプログラム間の相互運用性を促進すると示唆しています。

続きを読む

隠された巨大キャッシュ:ディスク容量が消える理由

2025-02-08

多くのUnixプログラムは、隠しディレクトリである`.cache`や`.local`にデータをキャッシュしており、ユーザーはこれらの巨大なキャッシュファイルを見つけ、削除することが困難です。これらは多くのディスク容量を消費します。著者は、共有ファイルサーバー環境において、大学院生がこれらの隠しキャッシュに困惑し、数百GBものディスク容量が気づかずに消費されているのを目の当たりにしました。この記事では、開発者に対してキャッシュを可視的なディレクトリに保存するよう呼びかけ、ディスク容量使用ツールはこれらの隠しディレクトリのコンテンツを明示的に表示すべきだと提案しています。

続きを読む

VPNアクセスを悪用した高度なフィッシング攻撃

2025-01-29

トロント大学のコンピュータサイエンス学部は、高度に洗練されたフィッシング攻撃を受けました。攻撃者は学部のメールアドレスを偽装し、ユーザーのパスワードを不正に取得することに成功しました。驚くべきことに、攻撃者は盗まれたクレデンシャルを使って短時間で学部のVPNに登録し、内部専用のSMTPゲートウェイを使用してスパムメールを送信しました。これは、攻撃者が事前に標的のVPNとメール環境を十分に調査していたことを示しており、ますます高度化する攻撃技術と、堅牢なサイバーセキュリティ対策の必要性を浮き彫りにしています。

続きを読む
テクノロジー VPNの悪用

インターネット接続SSHのパスワード認証無効化:セキュリティ向上かやりすぎか?

2025-01-18

この記事では、インターネットに接続されたSSHのパスワード認証を無効化することのメリットとデメリットを検討しています。強力なパスワードはブルートフォース攻撃に対する保護を提供しますが、パスワード認証を無効化することで、盗まれた資格情報、SSHサーバーの脆弱性、デフォルトアカウントを狙った攻撃などに対する追加のセキュリティレイヤーが得られると著者は主張しています。しかし、これにより、キーペアなしでログインできないなど、不便が生じる可能性もあります。著者は、個々の状況に基づいてトレードオフを慎重に検討することを提案しています。

続きを読む

/etc/glob:初期Unixシェルにおけるグロービングの知られざる歴史

2025-01-13

この記事は、初期のUnixシステムにおける`/etc/glob`の履歴と機能を探ります。V7 Bourne Shell以前、Unixシェルのワイルドカード展開(globbing)はシェル自身ではなく、外部プログラム`/etc/glob`に委任されていました。`/etc/glob`はコマンドと引数を受け取り、ワイルドカードを展開してコマンドを実行しました。この記事では、エスケープ文字の処理や、外部プログラムを使用する理由(初期システムのリソース制約が考えられる)を含め、様々なUnixバージョンにおける`/etc/glob`の動作の詳細を説明しています。

続きを読む

WireGuardの設定:簡単なものから複雑なものまで

2025-01-05

この記事では、完全に分離された内部IPアドレス空間を持つ最も簡単なものから、WireGuardトンネルの内外からアクセスできるエンドポイントを持つ最も複雑な「VPN」設定まで、様々なWireGuard設定の複雑さを探ります。著者は、ルーティングの競合や再帰的なルーティングなど、各設定の難易度と潜在的な問題点を詳しく説明しています。この記事は、事前に計画することの重要性を強調し、WireGuard環境を設計する際には、複雑なルーティングを避けるために、よりシンプルな設定を選択することを提案しています。

続きを読む

Linux OpenZFSにおけるzpool import/exportの潜在的な問題

2024-12-26

Linux OpenZFS (2.3.0時点)において、ZFSプールのインポートとエクスポートに関する潜在的な問題が存在します。ZFSプール内に'sharenfs'プロパティが設定されたファイルシステムがない場合でも、`zpool import`と`zpool export`は`exportfs -ra`を実行します。これにより、手動で追加または変更されたNFSエクスポートが削除される可能性があり、カスタムNFSエクスポート設定を使用する高可用性システムなどの環境に影響を与えます。この問題は、OpenZFSがNFSエクスポートの変更が必要かどうかに関係なく、`exportfs -ra`を盲目的に実行することによって発生します。

続きを読む
開発

サーバーの再起動失敗:冷却再起動でカーネルクラッシュを解決

2024-12-25

著者は、単純な再起動では解決できないカーネルクラッシュが発生した2台の同一モデルのサーバーに遭遇しました。クラッシュ時、サーバーはシステムファームウェア段階で一連のマシンチェック例外エラーを出力し、CPUハードウェアの問題を示唆していました。電源をオフにして数分間放置した後、再起動することで問題が解決しました。これは、短い停電でも一部のx86システムコンポーネントが完全にリセットされないことを示しており、完全な復旧には冷却時間が必要であることを示しています。

続きを読む

10年以上前のファイルサーバーの第二の人生:費用対効果の高いストレージソリューション

2024-12-17

ある企業が、10年以上前のファイルサーバーを本番環境で稼働させています。時代遅れで、BMCがKVM-over-IPにJavaを必要とするものの、16ベイのディスクと10Gイーサネットポートにより、再利用に最適です。持ち込みディスク方式の低コストストレージサーバーとして使用され、古さとRAMの制限にもかかわらず、大容量で低性能なストレージのニーズを満たしています。これは、要件が一致する場合、古いハードウェアの再利用の価値を示しています。

続きを読む

定期的な再起動:予防的なアプローチ

2024-12-13

大学の研究チームは、システム管理において難しい問題に直面しました。サーバーが長時間稼働し、再起動が必要でしたが、頻繁な再起動はユーザーエクスペリエンスを損なうためです。通常は再起動を避けていましたが、長時間の稼働により大規模な再起動を行う羽目になりました。同様の問題を避けるため、年間の再起動スケジュールを策定しました。少なくとも年に3回、大学の授業スケジュールに合わせて再起動することで、予防保全とユーザーエクスペリエンスのバランスを取っています。

続きを読む