最初に
やるべきかどうかは置いといて、セキュリティ対策を調べたときにこんな設定があったってことで、学んだことを備忘録としてまとめます。
あとArch Linux 特有の内容薄いかも
ファイアウォールの導入
選択肢
| ツール | 特徴 |
|---|---|
| ufw | Ubuntu由来の簡単操作ツール |
| iptables | 伝統的・柔軟 |
| nftables | 新標準。iptablesの後継 |
iptablesって昔からあるようですが、その分(?)若干難解寄りな気がします。
ufw のインストールと設定
sudo pacman -S ufw
sudo systemctl enable ufw
sudo systemctl start ufw
基本設定:
sudo ufw default deny incoming
sudo ufw default allow outgoing
特定ポートを開放(例:SSH):
sudo ufw allow 22
状態確認:
sudo ufw status
アンチウイルスの導入
Linuxでもマルウェアはゼロではありません。特にファイル共有やダウンロードが多い場合、スキャンは割と重要です。
ClamAV の導入と使い方
sudo pacman -S clamav
sudo freshclam # ウイルス定義の更新
ファイル/ディレクトリをスキャン:
clamscan -r ~/Downloads
最小権限の原則
当たり前ですがrootでの常用操作は危険です。
- 普段は一般ユーザーアカウントを使用。
- 必要な時だけ sudo を使用する。
sudo の設定
sudo pacman -S sudo
sudo visudo
%wheel ALL=(ALL:ALL) ALL の行を有効にして、wheelグループのユーザーに sudo 権限を付与します。
そもそも環境構築したてのArch Linuxってsudoすら入ってないので、rootユーザーから一般ユーザー作ったら真っ先にやっとくべきですね。。。
AUR パッケージの安全な扱い方
AUR(Arch User Repository)は便利ですが、信頼性はピンキリです。
安全な利用のポイント
- 信頼できるメンテナのものか確認
- PKGBUILD の内容を必ず目視確認
例:yay を使う場合
yay -S <パッケージ名>
途中で PKGBUILD を表示して「怪しいURLがないか」「不審なスクリプトがないか」を見るのが重要です。
ログとネットワークの監視
システムの「異変」にいち早く気づくには、ログ確認とネットワーク監視が役立ちます。
journalctl
journalctl -b -p err
過去のログ確認:
journalctl --since "2 days ago"
systemd-analyze
起動時間分析:
systemd-analyze
systemd-analyze blame
ネットワーク監視
sudo pacman -S iftop net-tools
sudo iftop -i wlan0
netstat -tulnp
自動通知は基本ナシ、自分でチェックが必要
Arch Linux 環境では、セキュリティ通知の自動化とか特にされていないので自分で定期的に監視・スキャンを行うのが基本です。
ただ、SSEC や Snort, Suricata などの 侵入検知システム(IDS) を導入すれば、多少自動化も可能になるかと。
まとめ
| 対策項目 | 実施例 |
|---|---|
| ファイアウォール | ufw を導入、デフォルト拒否 |
| アンチウイルス | clamav を導入して定期スキャン |
| 最小権限 | 普段は一般ユーザー + sudo の活用 |
| AURの取り扱い | PKGBUILD を毎回確認 |
| ログ監視 | journalctl / systemd-analyze |
| ネットワーク監視 | iftop / netstat でトラフィック確認 |
| (IDSの検討) | (OSSEC / Snort など) |
最後に
Arch Linux は自由度が高い代わりに、OSインスコした直後はまじで何も入ってないので、セキュリティを学ぶには良い教材な気もします。