メモメモ。
はじめに
さくらのVPSのデフォルトでは、多くのデーモンを停止済みにしているほか、selinuxもdisabledとなっています。
VSPコントロールパネル
まず登録後に送られてくるアドレスから「VPSコントロールパネル」にいく。
「仮想サーバ操作」の起動をクリック。
次にマニュアルをクリックして、ちょっとお勉強にいく。
さくらのVPS OSセットアップ情報
ざっと眺める。
SELinuxってよく聞くけどなんだっけ?
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 件のコメント:
コメントを投稿