概要 | |
---|---|
目的 | 最低限のセキュリティ対策 |
参考 | fail2ban設定例 ufw と fail2ban の連携 rkhunter no long updating under MX Linux |
- 1. 今回の方針
- 2. システムのアップデート設定
- 3. IPS (Intrusion Prevent System) の設定:
fail2ban
(任意設定) - 4. rootkit対策
- 5.
lynis
によるシステム診断 - 6.
clam antivirus
によるウイルス対策 - Appendix: lynisのwarning修正
1. 今回の方針
- システムのアップデート設定
- Intrusion Prevent Systemの設定
- rootkit対策
lynis
によるシステム診断clam antivirus
によるウイルス対策
2. システムのアップデート設定
ソフトウェアのセキュリティホールはひっきりなしに発見されます。利用しているソフトウェアにセキュリティホールが存在した場合、直ちにセキュリティホールのないバージョンへアップデートさせる必要があります。
1
$ sudo apt install unattended-upgrades
unattended-upgrades
パッケージをインストールすると設定画面が表示されます。
設定項目 | |
---|---|
Automatically dpwnload and install stable updates? | Yes |
Origins-Pattern | デフォルトの設定で良いのでOK を選択 |
設定は /etc/apt/apt.conf.d/50unattended-upgrades
ファイルに保存されているので、これを編集してアップデートする内容を設定できます。
通知設定 (任意設定)
メールサーバーのセットアップが完了している場合、アップデートの内容をメールで通知するように設定す流ことができる。
1
$ sudo nano /etc/apt/apt.conf.d/50unattended-upgrades
通知を送信するメールアドレスを設定する。
1
2
//Unattended-Upgrade::Mail "root";
Unattended-Upgrade::Mail "user@example.com";
3. IPS (Intrusion Prevent System) の設定: fail2ban
(任意設定)
IPSは侵入の試みを検知して積極的に防御してくれます。fail2ban
はログファイルをスキャンし、悪意のあるアクセスや攻撃の全長を捉えてアクセス元のIPアドレスをbanします。
fail2banのインストール
1
$ sudo apt install fail2ban
設定ファイルは /etc/fail2ban/jail.conf
ファイル及び /etc/fail2ban/jail.d
以下のファイルとなります
fail2banのconfig設定と起動
設定は /etc/fail2ban/jail.conf
を直接編集するのではなく、jail.local
ファイルとしてコピーしてこちらに設定を記述します。
設定例は以下、
1
2
3
4
5
6
7
8
ignoreip = 127.0.0.1/8 #無視しても良いIPアドレスがあれば記述
bantime = 600 #IPアドレスを600秒間遮断する
findtime = 900 #ログファイル内で900秒間に三回の兆候があれば遮断する
maxretry = 3
banaction = ufw #firewall設定パッケージの指定 ufw
fail2banの起動は
1
$ sudo systemctl start fail2ban.service
4. rootkit対策
rootkitとは、クラッカーが利用するための何らかの不正侵入ツールのことです。不正侵入者にrootkitを仕掛けられると、侵入の発見が困難になってしまいます。Rootkit Hunterは、rootkitやファイルの改ざん形さに加えて、主なサーバーソフトウェアなどの検査も行うツールです。
1
$ sudo apt install rkhunter
検査は
1
$ sudo rkhunter -c
出力結果から[[Warning]]
のように黄色もしくは赤色で表示される項目を確認し、対応策を実施することが望ましいです。
データベースのアップデート
Rootkit Hunterはrootkitの情報を格納したデータベースをオンラインでアップデートできるなっています。
1
2
$ sudo rkhunter --update
$ sudo rkhunter --propupd
アップデートができない場合はconfigの設定を以下のように変える。各パラメータがどのようなものを指しているかは /etc/rkhunter.conf
に記載してあるので確認。
1
2
3
4
5
$ sudo nano /etc/rkhunter.conf
UPDATE_MIRRORS=1
MIRRORS_MODE=0
WEB_CMD=""
PKGMGR=DPKG
5. lynis
によるシステム診断
lynisはUNIX系OS向けのセキュリティ診断ツールです。システム設定や状態をチェックして、利用可能なシステム情報やセキュリティ問題のレポートを作成します。インストールは以下、
1
$ sudo apt install lynis
lynisによる診断は
1
$ sudo lynis audit sysytem
いろいろ怒られる項目が出てきますが、できる範囲内で対応していきます。今回は個人用Desktopの設定なので厳密に実施する必要はないと思いますが、サーバーとして運用する場合はほぼすべて対応することが望ましいです。
lynisのバージョン確認
1
$ lynis show version
lynisのアップデート情報の確認
1
$ sudo luynis update info
update方法の詳細は公式サイトを参考にしてください。以下では簡単にチュートリアル程度に説明します。
まずキーサーバーから最新のレポジトリを落としてきます。
1
$ wget -O - https://packages.cisofy.com/keys/cisofy-software-public.key | sudo apt-key add -
レポジトリをインストールします。
1
2
$ echo "deb https://packages.cisofy.com/community/lynis/deb/ stable main" | sudo tee /etc/apt/sources.list.d/cisofy-lynis.list
$ apt install apt-transport-https
レポジトリを更新し、インストールしなおします
1
2
$ apt update
$ apt install lynis
6. clam antivirus
によるウイルス対策
Linux地震に感染するコンピューターウイルスやワームは多くないですが、WindowsやmacOS用のウイルスが書き込まれ、サーバーの利用者に感染してしまうことは考えられます。今回は、オープンソースのウイルス対策ソフトウェアであるclan antivirus
を紹介します。
1
$ sudo apt install clamav -y
設定ファイル /etc/clamav/freshclam.conf
から NotifyClamd の行をコメントアウトします。そしてウイルスデータベース更新コマンドの freshclam
コマンドを実行します。デーモンとして動いている場合は、手動で実行する必要はありません。
home directory以下のウイルススキャンを実施します。-i
, -r
はinfected fileの出力とrecursiveの意味です。
1
$ sudo clamscan -i -r /home
Appendix: lynisのwarning修正
WARNING: Permissions for directory: /etc/sudoers.d
Permissions for directory: /etc/sudoers.d
をothersからunreadable(読み込み不可)にすることで解決することができます。パーミッションとは、ファイルやディレクトリに対してユーザーやグループが持つ権利のことです。パーミションには読み込み、書き込み、実行の三つの属性があります。今回はこれを750
とします。750
はそれぞれuser, group, otherのパーミッションレベルに対応しております。
1
$ chmod 750 /etc/sudoers.d
パーミッション | 数値 |
---|---|
r(readble) | 4 |
w(writable) | 2 |
x(executable) | 1 |
-(不許可) | 0 |
- home directoryのパーミッションWARNINGも同じ要領で修正可能
(注意:GitHub Accountが必要となります)