俺のUbuntu18.04 LTSの初期設定メモ(前半)


毎度のことながら、覚えが悪く、いろんなサイトを調べて回るのが億劫になってきたので、UbuntuでResponderを始めるまでの環境構築の備忘録

サーバー環境

VPSもレンタルサーバーも両方Conohaを使っています。
このはたん。かわいい。
レンタルサーバー Conoha

サーバー:Conoha VPS
OS:Ubunu18.04 LTS

このとも(お友達紹介制度)|VPSならConoHa
「このとも」になってやってもいいって方は、ぜひこちらから
みんなでクーポンGETだぜ。

Ubuntuの初期設定

ひとまず以下の内容で、簡単に基礎構築。
ラインの頭が $ の時はユーザー。 # の時はrootです。念の為。

  • ユーザー追加
  • SSH設定
  • iptablesでポート開放設定

rootでSSH接続

ConohaVPSで設定したパスワードと発行されたIPを使ってSSH接続

local
$ ssh [email protected]    #発行されたIPアドレス

ユーザー追加

remote
# adduser hoge    #いろいろ聞かれる、PW以外は空でOK
# gpasswd -a hoge sudo    #ユーザーにsudo権限付与

SSH設定

新規ユーザーでパスワードログイン
local
.sshディレクトリの作成とパーミッション変更
remote
$ mkdir ~/.ssh
$ chmod 700 ~/.ssh

ローカルに戻って、鍵の用意と転送

local
$ ssh-keygen
$ scp ~/.ssh/id_rsa.pub [email protected]:~/.ssh/authorized_keys

最後に転送したauthorized_keysのパーミッションを変更

remote
$ chmod 600 ~/.ssh/authorized_keys
SSH設定ファイルのバックアップ
remote
$ sudo cp -p /etc/ssh/sshd_confg /etc/ssh/sshd_config.orig
$ sudo nano /etc/ssh/sshd_config
SSH設定ファイルの編集

PasswordAuthenticationの設定は、万が一、鍵の生成等でミスってたらログインできなくなる可能性があるので、自信のない方は、先に鍵認証でログインできることを確認してから設定を行うことをおすすめします。

ポート変更

/etc/ssh/sshd_config
- #Port 22
+ Port SSHポート番号

rootでのログインを禁止

/etc/ssh/sshd_config
- PermitRootLogin yes
+ PermitRootLogin no

公開鍵での認証を許可

/etc/ssh/sshd_config
- #PubkeyAuthentication yes
+ PubkeyAuthentication yes

パスワードを使ったログインを禁止

/etc/ssh/sshd_config
- PasswordAuthentication yes
+ PasswordAuthentication no

空のパスワードを禁止

/etc/ssh/sshd_config
- #PermitEmptyPasswords no
+ PermitEmptyPasswords no

sshdの設定ファイルのシンタックスチェックしてから再起動

remote
$ sudo sshd -t
$ sudo systemctl reload sshd

最後に鍵認証でSSH接続できたら完了。

iptablesの設定

remote
$ sudo ufw allow 80   # http

$ sudo ufw allow 443  # https

$ sudo ufw allow SSHポート番号  # SSH

$ sudo ufw default deny # 基本拒否

$ sudo ufw enable # エナブル

$ sudo ufw status verbose # 設定確認
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip

To                         Action      From
--                         ------      ----
xxxxx                      ALLOW IN    Anywhere
80                         ALLOW IN    Anywhere
443                        ALLOW IN    Anywhere
xxxxx (v6)                 ALLOW IN    Anywhere (v6)
80 (v6)                    ALLOW IN    Anywhere (v6)
443 (v6)                   ALLOW IN    Anywhere (v6)

今後導入していきたいやつ:

  • Python(pyenv)
  • Responder
  • nginx
  • certbot

参考:
Ubuntu でユーザを追加する (adduser を使うべき)
Ubuntuユーザ追加とsudo権限付与。ユーザ/グループ操作まとめ
Ubuntu ServerのSSHのポート番号を変更し鍵認証に変更する

後半に続く

俺のUbuntu18.04 LTSの初期設定メモ(後編)