Ubuntu Desktop環境構築 Part 6

最低限のセキュリティ対策

公開日: 2020-12-18

  概要
目的 最低限のセキュリティ対策
参考 fail2ban設定例
ufw と fail2ban の連携
rkhunter no long updating under MX Linux

1. 今回の方針

  1. システムのアップデート設定
  2. Intrusion Prevent Systemの設定
  3. rootkit対策
  4. lynisによるシステム診断
  5. 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も同じ要領で修正可能


Share Buttons
Share on:

Feature Tags
Leave a Comment
(注意:GitHub Accountが必要となります)