とーますメモ

Ruby on Rails / Goなどの学習メモ

【Ubuntu】自分用まとめ:セキュリティ対策

自分用メモ。

1)rootユーザでのログインを禁止

/etc/ssh/sshd_config

PermitRootLogin no

2)sshdのログインポートの変更

/etc/ssh/sshd_config

Port 1234

3)パスワード認証を禁止

/etc/ssh/sshd_config

PasswordAuthentication no

4)いらないサービスを停止/削除

いらないサービスを極力停止または削除する。

サービスの状態確認のコマンド

$ systemctl list-unit-files --type=service

ポートが開いているサービスの一覧コマンドは以下。

$ ss -atl

または

netstat -ntl

MySQLの停止例

$ sudo systemctl stop mysql

5)再起動させない設定

たとえばログインパスワードを知らなくても、再起動しメンテナンスモードで起動すれば
パスワード無しで管理者権限を得ることが可能。そのため、システムを再起動させないようにする。
一般的なIntelアーキテクチャだと、Ctrl + Alt + Deleteでシステムが再起動するので、
このキー操作を無効化する。

6) セキュリティアップデートの自動化

thoames.hatenadiary.jp

$ sudo systemctl mask ctrl-alt-del.target
$ sudo systemctl daemon-reload

7)fail2banのインストール

悪意あるアクセス元のIPアドレスを遮断する。
※Sshguardというサービスもあるが、感覚的にfail2banのほうが日本語情報が多い印象があるため、
fail2banを使用

8)Rootkit Hunter(rkhunter)でルートキット、バックドア、ローカルの脆弱性の検出を行う

インストール

$ sudo apt install rkhunter

rootkitデータベースをアップデート

$ sudo rkhunter --update

システムチェック
通常)

$ sudo rkhunter -c

簡易。警告メッセージのみ表示し、テストごとにEnter入力を求めないシステムチェック)

$ sudo rkhunter -c --rwo -sk

9)ufw(ファイヤーウォール)のインストール及び設定

10)lynis(システム診断ツール)を入れる。

インストール

$ sudo apt install lynix

診断

$ sudo lynis audit system

WarningsやSuggestionsを見て、対処が必要なものから対応していく。

11)アンチウイルスソフトを入れる

定番の「Clam antivirus」を入れる。

インストール

$ sudo apt install -y clamav

現段階では不要な「ウイルス定義更新をclamdに通知する設定」をOFFにする。
/etc/freshclam.conf

$ # NotifyCamd /etc/clamav/clamd.conf

ウイルスデータベースを更新(手動)

$ sudo freshclam

自動的にウイルスデータベースを更新

$ sudo systemctl start clamav-freshclam

ディレクトリを手動でスキャン
/homeディレクトリをスキャンする例

sudo clamscan -i -r /home