Debian のセキュリティー設定

Debian にセキュリティー関係の設定をした。やり方は Ubuntu とほとんどが共通だ。

環境:macOS Catalina Version 10.15.6(英語環境)、VMware Fusion 12.0.0(Debian 11)

(1)アップデート。

$ sudo apt update
$ sudo apt dist-upgrade
$ sudo apt autoremove

(2)ファイアウォールのインストール。

$ sudo apt install ufw

(3)/etc/ssh/sshd_config を以下のように編集し、SSH ログイン用のポートを変更する。今回は 2222 にする。

変更前:#Port 22
変更後:Port 2222

ssh を再起動。

$ sudo service ssh restart

新しいポート番号(ここでは 2222)でログインするには以下のようにする。

$ ssh {USER}@{IP アドレス} -p 2222

(4)ファイアウォールのデフォルトを拒否にし、SSH 用ポート(2222)を許可した上で ufw を有効化する。

$ sudo ufw default deny
$ sudo ufw allow 2222
$ sudo ufw enable
$ sudo ufw status

(5)30 秒に6回 SSH 用ポート 22 や 2222 にアクセスしてきた IP アドレスを一定期間制限するには以下。

$ sudo ufw limit 22
(あるいは $ sudo ufw limit ssh)
$ sudo ufw limit 2222
$ sudo ufw status

さきほど開いた 2222 も制限されるように変更される。自分でログインする際に 30 秒に6回アクセスすることは通常ないので問題ない。

(6)【IPv6 を無効化する】

現在の設定を確認する。

$ ip a

inet6 で始まる行があれば IPv6 が有効化されている。

/etc/sysctl.conf を編集し、最終行に以下を追加。

net.ipv6.conf.all.disable_ipv6 = 1

設定を反映。

$ sudo sysctl -p

SSH で接続していたら、一旦接続が切れた。再接続。

再度設定を確認すると inet6 の行がなくなっているはず。

$ ip a

/etc/default/ufw を以下のように編集。

変更前:IPV6=yes
変更後:IPV6=no

ufw をリロード、設定確認。

$ sudo ufw reload
$ sudo ufw status

ufw でも IPv6 が無効化された。

(7)【root ログインを禁止する】

/etc/ssh/sshd_config を編集し、以下の行を追加。

PermitRootLogin no

ssh を再起動。

$ sudo service ssh restart

これで root でログインしようとすると、パスワードを入力した段階で、Permission denied, please try again. と表示されるようになる。

root に昇格するには一般ユーザーでログインした上で以下のコマンドを使う。

$ sudo su -

(8)【ICMP の無効化】

/etc/ufw/before.rules を以下のように編集する。

変更前:
#ok icmp codes for INPUT
-A ufw-before-input -p icmp --icmp-type destination-unreachable -j ACCEPT
-A ufw-before-input -p icmp --icmp-type time-exceeded -j ACCEPT
-A ufw-before-input -p icmp --icmp-type parameter-problem -j ACCEPT
-A ufw-before-input -p icmp --icmp-type echo-request -j ACCEPT

変更後:
#ok icmp codes for INPUT
-A ufw-before-input -p icmp --icmp-type destination-unreachable -j DROP
-A ufw-before-input -p icmp --icmp-type source-quench -j DROP
-A ufw-before-input -p icmp --icmp-type time-exceeded -j DROP
-A ufw-before-input -p icmp --icmp-type parameter-problem -j DROP
-A ufw-before-input -p icmp --icmp-type echo-request -j DROP

ufw の再読み込み。

$ sudo ufw reload

これで ping の応答がなくなる。

参考:

【Debian 8 Jessie】IPv6を無効化する - Qiita
https://qiita.com/osktak/items/339d3fb887a560275934

ufwでIPv6を無効化する方法 | server-memo.net
https://www.server-memo.net/ubuntu/ufw_ipv6_disable.html

Linuxでrootアカウントを無効にする4つの方法 | TECH+(テックプラス)
https://news.mynavi.jp/techplus/article/20181023-711499/

rootでのSSHログインを禁止 - SSHサーバーの設定 - Linux入門 - Webkaru
https://webkaru.net/linux/ssh-prohibit-root-login/

[Ubuntu 18.04] ufw で細かい指定条件でファイアウォールを設定する方法 | 僕とガジェット
https://www.gadgets-today.net/?p=4754


この記事が気に入ったらサポートをしてみませんか?