RasberryPi と遊ぼう〜セキュリティ強化編〜
セキュリティを強化する
Firewallのインストールなど、セキュリティ強化を施していきます。
ufw
Debian系のLinuxで、お手頃にインストールできるFirewallが ufw です。
インストール。
sudo apt install ufw
systemctlでステータスを確認。
インストールは終了したが、おやすみ中です(inactive)。
$ systemctl status ufw
○ ufw.service - Uncomplicated firewall
Loaded: loaded (/lib/systemd/system/ufw.service; enabled; preset: enabled)
Active: inactive (dead)
Docs: man:ufw(8)
インストールは終了しましたが、おやすみ中です(inactive)。
続いてルールを確認します。
何も許可されていない。
$ sudo ufw status verbose
Status: inactive
現時点では何も設定が行われていません。
外部からの接続を全て拒否します。
sudo ufw default deny incoming
自分からの通信は全て許可します。
sudo ufw default allow outgoing
個別にsshのポートを開放します。
このとき、IPアドレスを範囲指定して、ローカルIPアドレス(192.168.1.1〜192.168.1.254までのアドレス)のみを許可するようにします。(IPv6も同様)
$ sudo ufw allow from 192.168.1.0/24 to any port 22
Rules updated
$ sudo ufw allow from 240b:12:621:7500::/64 to any port 22
Rules updated (v6)
ufw を enable状態にして、ufwサービスを起動します。
その後、ufw のステータスを確認し、port番号22番が192.168.1.1〜254の範囲で使用可能であることを確認します。
$ sudo ufw enable
$ systemctl start ufw
$ sudo ufw status verbose
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip
To Action From
-- ------ ----
22 ALLOW IN 192.168.1.0/24
22 ALLOW IN 240b:12:621:7500::/64
想定通りの設定になっています。 mac 側から sshを再接続し、port 22が有効であることを確認して終了。
ClamAV
いわゆるEPP的な、アンチウイルスやマルウェア防御、振る舞い監視、脅威検知などを統合的に行うソフトを導入。ChatGPTに質問したところ、ClamAVがいいんじゃない?ということなのでインストールします(やや脳死)。
sudo apt install clamav -y
定義ファイルの更新をしようとしたところ、エラーが発生しました。
$ sudo freshclam
ERROR: Failed to lock the log file /var/log/clamav/freshclam.log: Resource temporarily unavailable
ERROR: Problem with internal logger (UpdateLogFile = /var/log/clamav/freshclam.log).
ERROR: initialize: libfreshclam init failed.
ERROR: Initialization error!
/var/log/clamav/freshclam.logが掴まれているっぽいです。
明示的にサービスを停止してfreshclamを再実行し、再度サービスを立ち上げます。
$ sudo systemctl stop clamav-freshclam
$ sudo freshclam
Sat Sep 6 22:39:50 2025 -> ClamAV update process started at Sat Sep 6 22:39:50 2025
Sat Sep 6 22:39:50 2025 -> daily.cvd database is up-to-date (version: 27755, sigs: 2076486, f-level: 90, builder: raynman)
Sat Sep 6 22:39:50 2025 -> main.cvd database is up-to-date (version: 62, sigs: 6647427, f-level: 90, builder: sigmgr)
Sat Sep 6 22:39:50 2025 -> bytecode.cvd database is up-to-date (version: 337, sigs: 81, f-level: 90, builder: raynman)
手順が前後してしまいましたが、clamav-daemon(clamd)もインストールします。
その後、systemctl enable でclamav-freshclam を自動起動するように変更します。
$ sudo apt install clamav-daemon -y
$ sudo systemctl enable clamav-freshclam
sudo systemctl start clamav-freshclam
スキャンを行います。
$ sudo clamscan
Loading: 15s, ETA: 0s [========================>] 8.71M/8.71M sigs
Compiling: 4s, ETA: 0s [========================>] 41/41 tasks
/home/takuyan/.bash_history: OK
/home/takuyan/.bash_logout: OK
/home/takuyan/.sudo_as_admin_successful: Empty file
/home/takuyan/.dmrc: OK
/home/takuyan/.bashrc: OK
/home/takuyan/.profile: OK
/home/takuyan/.Xauthority: OK
/home/takuyan/.xsession-errors.old: OK
/home/takuyan/.xsession-errors: OK
/home/takuyan/.lesshst: OK
----------- SCAN SUMMARY -----------
Known viruses: 8708214
Engine version: 1.0.9
Scanned directories: 1
Scanned files: 9
Infected files: 0
Data scanned: 0.02 MB
Data read: 0.01 MB (ratio 2.00:1)
Time: 20.406 sec (0 m 20 s)
Start Date: 2025:09:06 22:40:47
End Date: 2025:09:06 22:41:08
成功。ほぼまっさらなので当たり前ですが、問題はありません。 本来ならscanを自動化したいところですが、常時RasberryPiを起動しているわけではないので、今のところ手動実行のみにします。 そのうち、1時間に一回とか自動実行するようにスクリプトを組むかも(組まないかも)
RKHunter
RKHunterはセキュリティ監査ツール の一つで、特に rootkit、バックドア、ローカルエクスプロイトの検出を目的としたツールです。 念の為インストールしておきます。
sudo apt install rkhunter -y
confファイルの変更を行います。
$ sudo nano /etc/rkhunter.conf
ALLOW_SSH_ROOT_USER=no
confファイルが長いので、一旦 SSH_ROOT_USERだけnoに変更して、後でもう一回見直すことにします。
sudo rkhunter --updateがうまく動作しないので、以下のコマンドで一旦お茶を濁します。
プロパティデータベースのアップデートを行います。
$ sudo rkhunter --propupd
[ Rootkit Hunter version 1.4.6 ]
File updated: searched for 179 files, found 140
続いてチェックを行います。
sudo rkhunter --check
脆弱性がありそうなところが見えるので適宜締めていきます。
コメント
コメントを投稿