Raspberry Pi OSインストールすると時って色々やりますよね?
最初にOSインストールする時ってそれ以外にも色々設定するじゃないですかぁ。でも毎回何やったかちゃんと覚えていなかったので、どんな設定をしたかを備忘録的に書いていこうと思います。
前提
用途
- 基本的にCUIのみで使う予定
- Raspberry Pi4 B+以上で使う想定
- ~サーバとかで使う予定
どんな感じにしたい?
- 無駄な機能は止めたい
- セキュアな感じのはしたい
- とりあえずどんなサーバにするにしても、共通な設定をここに記録したい
OSインストール
Imager使ってイメージ書き込み
- Raspberry Pi Imagerを起動する
- デバイスとOSとストレージを選択して「次へ」
- 「設定を編集する」をクリック
- ホスト名とユーザ名・パスワード、ロケールを設定して「保存」。そして書き込み
無線LANとBluetooth機能をOFF
windowsから見えるパーティションに入っているconfig.txtの末尾に以下の内容を追記する。
dtoverlay=disable-wifi
dtoverlay=disable-bt
終わったら、Raspberry PiにmicroSDカードを挿して電源ON(自分はここからteraterm使って作業)
初期設定
エイリアスの設定
ls -l
をll
で実施したいので、その設定
vi /etc/profile.d/command_alias.sh
# 以下の内容を記載
alias ll='ls $LS_OPTIONS -l'
# 以下で反映
source /etc/profile.d/command_alias.sh
sshへのrootアクセスを禁止
イメージ書き込むときにユーザ作ってるし、rootはパスワード設定していないけど念のため。
sudo vi /etc/ssh/sshd_config
# PermitRootLoginの部分の#を取り、以下のように書き換えます。
PermitRootLogin no
:wq
リポジトリを編集
今入っているリポジトリは遅い感じがするので、国内のリポジトリとBackportsリポジトリを入れます。
sudo vi /etc/apt/sources.list
#以下の用にコメントアウト
#deb http://deb.debian.org/debian bookworm main contrib non-free non-free-firmware
#deb http://deb.debian.org/debian bookworm-updates main contrib non-free non-free-firmware
#以下の行を追加
deb https://ftp.kddilabs.jp/Linux/packages/Debian/debian-security/ bookworm-security main contrib non-free non-free-firmware
deb http://ftp.riken.jp/Linux/debian/debian-security/ bookworm-security main contrib non-free non-free-firmware
deb https://ftp.tsukuba.wide.ad.jp/debian/ bookworm-backports main non-free-firmware
deb https://ftp.riken.jp/Linux/debian/debian/ bookworm-backports main non-free-firmware
deb https://ftp.kddilabs.jp/Linux/packages/Debian/debian/ bookworm-backports main non-free-firmware
deb http://ftp.nara.wide.ad.jp/pub/Linux/debian/ bookworm-backports main non-free-firmware
deb https://ftp.tsukuba.wide.ad.jp/debian/ bookworm main contrib non-free non-free-firmware
deb https://ftp.riken.jp/Linux/debian/debian/ bookworm main contrib non-free non-free-firmware
deb https://ftp.kddilabs.jp/Linux/packages/Debian/debian/ bookworm main contrib non-free non-free-firmware
deb http://ftp.nara.wide.ad.jp/pub/Linux/debian/ bookworm main contrib non-free non-free-firmware
deb https://ftp.tsukuba.wide.ad.jp/debian/ bookworm-updates main contrib non-free non-free-firmware
deb https://ftp.riken.jp/Linux/debian/debian/ bookworm-updates main contrib non-free non-free-firmware
deb https://ftp.kddilabs.jp/Linux/packages/Debian/debian/ bookworm-updates main contrib non-free non-free-firmware
deb http://ftp.nara.wide.ad.jp/pub/Linux/debian/ bookworm-updates main contrib non-free non-free-firmware
:wq
追加したら、一度sudo apt update
しておきます。
apt-fastのインストール
apt-fastを入れるためのリポジトリを追加します。
sudo vi /etc/apt/sources.list
# 以下の行を追加
deb [signed-by=/etc/apt/keyrings/apt-fast.gpg] http://ppa.launchpad.net/apt-fast/stable/ubuntu focal main
:wq
# 以下のコマンドを実行
sudo mkdir -p /etc/apt/keyrings
sudo curl -fsSL "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0xBC5934FD3DEBD4DAEA544F791E2824A7F22B44BD" | sudo gpg --dearmor -o /etc/apt/keyrings/apt-fast.gpg
sudo apt update
sudo apt install apt-fast
「apt」を選択
「10」に設定
「No」を選択
終わったらsudo apt upgrade
で最新化します。
Vimインストール
入っていないので入れます。
sudo apt install -y vim
RKHunterインストール
RKHunterをインストールして、ルートキットを検出出来るようにします。
sudo apt -y install rkhunter curl
sudo vi /etc/default/rkhunter
# 以下の箇所を書き換えます。
# trueに修正(デイリー走査)
CRON_DAILY_RUN="true"
# trueに修正(週刊DBアップデート)
CRON_DB_UPDATE="true"
# 自分のメールアドレスを入力
REPORT_EMAIL="lovely@yukarin.lovelove"
:wq
sudo vi /etc/rkhunter.conf
# 以下の箇所を書き換えます。
# 107行目
UPDATE_MIRRORS=1
# 122行目
MIRRORS_MODE=0
# 1190行目
WEB_CMD=""
:wq
rkhunterのDBアップデート
sudo rkhunter --update
# 以下のように出力されます。
[ Rootkit Hunter version 1.4.6 ]
Checking rkhunter data files...
Checking file mirrors.dat [ Updated ]
Checking file programs_bad.dat [ No update ]
Checking file backdoorports.dat [ No update ]
Checking file suspscan.dat [ No update ]
Checking file i18n/cn [ Skipped ]
Checking file i18n/de [ Skipped ]
Checking file i18n/en [ No update ]
Checking file i18n/tr [ Skipped ]
Checking file i18n/tr.utf8 [ Skipped ]
Checking file i18n/zh [ Skipped ]
Checking file i18n/zh.utf8 [ Skipped ]
Checking file i18n/ja [ Skipped ]
# システムファイル情報のアップデート
sudo rkhunter --propupd
# 以下のように出力されます。
[ Rootkit Hunter version 1.4.6 ]
File updated: searched for 179 files, found 139
# チェック実行
sudo rkhunter --check --sk
これで異常が出ずに終わることを確認します。
ClamAVインストール
ClamAVを入れて、ウイルスなどを検出出来るようにします。
sudo apt -y install clamav
sudo sed -i -e "s/^NotifyClamd/#NotifyClamd/g" /etc/clamav/freshclam.conf
sudo systemctl stop clamav-freshclam
sudo freshclam
sudo systemctl start clamav-freshclam
# 動作確認
sudo clamscan --infected --remove --recursive /home
# 以下のように検出されなければOK
----------- SCAN SUMMARY -----------
Known viruses: 8703662
Engine version: 1.0.7
Scanned directories: 2
Scanned files: 4
Infected files: 0
Data scanned: 0.00 MB
Data read: 0.00 MB (ratio 0.00:1)
Time: 54.950 sec (0 m 54 s)
Start Date: 2025:01:07 14:09:54
End Date: 2025:01:07 14:10:49
sshのログイン相手を限定
ログイン出来るIPアドレスを限定して、それ以外の端末からはログイン出来ないようにします。
sudo vi /etc/hosts.deny
# 末行に以下を追記(一律アク禁)
sshd: ALL
:wq
sudo vi /etc/hosts.allow
# 末行に以下を追記(許可するIPゾーン)
sshd: 192.168.111.0/24 127.0.0.0/8
:wq
teratermを新しく立ち上げて、入れるか試してみる。
ufwインストール
ファイアウォールは入れておかないとですよね。
sudo apt -y install ufw
sudo systemctl enable ufw
# 状態確認
sudo ufw status
Status: inactive
# IPv6は設定しない
sudo vi /etc/default/ufw
# IPv6の箇所を「no」に修正
IPv6=no
:wq
# 有効化
sudo ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup
sudo ufw status
Status: active
# ルール設定(とりあえず基本全部禁止)
sudo ufw default deny
# SSHだけ通す
sudo ufw allow openssh
# 以下のような表示がされる
Rule added
sudo ufw status
# 以下のような表示がされる
Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
# 反映
sudo ufw reload
# 以下のような表示がされる
Firewall reloaded
NTPクライアントの設定
ntp.nict.jp
を参照するように設定します。
sudo vi /etc/systemd/timesyncd.conf
# 16行目をコメントアウトして、以下のように値を追記
NTP=ntp.nict.jp
:wq
# サービスをリスタート&動作確認
sudo systemctl restart systemd-timesyncd
timedatectl timesync-status
# 以下のように出力される
Server: 133.243.238.244 (ntp.nict.jp)
Poll interval: 1min 4s (min: 32s; max 34min 8s)
Leap: normal
Version: 4
Stratum: 1
Reference: NICT
Precision: 1us (-20)
Root distance: 0 (max: 5s)
Offset: -7.117ms
Delay: 5.945ms
Jitter: 0
Packet count: 1
Frequency: -80.588ppm