dshimizu/blog

アルファ版

さくらのVPSのUbuntu 14.04 LTSの初期設定

はじめに

さくらのVPSUbuntuをインストールしたので、その初期設定です。

Ubuntu 14.04 LTSの初期設定項目

  • 一般ユーザ/グループ作成
  • sudo設定
  • sshの設定
  • localeの設定
  • Postfixの設定
  • ntpの設定
  • ゾルバの設定
  • iptablesの設定
  • パッケージアップデート

一般ユーザ/グループ作成

グループを作成します。ここではグループ名:hogegid:10000としています。

# groupadd -g 10000 hoge

一般ユーザを作成します。ユーザ名:hoge、uid:10000、所属グループ:hogeで作成しています。

# useradd -u 10000 -g hoge -d /home/hoge -m -s /bin/bash hoge

パスワードを設定します。

# passwd hoge

公開鍵作成

先ほど作成したユーザのssh鍵ペアを作成します。

# su - hoge
$ ssh-keygen -t rsa ←RSA暗号方式の鍵を作成
Generating public/private rsa key pair.
Enter file in which to save the key (/home/hoge/.ssh/id_rsa): ←[Enter]キーを押す
Enter passphrase (empty for no passphrase): ←パスフレーズを入力
Enter same passphrase again: ←もう一度同じパスフレーズを入力
Your identification has been saved in id_rsa.
Your public key has been saved inid_rsa.pub.
The key fingerprint is:
1c:4b:4b:81:3b:66:54:d2:2b:26:c3:c6:52:28:fe:3b hoge@XXXXXXXX.sakura.ne.jp
The key's randomart image is:
+--[ RSA 2048]----+
|   .  .+o        |
|. . . o...       |
|.. + . .+.       |
| .. * B+.+       |
|  .o * oS        |
|   .             |
|    .            |
|   E             |
|    .            |
+-----------------+

公開鍵id_rsa.pubをauthorized_keysという名称に変更して、パーミッションを600(所有者のみ読み書き可能)にします。

$ cd ~/.ssh
$ mv id_rsa.pub authorized_keys
$ chmod 600 authorized_keys

sudo設定

hogeグループでsudo可能なように設定します。

# vim /etc/sudoers.d/hoge
%hoge ALL=(ALL) ALL
# chmod 600 /etc/sudoers.d/hoge

sshの設定

まずはsshの設定をします。

# vim /etc/ssh/sshd_config
 :
### sshdのポートを22から別ポートへ変更します。
### 以下は10022にしてますがなんでも構いません。
Port 10022
 :
### sshプロトコルバージョン2のみ許可します。
Protocol 2
 :
### rootユーザでの外部からのログインを拒否します。
### デフォルトでは鍵認証でのログインのみ許可(without-password)されています。
PermitRootLogin no
:
### パスワード認証でのログインを拒否します。
PasswordAuthentication no
 :
### sshバージョン1でのRSA認証を拒否します。
RSAAuthentication no
 :
### SSH公開鍵認証を許可します。
PubkeyAuthentication yes

sshdを再起動します。

# service ssh restart

秘密鍵を使って外部からログインできるか確認します。

localeの設定

デフォルトではシステムの言語設定が英語になっています。 これは環境変数LANGUAGEがen_USになっているためです。

# cat /etc/default/locale
LANG="en_US.UTF-8"
LANGUAGE="en_US:"

このままですとユーザの環境変数に ja_JP.UTF-8を設定してもうまく日本語で表示されません。

ja_JP.UTF-8 自体がUbuntu 14.04 LTSでサポートされているかを確認します。

# grep ja /usr/share/i18n/SUPPORTED
ja_JP.EUC-JP EUC-JP
ja_JP.UTF-8 UTF-8

続いて現在のUbuntuで利用可能なロケールを確認します。

# locale -a
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_COLLATE to default locale: No such file or directory
C
C.UTF-8
POSIX
en_US.utf8

ja_JP.UTF-8 は登録されていません。

そこで、システムで利用可能なロケールに新たな値を locale-gen コマンドを使って登録します。

# locale-gen ja_JP.UTF-8
Generating locales...
  ja_JP.UTF-8... done
Generation complete.

再度登録されているロケールを確認します。

# locale -a
C
C.UTF-8
POSIX
en_US.utf8
ja_JP.utf8

これでja_JP.UTF-8が利用可能になりました。

最後に update-locale コマンドを使って、デフォルトのロケール設定をja_JP.UTF-8に設定します。

# update-locale LANG=ja_JP.UTF-8
*** update-locale: Warning: LANGUAGE ("en_US:") is not compatible with LANG (ja_JP.UTF-8). Disabling it.

LANGUAGEがコメントアウトされ、LANG環境変数がja_JP.UTF-8へと変更されました。

# cat /etc/default/locale
LANG=ja_JP.UTF-8
#LANGUAGE="en_US:"

Postfixの設定

Postfixの設定を行います。 外部へメール送信可能なように設定します。

# ホスト名の設定
myhostname = xxxxxxxx.sakura.ne.jp
 :
# メール送信時に利用するドメインの設定
mydomain = xxxxxxxx.sakura.ne.jp
 :
# 外部からのメール受信許可設定
inet_interfaces = all
 :
# 利用プロトコルipv4に変更
inet_protocols = ipv4
 :
# 宛先の設定(自ホストが最終的な宛先になるようドメイン名を指定)
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
 :
# 自ホストのアドレスのみSMTP接続を許可
mynetworks_style = host
  :
# mynetworks_styleに変わって以下でも良い
mynetworks = さくらのVPSIPアドレス
 :
# リレーを許可するアドレスの指定
relay_domains = $mydestination
 :
# telnetなどで接続された時にメールソフトの情報を非表示
smtpd_banner = $myhostname ESMTP unknown

設定できたらPostfixを再起動します。

# service postfix restart

ntpの設定

NTPの設定を行います。 既存の設定を全て削除して、下記のような設定を行います。

# vim /etc/ntp.conf
restrict default ignore
restrict -6 default ignore
restrict -4 ntp1.sakura.ad.jp kod nomodify notrap nopeer noquery
restrict -6 ntp1.sakura.ad.jp kod nomodify notrap nopeer noquery
restrict 127.0.0.1
restrict -6 ::1
server -4 ntp1.sakura.ad.jp iburs
server -6 ntp1.sakura.ad.jp iburs

ゾルバの設定

リージョンに合ったネームサーバを指定します。

# vim /etc/resolv.conf
nameserver xxx.xxx.xxx.xxx
nameserver xxx.xxx.xxx.xxx
search sakura.ne.jp

iptablesの設定

細かく設定する場合はiptablesコマンドで頑張る必要がありますが、ここではufwを使います。 ufwでは外部から内部への通信制御ができます。 ひとまずここまでで必要なssh(10022), smtp(25)くらいを開けておきます。

ufwを起動します。

# ufw enable

まず外部からの全ての通信を拒否します。

# ufw default DENY

ログの記録を有効にします。

# ufw logging on

外部からのssh(10022)の通信を許可します。

# ufw allow 10022

外部からのsmtpのポート(25)への通信を許可します。

# ufw allow 25

設定を確認します。

# ufw status

パッケージアップデート リポジトリのパッケージ・リストを更新します。
# apt update
インストールされてるパッケージを更新します。
# apt upgrade
OSを再起動します。
# reboot

おわりに

以上で、さくらのVPSUbuntu 14.04 LTSの初期設定が完了です。