サーバー建てて最初にやることめも(CentOS7)

久しぶりにサーバーの初期設定をやったので、覚書を残しておく。

環境

  • さくらVPS
  • CentOS7

やったこと

  1. sshの設定

    • ユーザー追加
    • 公開鍵認証設定
    • password authenticationの拒否
    • Rootログイン拒否
    • sshポート変更
    • sshd リロード
  2. 一般ユーザーでログインしなおし

  3. いろいろアップデート

    sudo yum upgrade
  4. SELinuxの設定

SELINUX の有効化および無効化

sudo yum install policycoreutils-python
sudo yum install setroubleshoot

上記の記事をそのままやると、ログインできなくなって詰んだのでpermissiveでいろいろ試験

  • SELinux Disabled -> Permissive
  • リブート
  • sudo ausearch -m avc
type=AVC denied  { dyntransition } for comm="sshd" scontext=system_u:system_r:kernel_t:s0 tcontext=unconfined_u:unconfined_r:unconfined_t:s0 tclass=process permissive=1

一部省略

いろいろコンテキストがおかしそうなので

sudo restorecon -R /
sudo reboot

ポートを変更したのでsemanageで設定を変更しないといけないといけないことに気づいた

sudo semanage port --add --type ssh_port_t --proto tcp NEW_PORT
sudo semanage port --delete --type ssh_port_t --proto tcp 22
// ValueError: Port tcp/22 is defined in policy, cannot be deleted

消せないのかぁまあいいか

sudo setenforce 1

ログインできたのでさくらのパケットフィルタで22番ポートを閉じる 再起動

再起動してもログインできた! 監査ログに異常がないことを確認したのでSELinuxをEnforcingにし、もう一度再起動

正常にログインできました。やったぜ。

$ cat /etc/redhat-release
CentOS Linux release 7.7.1908 (Core)