実測データと対策 | 2026年7月 tkurume.work サーバーログの記録
1日に数人しか訪れない個人サイトのサーバーに、1か月で 33万回のログイン試行が来ていました。攻撃はサイトの内容とも人気とも無関係で、サーバーを立てた瞬間から始まります。
ただし 侵入は1件もありません。理由は単純で、攻撃のほぼ全部が「パスワードの当てずっぽう」と「ありがちなファイル名の探索」だからです。鍵をかけてあれば当たりません。
この記事は、実際のログを数えた生の数字を公開します。これから機器やサービスをインターネットにつなぐ方に読んでいただきたい内容です。
このサーバーの実際の読者は 1日に数人です。人間の訪問者1人に対して、機械が 2,000〜3,000回ログインを試している計算になります。
btmp というファイルに記録します。上の数字はこれを月ごとに数えたものです。ログの解釈ではなく、記録された件数そのものです。
ログイン試行に使われたユーザー名を多い順に並べると、攻撃の性格がはっきり見えます。
| ユーザー名 | 試行回数 | なぜ狙われるか |
|---|---|---|
root | 134,555 | Linux の最高権限アカウント。取られたら全部取られる |
admin | 16,671 | 機器やアプライアンスの既定の管理者名 |
user | 6,987 | 初期設定のまま放置されがちな名前 |
ubuntu | 6,638 | クラウドのUbuntuイメージの既定ユーザー |
test | 3,790 | 検証用に作って消し忘れたアカウント狙い |
debian | 3,572 | 同上(Debian イメージの既定) |
deploy | 3,088 | 自動デプロイ用アカウント狙い |
ftpuser | 2,024 | 古いFTP運用の名残を狙う |
postgres | 1,917 | データベースの既定ユーザー |
oracle | 1,636 | 同上(業務システム狙い) |
pi | 1,613 | Raspberry Pi の既定ユーザー名 |
pi が 1,600回以上狙われているのは見逃せません。Raspberry Pi を現場に置いて外から見られるようにしている設備は珍しくありません。初期ユーザー名・初期パスワードのまま外につなぐと、数時間で見つかります。
この一覧に、私が実際に使っているユーザー名も 6,039回含まれていました。ドメインの登録情報などから名前を推測して試すパターンです。「珍しい名前だから安全」は成り立ちません。
攻撃元は 864 個の異なるIPアドレスに分散していました。上位を挙げます。
| 試行回数 | 国 | 回線の種類 |
|---|---|---|
| 5,531 | 香港 | クラウド事業者 |
| 5,443 | ドイツ | 大手レンタルサーバー事業者 |
| 4,454 | 中国 | 公的機関の回線 |
| 2,672 / 2,529 | フランス | クラウド事業者(2アドレス) |
| 1,994 / 1,991 / 1,989 … | オランダ | 同一事業者の複数アドレス |
| 1,700 | アンドラ | クラウド事業者 |
特徴は、ほとんどが正規のクラウド事業者のサーバーだという点です。攻撃者が自分の回線から来ることはまずありません。乗っ取られたサーバーや、使い捨てで借りたクラウドが踏み台になっています。「怪しい国からのアクセスを遮断する」といった対策があまり効かないのはこのためです。
なお中国の1件は公的機関名義の回線でした。当人が攻撃しているというより、その組織のサーバーが乗っ取られて加害側に回っていると見るのが自然です。守れていない機器は、いつのまにか他人を攻撃する道具になります。
SSHとは別に、Webサーバーにも探索が来ます。直近のアクセス記録から数えました。
探されていたのは、判で押したように同じファイルです。
| 探索されたもの | 本来そこに何があるか |
|---|---|
/.env | データベースのパスワードやAPIキーを書く設定ファイル。置き場所を間違えると外から読めてしまう |
/.git/config | ソースコード管理の情報。ここから全ソースを復元される |
id_rsa / .ssh/ | SSHの秘密鍵。取られたら即座にログインされる |
/wp-login.php /wp-admin/ | WordPress の管理画面 |
/phpmyadmin/ | データベース管理画面 |
/admin/ /.aws/ *.sql | 管理画面、クラウドの認証情報、データベースの吸い出しファイル |
全て 404(存在しない)を返しています。理由は簡単で、このサイトにはそれらが1つも無いからです。WordPress を使っていないので管理画面が存在せず、設定ファイルは公開ディレクトリの外に置いてあります。
ログを見ていると、攻撃とは別に大量の巡回プログラムが来ています。
| 名前 | 回数 | 正体 |
|---|---|---|
| Bytespider | 797 | TikTok(ByteDance)の収集 |
| Applebot | 472 | Apple の検索・AI |
| meta-externalagent | 359 | Meta(Facebook)の収集 |
| Googlebot | 337 | Google 検索 |
| ClaudeBot / Claude-User / anthropic-ai | 687 | Anthropic(Claude) |
| GPTBot / ChatGPT-User / OAI-SearchBot | 727 | OpenAI(ChatGPT) |
| bingbot | 229 | Microsoft Bing |
| Amazonbot | 197 | Amazon |
| PerplexityBot | 179 | Perplexity(AI検索) |
これらは害はありません。むしろ AI に質問したとき自分の記事が答えに使われるための前提です。ただし1つだけ実害があります。
特別なことは何もしていません。効いているのは次の5つです。
「大丈夫だろう」と思って調べたのですが、実際には見落としが出ました。正直に書きます。
サーバー移行作業をしたときの Webサーバー設定ファイルのコピーが、公開ディレクトリに残っていました。誰でもURLを叩けば読める状態です。中身にパスワードは含まれておらず、アクセス記録も外部からは0件でしたが、本来あってはならない状態です。即日削除しました。
攻撃を止めることはできませんが、失敗を繰り返すIPアドレスを自動的に遮断する仕組みを入れました。一定回数ログインに失敗した相手は、しばらく接続そのものができなくなります。繰り返す相手ほど遮断期間が延びます。
侵入を防ぐ効果もありますが、実際に大きいのは ログが減ることです。1か月33万件の失敗記録に埋もれていると、本当に見るべき異常が見えません。
ここからが本題かもしれません。私の本業は照明・舞台の制御装置の設計です。近年は「遠隔で監視したい」「スマホから操作したい」という要望が確実に増えました。
そのとき必ずお伝えしていることがあります。
この記事の数字が示しているのは、「うちみたいな小さいところは狙われない」が完全に間違っているということです。攻撃は有名かどうかで来るのではなく、全アドレスを機械が順番に舐めた結果として来ます。1日数人しか来ないサイトに1日1万2千回です。
pi が1,600回狙われている現実があります設備の制御と、それをネットにつなぐことは別の技術です。両方をまたいで設計できる人は多くありません。この記事のような調査も含め、方式の選定からご相談いただけます。
同じ調査を、実際のコマンドと設定ファイル付きで書いたものを Qiita に公開しています。
ログの数え方、sshd_config の読み込み順の罠(設定したつもりで効いていない状態になる)、SSH をいじるときに自分を締め出さないための手順、fail2ban の設定まで。サーバーを運用している方向けの内容です。