コンテンツにスキップ

Raspberry Pi セットアップ (2026-04版)

ImagerとUSBメモリでインストール

Raspberry Pi Imager がまた進化していてめちゃ便利でした。
SSH設定などはイメージ書き込み前に指定しておくことが可能なうえ、Raspberry Pi Connect を有効にしておけばインターネットからのアクセスも簡単(安全性はラズパイ財団を信じる)

なおRasPi Imagerはラズパイ以外のイメージも指定して書き込みできるので別のLinuxやWindowsを焼きたいときにも便利です。

セキュリティ強化

以前やった Debian Setup とほぼ同じ。

パス無しsudoの禁止

sudoはインストール時に使えるようになっているので、次のファイルを削除して無効化する。

$ sudo grep -r NOPASSWD /etc/sudoers /etc/sudoers.d/
/etc/sudoers.d/010_pi-nopasswd:pi ALL=(ALL) NOPASSWD: ALL
$ sudo rm /etc/sudoers.d/010_pi-nopasswd

rootロック

ここは完全にDebianの時と同じ。
設定

# rootアカウントをロック
sudo passwd -l root

# rootのシェルをnologinに変更
sudo usermod -s /usr/sbin/nologin root

# SSHでのroot直接ログインを無効化(SSHを使用している場合)
sudo nano /etc/ssh/sshd_config
PermitRootLogin no

# sshd再起動
systemctl restart sshd

確認

# パスワードがロックされているか確認
sudo passwd -S root
root L 2024-11-19 0 99999 7 -1 # Lなのでロックされている

# シェルの設定を確認
grep root /etc/passwd #nologinになっている

fail2ban

インターネットにポート公開しているとものの10分でブルートフォース攻撃が来る。見ている限り成功したことはないものの気持ち悪いので対策。

sudo apt install fail2ban

インストールしたら設定ファイルを作成:

sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo nano /etc/fail2ban/jail.local

[sshd] のセクションを探して以下のように追記

[sshd]
enabled = true
port    = ssh
maxretry = 5
bantime  = 1h
findtime = 10m

  • maxretry = 5 → 10分以内に5回失敗したらBANする
  • bantime = 1h → 1時間アクセス禁止

保存したら起動:

sudo systemctl enable fail2ban
sudo systemctl start fail2ban

状態確認:

sudo fail2ban-client status sshd

Status for the jail: sshd が表示されればOK

IP固定

今時は固定しないのが定石なのかもだけど、好みで。

# 現在の接続を確認
nmcli connection show

# 固定IPを設定(例:192.168.1.100/24)
sudo nmcli connection modify <接続名> ipv4.addresses 192.168.1.100/24

# デフォルトゲートウェイ(例:192.168.1.1)
sudo nmcli connection modify <接続名> ipv4.gateway 192.168.1.1

# DNSサーバー(例:Google DNS)
sudo nmcli connection modify <接続名> ipv4.dns "8.8.8.8 8.8.4.4"

# DHCPから手動に切り替え
sudo nmcli connection modify <接続名> ipv4.method manual

# 設定を反映
sudo nmcli connection down <接続名> && sudo nmcli connection up <接続名>

# 確認
ip a show wlan0