さくらVPS公式サイトにある「サーバー作成直後に設定しておくべきセキュリティ設定」をベースに設定を行います。
一般ユーザーとしてデフォルトで登録されている「alma」をリネームして再利用します。
一部に一般ユーザーで行う作業が有りますが基本的にはrootユーザーで作業を行います。
デフォルトでは無効化されていたので有効化します。
有効にするといろいろと設定する項目が増えるので面倒であれば無効のままで進めます。
以下のコマンドを実行し確認します。
# getenforce
Disabled
Disabled
と表示された場合は無効化されていますので有効化します。
設定ファイルのSELINUXを変更します。
/etc/selinux/config
22行目:SELINUX=enforcingに変更
# grubby --update-kernel ALL --remove-args selinux
#
- SELINUX=disabled
+ SELINUX=enforcing
# SELINUXTYPE= can take one of these three values:
# targeted - Targeted processes are protected,
以下のコマンドを実行し、ブートローダーの設定を変更します。
# grubby --update-kernel ALL --remove-args selinux
以下のコマンドを実行し、サーバーを再起動します。
# reboot
デフォルトでは無効化されていたので有効化します。
以下のコマンドを実行し現在の状態を確認します。
# systemctl status firewalld
以下のコマンドを実行しfirewalldサービスの起動と自動起動するようにします。
# systemctl enable --now firewalld
以下のコマンドを実行し、インストール済みの全パッケージを最新版へアップデートします。
# dnf -y update
アップデートが完了したら再起動します。
# reboot
almaユーザーでログインし、rootユーザーでログイン出来るようにrootユーザーのパスワードを設定します。
$ sudo passwd root
New password: [新規パスワードを入力]
Retype new password:
passwd: all authentication tokens updated successfully.
パスワードを登録したらalmaユーザーからログアウトし、さくらVPSホームページのVNCコンソールまたはシリアルコンソールから、先ほど設定したパスワードでrootユーザーにログインします。
登録済みのユーザー名almaを新ユーザー名に変更します。
# usermod -l 新ユーザー名 alma
ホームディレクトリを/home/almaから/home/新ユーザー名へ変更します。
# usermod -md /home/新ユーザー名 新ユーザー名
グループ名をalmaから新グループ名に変更します。
# gourpmod -n 新グループ名 alma
変更できたか確認します。
# id alma
id: `alma': no such user
# id 新ユーザー名
uid=1000(新ユーザー名) gid=1000(新ユーザー名) groups=1000(新グループ名),10(wheel)
# echo ~新ユーザー名
/home/新ユーザー名
上記のように表示されれば変更ができていることが確認出来ます。
root にsu 可能なユーザーを wheel グループに限定します。
設定ファイルの#auth required pam_wheel.so use_uidの#を削除します。
/etc/pam.d/su
7行目:先頭の"#"を削除
# Uncomment the following line to implicitly trust users in the "wheel" group.
#auth sufficient pam_wheel.so trust use_uid
# Uncomment the following line to require a user to be in the "wheel" group.
- #auth required pam_wheel.so use_uid
+ auth required pam_wheel.so use_uid
auth substack system-auth
auth include postlogin
sudoersファイルを編集します。
# visudo
最終行のユーザー名をalmaから新ユーザー名へ変更します。
/etc/sudoers.tmp
## Allows members of the users group to shutdown this system
# %users localhost=/sbin/shutdown -h now
## Read drop-in files from /etc/sudoers.d (the # here does not mean a commen t)
#includedir /etc/sudoers.d
- alma ALL=(ALL) NOPASSWD: ALL
+ 新ユーザー名 ALL=(ALL) NOPASSWD: ALL
変更できているか確認します。
# sudo -l -U 新ユーザー名
Matching Defaults entries for 新ユーザー名 on localhost:
!visiblepw, always_set_home, match_group_by_gid, always_query_group_plugin,
env_reset, env_keep="COLORS DISPLAY HOSTNAME HISTSIZE KDEDIR LS_COLORS",
env_keep+="MAIL PS1 PS2 QTDIR USERNAME LANG LC_ADDRESS LC_CTYPE",
env_keep+="LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES",
env_keep+="LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE",
env_keep+="LC_TIME LC_ALL LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY",
secure_path=/sbin\:/bin\:/usr/sbin\:/usr/bin
User 新ユーザー名 may run the following commands on localhost:
(ALL) ALL
(ALL) NOPASSWD: ALL
rootからログアウトし、ターミナルからalmaユーザーにログイン出来ない事を確認します。
確認出来たらターミナルから新ユーザーでログインできる事を確認します。
ログイン出来たら変更が反映されているか確認します。
$ id
uid=1000(新ユーザー名) gid=1000(新ユーザー名) groups=1000(新グループ名),10(wheel)
$ pwd
/home/新ユーザー名
root所有ファイルまたはディレクトリにアクセスできる事を確認するので実行するコマンドはls以外でも問題ありません。
$ sudo ls ~root
エラーが出なければ利用することができています。
rootユーザーのパスワードを削除します。
$ sudo passwd -d root
Removing password for user root.
passwd: Success
rootユーザーをロックします。
$ sudo passwd -l root
Locking password for user root.
passwd: Success
スワップファイルが使用されているか確認します。
# free
total used free shared buff/cache available
Mem: 1816784 250320 1557224 5020 155940 1566464
Swap: 0 0 0
Swapのtotalが0なら使用されていません。
スワップメモリに使用する2GByteの/swapfileを作成します。
# fallocate -l 2G /swapfile
# chmod 600 /swapfile
# mkswap /swapfile
# swapon /swapfile
# echo '/swapfile none swap sw 0 0' | tee -a /etc/fstab
# swapon --show
NAME TYPE SIZE USED PRIO
/swapfile file 2G 0B -2
# free
total used free shared buff/cache available
Mem: 1816784 290892 142364 5016 1550068 1525892
Swap: 2097148 0 2097148
Swapのtotalの欄の数値が増えていることを確認します。