2010年12月20日月曜日

さくらインターネットVPSを申し込んだよ


このエントリーをはてなブックマークに追加


メモメモ。


はじめに


さくらのVPSのデフォルトでは、多くのデーモンを停止済みにしているほか、selinuxもdisabledとなっています。


VSPコントロールパネル


まず登録後に送られてくるアドレスから「VPSコントロールパネル」にいく。
「仮想サーバ操作」の起動をクリック。


次にマニュアルをクリックして、ちょっとお勉強にいく。
さくらのVPS OSセットアップ情報
ざっと眺める。


SELinuxってよく聞くけどなんだっけ?


セキュアOS機能



SELinuxは,各プロセスがアクセスできるリソース(この場合のリソースとは,個々のファイルやディレクトリ全体など)を制限し,本当に必要なリソースにだけアクセスできるようにする。例えば,Webサーバーの場合は,Webページにだけアクセスできるようにする。Sambaサーバーなら,Sambaの共有ファイルにだけアクセスできるようにするわけだ。そして,関係ないファイルへのアクセスは一切拒否するようにしておく。
(略)
プロセスのリソースへのアクセス制限は,OSレベルで強制されており,抜け道は無い。たとえroot権限で動作するプロセスであっても強制されるので,攻撃者にroot権限を奪取されても操作可能な範囲は限定される




パスワードログイン



$ ssh root@xx.xxx.xxx.xx
The authenticity of host 'xx.xxx.xxx.xx (xx.xxx.xxx.xx)' can't be established.<--- ~/.ssh/known_hosts に登録されていない
RSA key fingerprint is xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.
Are you sure you want to continue connecting (yes/no)? yes <--- 登録
Warning: Permanently added 'xx.xxx.xxx.xx' (RSA) to the list of known hosts.
root@xx.xxx.xxx.xx's password:



サーバにemacsをインストール



$sudo yum -y install emacs



デフォルトPortから変更


デフォルトのPort22は攻撃対象になり易いので変更。
サーバの/etc/ssh/sshd_configを編集



#Port 22
Port 10022

/etc/init.d/sshd restart


再起動後に有効。


公開鍵と秘密鍵の作成


パスワードログインは突破されやすいので、鍵を作成した後、パスワードログインを無効にする。


その前に公開鍵と秘密鍵の説明

・公開鍵 => Aさんがみんなにばら撒いた鍵
・秘密鍵 => Aさんしか作り方を知らない「宝箱」


Bさんの所に、Aさん(かも知れない人物)から宝箱が届いた時に、
Aさんが公開している鍵で開けることができたのなら、それは確かにAさんからきた宝箱だと証明されたことになる。


というわけで

先ほどのBさんがサーバで、Aさんがローカルです。
予め、ローカルで作成した公開鍵をサーバに渡しておいて、ローカルの秘密鍵(宝箱)でサーバにアクセスする。
これで、私はサーバさんが知っているユーザですよ、という証明となる。


鍵を作成

次のサイトをみて参考に設定。
CentOSをサーバーとして活用するための基本的な設定
ServersMan@VPS :: CentOS5.5 の設定
さくらVPSのsshによる鍵認証の設定
さくらの VPS 契約から作業環境を作るまでの覚書
404 Not Found



DSA方式で作成。
% ssh-keygen -b 1024 -t dsa
//ここでパスフレーズの入力を求められる。後で使用するので忘れないように。
% cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
% chmod 600 ~/.ssh/authorized_keys



作成した公開鍵authorized_keysをサーバにftpで送る


ftpの平文通信はまずいので他のを使う。
2つ選択肢があるが、今回はFTPSを使用してみる。
参考サイト
FTP, FTPS, SFTP
SFTPとFTPSの違い



  • SFTP

    • SSHで暗号化



  • FTPS

    • SSL/TSLで暗号化





ただし、その前にSElinuxを無効にしておく。


SElinuxを無効化


/etc/sysconfig/selinuxのSELINUX=enforceをSELINUX=disabledに。(と思ったらはじめから無効でした)



サーバにvsftpdのインストール

参考サイト
WordPress on CentOS vsftpの設定
FTPサーバ構築(vsftpd)- CentOSで自宅サーバ構築
vsftpによるFTPサーバの構築



$yum -y install vsftpd
/etc/vsftpd/vsftpd.confを編集
anonymous_enable=NO 匿名ユーザのログイン禁止
xferlog_enable=YES   
xferlog_std_format=NO
ascii_upload_enable=YES
ascii_download_enable=YES
use_localtime=YES
ssl_enable=YES
rsa_cert_file=/etc/pki/tls/certs/vsftpd.pem サーバー証明書


本当はもっと設定するけど、とりあえずこれだけ。


vsftpdを起動。


$ service vsftpd start


以下のメッセージがでた・・・。



sftpd for vsftpd: 500 OOPS: SSL: cannot load RSA certificate


設定ファイルに記述した/etc/pki/tls/certs/vsftpd.pemがないか、pemはあるが、設定ファイルで指定していないかどちらか。
vsftpd.pemを作成



$cd /etc/pki/tls/certs/
$make vsftpd.pem


質問内容は単純に答える。


ファイルを転送する

sftpコマンドを使ったファイルの転送
ローカルにて、



$sftp -oPort=***** root@xx.xxx.xx.xxx
sftp> put authorized_keys .ssh<ENTER> サーバで.sshディレクトリ作成済みのこと



さぁ、sshでログイン。



Agent admitted failure to sign using the key.


ぐは、すいません。



$ssh-add ~/.ssh/id_dsa
Enter passphrase for /home/**/.ssh/id_dsa: #鍵を作成した時に入力したフレーズ

$ssh root@59.106.183.58 -p 10022


sshでのログインOK


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



/etc/ssh/sshd_configを編集
PermitRootLogin without-password

sshd再起動
$service sshd restart



iptablesを設定


/etc/sysconfig/iptablesを編集
さくらのVPS を使いはじめる 3 – iptables を設定する
CentOSをサーバーとして活用するための基本的な設定
参考に。
自分のIPは、ルータにアクセスして調べる


設定ファイル注意。起動するとエラー。

/etc/rc.d/init.d/iptables restartでiptables-restore v1.3.5: no command specifiedが出た。
設定ファイルの最終行にCOMMITを記述しているが、ここに改行が入っていなかったせいだった。


めんどくさい


スクリプトを書きましょう。
さくらインターネットVPSの初期設定をまとめてみた


以上


わからないことだらけだけど、やっぱり面白いなぁ。
IT業界で生きていけないかな。





0 件のコメント:

コメントを投稿