さくらVPS 設定 4回目

sshのポート番号の変更

ssh のポート番号が標準のままだと、BOTが自動アタックを仕掛けてくるらしいので、変えておきます。前回パスワード認証を無効化したので、自動アタックを仕掛けられてもログインされる事はありませんが、負荷対策の為とログが汚れるのが嫌なので、今回はポートを変更することにしました。

[admin@ ~]$ sudo vi /etc/ssh/sshd_config #Port 22   ↓ Port xxxxx(0 ~ 65535 の任意の番号) 

SSHを再起動して設定を反映させます。

[admin@ ~]$ sudo /etc/init.d/sshd restart Stopping sshd: [ OK ] Starting sshd: [ OK ] 

ポートを変更したので、次回ログインする時は ssh コマンドにポートオプションをつける必要があります。

$ ssh admin@XXX.XXX.XXX.XXX -p xxxxx(上で設定したポート番号)

さくらVPS 3回目

ここからは具体的にサーバーの設定を行う。

ちなみに、ここからの内容は

http://akibe.com/centos-setup-01-login/さんのサイトからの引用です。

ユーザーの設定関係

sshからログインして、ルートのパスワードを変更する。ちなみに、sshのクライアントは、Poderosaを使用する。その他の補足ようとして、WinSCPを使用する。

WinSCPはファイルの移動やコピーするときなどに主に使用する。

 

[root@ ~]# passwd Changing password for user root. New UNIX password: 任意のパスワードを設定 Retype new UNIX password: もう一回入力 passwd: all authentication tokens updated successfully.

上記を実行してルートのパスワードを変更する。

その後、作業用のユーザーを作る

 useradd admin
passwd admin  Changing password for user admin.
New UNIX password: 任意のパスワードを設定
Retype new UNIX password: もう一回入力
passwd: all authentication tokens updated successfully.

新しいパスワードを2回入力すれば設定完了です。
そして「admin」ユーザーを管理者グループに追加します。

usermod -G wheel admin

sudoの設定

作業ユーザーでログインした時に、管理者の権限を使う方法としてユーザー変更の su コマンドでroot ユーザーになる方法がありますが、以下のようなセキュリティ上の問題があります。

  • rootのパスワードを入力する必要がある。
  • 実行したユーザーのログが残らない。
  • 権限の範囲が指定できない。

そのため、より安全な sudo コマンドを使う事が推奨されています。
初期状態ではroot以外のユーザーが sudo を実行することができないので、先程設定した wheel グループでsudoができるように設定を変更します。

[root@ ~]# visudo 

visudo は vi というテキストエディタでファイルを開くコマンドです。vi はOSに標準でインストールされてるテキストエディタで、慣れないうちは使いづらいですが慣れるとシンプルですし、UNIX系ならほぼインストールされているので、覚えておくと便利です。
詳しい説明はしませんが、次のコマンドだけ知っておくと簡単な編集はできるでしょう。

操作 コマンド
1文字削除 x
左に文字挿入 i
右に文字挿入 a
入力モード終了 ESC
UNDO u
最終行に移動 G
保存して終了 :wq
保存しないで終了 :q

ファイル中の下記の部分のコメントアウト文字「#」にカーソル合わせ、 x キーで削除します。

# %wheel ALL=(ALL) ALL   ↓ %wheel ALL=(ALL) ALL 

そして :wq を入力して保存終了します。これで管理者グループの wheel だけが sudo を使う事が可能になりました。

suの設定

wheel グループが設定されたので、su コマンドもグループ内のユーザーだけが使用できるように設定します。

[root@ ~]# vi /etc/login.defs 

先ほどのように vi で設定ファイルが開きます。
そしたら、ファイルの末尾に以下の行を追加して保存してください。

SU_WHEEL_ONLY yes 

これで他のユーザは root になれなくなりました。

公開鍵でのログイン

まずはローカルに非公開鍵と公開鍵のペアを作る必要があります。
今まで「ターミナル」使ってサーバにログインして作業していましたが、鍵ペアを作るためにはローカルで作業する必要があるため、一度ログアウトします。

[root@ ~]# exit Connection to XXX.XXX.XXX.XXX closed. local:~ name$ 

これでローカルに戻ったので、続いて鍵ペアの作成コマンドを実行します。

$ ssh-keygen -t rsa Enter file in which to save the key (/Users/name/.ssh/id_rsa): Enter Enter passphrase (empty for no passphrase): 任意のパスフレーズを設定 Enter same passphrase again: もう一回入力 

これで、 ~/.ssh/ に id_rsa と id_rsa.pub が生成されます。
id_rsa.pub の内容が公開鍵ですが、Finderからは見えないので、viコマンドでファイルを開きます。

$ vi ~/.ssh/id_rsa.pub 

内容をコピーしたら、:q コマンドで保存せずに vi を終了します。

公開鍵の登録

続いて公開鍵をサーバに登録するため、「admin」ユーザーとしてログインします。

$ ssh admin@XXX.XXX.XXX.XXX 

USERNAMEのホームディレクトリの直下に .ssh ディレクトリを作成して、自分だけ読み書き可能に設定します。

[admin@ ~]$ cd $HOME [admin@ ~]$ mkdir .ssh [admin@ ~]$ chmod 700 .ssh 

vi コマンドで、authorized_keys ファイルを作成して、先ほどコピーした公開鍵をペーストして保存します。

[admin@ ~]$ vi .ssh/authorized_keys 

他のユーザーに見られない為に公開鍵ファイルのパーミッションを変更します。

[admin@ ~]$ chmod 600 .ssh/authorized_keys 

これで公開鍵でのログイン設定が完了しました。
最後にrootでのログインとパスワードによるログインを禁止するため、/etc/ssh/sshd_config を編集します。sshd_config ファイルのオーナーは root の為、sudo で実行します。

[admin@ ~]$ sudo vi /etc/ssh/sshd_config 

sudo 初回起動時は説明が表示されたあとにパスワードを聞いてきます。

We trust you have received the usual lecture from the local System Administrator. It usually boils down to these three things: #1) Respect the privacy of others. #2) Think before you type. #3) With great power comes great responsibility. [sudo] password for admin: adminユーザーのパスワードを入力 

viに入ったら、下記項目のコメントを外して yes を no に変更します。項目の詳しい説明は 日本語マニュアルをどうぞ

#PermitRootLogin yes   ↓ PermitRootLogin no #PasswordAuthentication yes   ↓ PasswordAuthentication no UsePAM yes   ↓ UsePAM no 

SSHを再起動します。

[admin@ ~]$ sudo /etc/init.d/sshd restart Stopping sshd: [ OK ] Starting sshd: [ OK ] 

これで、リモートコンソールからと、秘密鍵を持ったPCから作業ユーザーでログインすることしかできなくなりました。

コマンドのパス設定

admin ユーザーでログインした状態でシステム系のコマンドを簡単に実行する為に、バイナリファイルへのパスを設定します。

[admin@ ~]$ vi ~/.bash_profile PATH=$PATH:$HOME/bin   ↓ 上記の下に以下を追加 PATH=$PATH:/sbin PATH=$PATH:/usr/sbin PATH=$PATH:/usr/local/sbin 

パス設定を反映させます。

[admin@ ~]$ source ~/.bash_profile 

root宛メールの転送

いろいろなサービスを起動すると、root宛にメールが送られるようになります。rootでログインして

[root@ ~]# mail 

で確認してもいいのですが、rootでのログインを減らす為にも、普段使用しているメールに転送すると楽です。

まず、旧root宛メール転送設定を削除し、

[root@ ~]# sed -i '/^root:/d' /etc/aliases 

普段使用しているメールアドレス(例:xxx@xxx.com)宛に転送設定し、

[root@ ~]# echo "root: xxx@xxx.com" >> /etc/aliases 

転送設定を反映させます。

[root@ ~]# newaliases 

最後にroot宛にテストメールを送信します

[root@ ~]# echo test|mail root 

テストメールが転送先に届いていれば完了です。
※ さくらのVPSの場合、試用期間中は外部へのメール送信はできないので、本契約後に確認しましょう。

さくらVPS構築 第2段階

まずは、yumを使用してインストールを行うので、yumのアップデートを行う。その際に先々の依存関係を考えて、先にリポジトリを登録・インストールを行なってからyumのアップデート行う。

wget http://download.fedora.redhat.com/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm
wget http://rpms.famillecollet.com/el5.x86_64/remi-release-5-8.el5.remi.noarch.rpm
wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm

上記のリポジトリを取得して下記で追加する

rpm -Uvh epel-release-5-4.noarch.rpm remi-release-5-8.el5.remi.noarch.rpm rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm

追加が終了したら、リポジトリを無効化する。

理由は、明示して利用しない限りリポジトリを使用しないようにするため。理由は、不安定なバージョンなどをインストールしないようにする

vi /etc/yum.repos.d/epel.repo
name=Extra Packages for Enterprise Linux 5 - $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/5/$basearch
mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=epel-5&arch=$basearch
failovermethod=priority
enabled=0 ← 1を0に変更
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL
vi /etc/yum.repos.d/rpmforge.repo
[rpmforge]
name = RHEL $releasever - RPMforge.net - dag
baseurl = http://apt.sw.be/redhat/el5/en/$basearch/rpmforge
mirrorlist = http://apt.sw.be/redhat/el5/en/mirrors-rpmforge
#mirrorlist = file:///etc/yum.repos.d/mirrors-rpmforge
enabled=0 ← 1を0に変更
protect = 0
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-dag
gpgcheck = 1

以上で完了。

今後、インストール時にリポジトリを使用するときは下記のようにして使う

yum --enablerepo=remi,epel,rpmforge install ここから対象の名前を書く。複数の場合はスペース開ける

で下記コードを実行してyumをアップデートする

yum --enablerepo=remi,epel,rpmforge update

以上でアップデート作業は完了する

次は、apacheのインストールから始める

 

ちなみに、この内容は下記サイト様のコピーです。

http://tanaka.sakura.ad.jp/netservice/vps/

 

追記

上記リポジトリダウンロードの「download.fedora.redhat.com」は繋がらなくなっているので、「dl.fedoraproject.org」に変更すればダウンロード可能

 

さくらVPS構築メモ 第一段階

さくらVPSを借りて構築するときに役立つ内容をメモです。

前提として、下記環境を作ります。これを書いているときに提供された環境は下記です。

さくらVPS 512プラン

デフォOS:CENTOS5.5 x86_64

ここからがカスタマイズ

メール関係

postfix/dovecot

メール管理:postfixadminを使用

PHP/Mysqlのインストール

DBの管理としてphpMyAdminのインストール

セキュリティとして、

denyhosts/iptableの設定

その他

logwatch

のインストール

後は将来的にSSLにも対応させたいと・・・