[73]さくらVPSに挑戦、SSH等設定

SSHとファイアーウォールの設定

次にさくらVPSのセキュリティを高めるため、SSHのポート設定とファイアーウォールの設定をします。。。と。

SSHのポート変更

引き続きTera Termでの作業。ここでは、SSHのポートを変更するため、Tera Termに sudo vi /etc/ssh/sshd_config と入力し、Enterキーを押します。。。と。

Capture_2016_07_24_15_11_35_827

上から12行目の#Port 22と記載されている箇所の先頭の#をxキーで削除し、22の番号を任意のポート番号に変更します。ここではポート番号61203に設定しています。(Webのとおりマネさせておらおう!ポート番号は61203である必要はありません。1024~65535の間でポート番号を設定してください。)変更後、Escキーを押してから、:wqを押して設定を保存します。

Capture_2016_07_24_15_16_06_491

最後にsshを再起動し、設定を反映させます。コンソール画面に sudo /etc/init.d/sshd restart と入力し、Enterキーを押します。

Capture_2016_07_24_15_18_43_454 Capture_2016_07_24_15_19_03_378

OK!!!

ファイアーウォールの設定

次にファイアーウォールの設定を行ないます。Tera Termに sudo vi /etc/sysconfig/iptablesと入力します。(無いので、新ファイルを作成するようです。)

で、下記をコピペすると。

*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p 50 -j ACCEPT
-A RH-Firewall-1-INPUT -p 51 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# SSH, HTTP, FTP1, FTP2, MySQL
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 61203 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 20 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT

最後に sudo /etc/rc.d/init.d/iptables restart と入力し、Enterキーを押します。これでファイアーウォールの設定作業は終了。

Capture_2016_07_24_15_47_59_139

一応終わった??かな?

TeraTermにポート22でログインしていましたが、今後は22では接続できなくなります。今後は、任意のポート番号(ここでは61203)で接続することになります。

 

 

 

 

[72]さくらVPSに挑戦、鍵認証

ここからは、鍵認証の設定。

http://www.さくらvps.com/5.html

を参考にします。

さくらVPSは基本パスワードで認証します。パスワード認証だとセキュリティが弱いので、鍵認証の設定を追加しVPSのセキュリティを高めます。。。と。AWSでもやったね。でも鍵を自分で作るみたい。。

ここからはコンソール画面ではなく、パソコン上での作業となります、、、と。公開鍵と秘密鍵の生成には専用の無料ソフトを利用します。ここでは「PuTTY ごった煮版」というソフトを使って説明します。

Capture_2016_07_24_12_06_24_418
PuTTY ごった煮のインストール後、Windowsの スタート → プログラム → PuTTY → PuTTYgenでソフトを立ち上げ、公開/秘密鍵ペアの生成ボタンを押します。

Capture_2016_07_24_12_10_19_100

鍵が生成されたら、自分のわかりやすい説明を付けておきましょう!

「sakura-vps-20160724」にしました。

次に鍵のパスフレーズを入力します。任意のパスワードを入力してください。パスワード入力後、生成された公開鍵と秘密鍵を保存しましょう。秘密鍵のファイル名は拡張子を.ppk、公開鍵は.pubとしておくと良いでしょう。

 

鍵認証用のフォルダを追加

次にTeraTermに戻り、コンソールを使って作業します。ここではrootユーザーではなく、前回作成した sakuravps というユーザーでTeraTermにログインします。

TeraTermにログインしたら、まずはVPSに鍵認証用のフォルダを追加します。ここではホームディレクトリの下に「ssh」というフォルダを作ります。
まずはTeraTermのコンソール画面に cd $HOME と入力し、ルートディレクトリに移動します。次に mkdir .ssh と入力し、Enterキーを押します。これでsshというフォルダが作られます。次に「ssh」というフォルダのパーミッションを「700」に変更します。パーミッションを変更するには「chmod」というコマンドを入力します。コンソール画面に chmod 700 .ssh と入力します。。。。と。

Capture_2016_07_24_13_11_30_813

 

さくらVPSへ公開鍵を登録

次に作成した公開鍵をさくらVPSに登録します。公開鍵の登録にはauthorized_keysコマンドを使います。コンソールに vi .ssh/authorized_keys と入力します。

Capture_2016_07_24_13_13_10_899 Capture_2016_07_24_13_13_58_55

最後にセキュリティの都合上、sshフォルダのパーミッションを600に変更します。コンソール画面に chmod 600 .ssh/authorized_keys と入力し、Enterキーを押します。

Capture_2016_07_24_13_17_33_605

これで一連の公開鍵の設定は終了です。

[71]さくらVPSに挑戦、基本設定

では、さくらのVPSに挑戦してみようと。レンタルサーバではPHP+MySQL自然体で使えたけど、JAVA環境ないし、サーバ管理そのものを勉強してみようかと。

さくらのマニュアルの沿ってやってみます。

http://www.sakura-vps.net/

Capture_2016_07_24_10_43_57_627

では、まずは申込み!

Capture_2016_07_24_10_45_31_725

商品は一番安いやつを。2週間なので。まずは!

Capture_2016_07_24_10_47_32_357

VPS仮想共用サーバを。ベアメタルという物理専用サーバでなく。

Capture_2016_07_24_10_51_10_204

では、

Capture_2016_07_24_10_58_37_258 Capture_2016_07_24_10_58_51_680 Capture_2016_07_24_10_59_06_538

申し込んじゃった!!!

Capture_2016_07_24_11_00_07_817

仮登録メールもきました!

Capture_2016_07_24_11_02_34_246

お試し期間      :2016年08月07日 まで!!!

早速アクセス、   URL      :https://secure.sakura.ad.jp/vps/

名前も、「さくらVPS_20160724」に修正。

Capture_2016_07_24_11_09_47_646

サーバを起動してみる!

起動したので、ここからは、

http://www.さくらvps.com/4.html

を参考に設定をしてみます!!(お世話になります!!)

基本設定

TeraTermというVPSリモートコンソールを使って、アプリケーションの更新とVPSの日本語化をします。1**.16.51.1**へ

Capture_2016_07_24_11_28_38_360

Capture_2016_07_24_11_31_21_653

で接続。つながりました!

Capture_2016_07_24_11_35_03_926

「yum update」!

次にコンソールにyum updateと入力し、Enterキーを押しましょう。
yumというのは、VPSにあるアプリケーションを管理するコマンドになります。 yum updateをすることで、さくらVPSサーバーに入っているアプリケーションを全て最新の状態にしてくれます。。。と。

Capture_2016_07_24_11_37_28_477

「さくらVPSの日本語化」

コンソールに vim /etc/sysconfig/i18n と入力(下図赤線枠参照)し、Enterキーを押しましょう。言語ファイルの設定を日本語にします。

LANG=”C”の C の箇所を ja_JP.UTF-8 に変更します。

Capture_2016_07_24_11_41_31_471

「作業用ユーザーの作成・設定」

VPSを設定する際には、rootユーザーではなく、作業用のユーザーを作成して利用していくことが一般的です。新しいユーザーを追加するには「useradd」というコマンドを使います。ここでは仮に「sakuravps」という新規ユーザーを追加します。 コンソールに useradd sakuravps と入力し、Enterキーを押します。

Capture_2016_07_24_11_44_12_654

次にパスワードを設定します。パスワードの設定は「passwd」というコマンドを使います。ここでは「sakuravps」というユーザーのパスワードを設定します。コンソールに passwd sakuravps と入力し、Enterキーを押します。

Capture_2016_07_24_11_48_35_479

最後に「sakuravps」というユーザーに全ての権限を持たせる設定をします。 全ての権限を持たせるには「usermod -G wheel」というコマンドを使います。ここでは「sakuravps」というユーザーに全ての権限を持たせます。コンソールに usermod -G wheel sakuravps と入力し、Enterキーを押します。

Capture_2016_07_24_11_50_59_469

次にvisudoと入力します。これはsudoというコマンドを利用できるようにするためです。「visudo」というコマンドを入力し、Enterキーを押します。

「/wheel」で検索ができます、、と。へええ。

コンソール画面が切り替わるので、# %wheel ALL=(ALL) ALL という箇所を探し、カーソルを移動。 xキーを押して#の文字を削除し「%wheel」が行の先頭にくるようにします。

Capture_2016_07_24_11_55_38_421

最後にsuコマンドをグループ内のユーザーだけが使用できるように設定します。コンソール画面に vim /etc/pam.d/su と入力し、Enterキーを押します。

画面が切り替わりますので、#auth required pam_wheel.so use_uid と記載されている箇所の#をxキーで削除し、:wq と入力し、Enterキーを押します。。。と。

Capture_2016_07_24_11_59_27_39

次は、鍵認証か、、、、。

[70]EC2 was attacked? dengerous, then Terminate EC2

Amazonから、強烈なパケットを送ったか、アタックに合ったようだとメール!!

Capture_2016_07_17_22_17_51_187

こんなんでお金とられたり訴訟はごめんなので、どうせ勉強のためだけだし、やはり動きのおかしかった?(翌日になったらURLにアクセスもできなくなっていた)のでこのinstanceはStop and Terminated((delete)することにしました。

操作は簡単だが、今後のほかのinstanceも心配だわ。。。。

Capture_2016_07_17_22_20_10_45

ちなみに請求料金は????

 

Capture_2016_07_17_22_22_56_227

うーん知らない間に、EC2の無料制限枠をもう超えている。。

おかしいな。やはりアタックを受けた感じ。

ちょっと危険なので残念だけEC2サービスはすべて

stop and Terminate することとします!

現在のところ$2.67のようなので。。。

Capture_2016_07_17_22_25_43_643

バイなら!!!Amazon!!

(一応記録とっとこ。。)

全件EC2の削除。

で、最終画面。

Capture_2016_07_17_22_29_57_20

終わった!!!

ええい、もうRDS(DB)も削除しよう!!

S3も削除しました!

Capture_2016_07_17_22_37_43_457

これで、EC2、RDS、S3のすべてサービスは削除したはず。。。

S3のバケットというものも削除した!

Capture_2016_07_17_22_39_34_314

うーーん、なんかセキュリティグループが1つとスナップショット1つが消えないけど。。instanceがなければ課金されないようだから、大丈夫かな???要注視!!!

Capture_2016_07_17_22_52_40_677

完!Amazon

 

[68]AWS Webアプリの動作確認 -未完成

Tomcat8が起動したら、動作確認をします。

コマンドは、

http://ec2-52-197-160-7.ap-northeast-1.compute.amazonaws.com:8080/WebAPSample/top.jsp

すると、、お、、何か出てきた。

Capture_2016_07_15_23_19_50_867

あれ???でないなあ。。。。

Capture_2016_07_15_23_22_40_328

失敗かな??????再度!!!

 

(7/16)検証してみるか、、、、

$ cd /usr/share/tomcat8/webapps/WebAPSample

に、connectDBが無い!って怒られたので、、、見ると。。。

Capture_2016_07_16_05_22_55_178

あーーー、無いわーーー。これじゃDBにつながらないね。。。

サンプルあるかな?

 

 

[67]AWS TomcatのGUIツールを使ったデプロイ

Tomcatの管理ツールを使うと、WebのGUIからもアプりをデプロイできます、、、と。管理ツールは、次のコマンドでインストールできます、と。

sudo yum -y install tomcat8-admin-webapps

では、やってみましょう!

Capture_2016_07_15_22_25_57_467

って、あっというまに終わった、Complete!

インストールが完了したら、管理ユーザを作成します。

/usr/share/tomcat8/conf配下に、

設定ファイルtomcat-users.xmlがあるので、

管理ユーザの認証情報を追加します、、、と。

(もう、言われるまま、、、、、悲)

あーーあった!

Capture_2016_07_15_22_30_05_881

では、viエディタで修正。

どうやら、

<user username=”tomcat” password=”s3cret roles=””manager-gui”/>

を追加するみたい。。。。

あれ、、でも管理者でないとダメ!だって。。。。

Capture_2016_07_15_22_43_31_612

どうすっかな???

めんどいから、このままやっちゃうか。(編集できないけど。。)

いや、だめだ。。GUIの画面でID、Passを聞かれるって。。

じゃ調べるか。。。

$ sudo vi ファイル名

で良い????なんだよ、、、あっさり行ったよ!

Capture_2016_07_15_22_56_24_702

では、追加を。

Capture_2016_07_15_23_02_01_101

編集したら、、、

Capture_2016_07_15_23_02_43_326

編集されたようだ!

tomcat8を再起動する、、、、と。

$ sudo service tomcat8 restart

OK!?かな???

Capture_2016_07_15_23_04_54_811

じゃ、EC2インスタンスのPublicDNSの8080ポートにアクセスします。今回のオレのは、

http://ec2-52-197-160-7.ap-northeast-1.compute.amazonaws.com:8080/manager

おお、認証を聞いてきた!確か、、、、

tomcat, s3cretだったな?

Capture_2016_07_15_23_08_42_623

入れてみると、、、入れた!っぴーーーーーうれぴー!

Capture_2016_07_15_23_09_48_922

 

[66]AWS Tomcat8の起動

では、いよいよTomcat8サーバを起動します。。

緊張するなあ。起動しなかったらどうしよう。。。。

コマンドプロンプトへ。

$ sudo service tomcat8 start

Capture_2016_07_15_21_47_40_834

あれ??動いたのかな???OKはでたけど。。。。

Capture_2016_07_15_21_48_39_601

次に、EC2ンスタンスを再起動したときにもTomcat8を自動起動させるため、次のコマンドを。。。。

$ sudo chkconfig tomcat8 on

Capture_2016_07_15_21_50_44_473

??

チェックできるみたい。

$ chkconfig –list |grep tomcat

すると、、、

Capture_2016_07_15_21_51_41_256

おお、ON/OFFが教科書どおりになっとる。(いいのかな?)

 

[65]AWS Webアプリのデプロイ2

続きでーす。はたしてうまくいくかの??

前回より、

Tomcatの場合は、作成したwarファイルを実行フォルダに置くことでデプロイできますって!

TeraTermでTomcat8をインストールしたEC2インスタンすにログインします。。。。

なので、

Tomcat8をインストールしたEC2インスタンすは、[62]を読み返すと

グループ名:WebAPSample20160712

Capture_2016_07_15_21_31_50_509

なので、これにShellを右クリックで立ち上げる!

秘密鍵で入れました!(よく覚えとるん?)

Capture_2016_07_15_21_33_34_368

で、コマンドだけど、TeraTermのメニューで、

「ファイル」「SSH SCP」を選択し、

①fromに作成したサンプルのWebAPSampleを指定し、

②「Send」ボタンをクリックして

アップロードを行う、、、、と。

ここでは、ずるして、もともとのサンプルファイルを指定。

Capture_2016_07_15_21_38_02_252

なんか、一瞬何かやった感じだけど。。。。。

まいいか!?

次に、EC2インスタンスでコマンド実行らしい。。。。

EC2のホームディレクトリにアップローどしたWebAPSample.warをTomcat8インストールフォルダのwebapps配下にコピーすると。。

なので、コマンドは、

$ sudo cp /home/ec2-user/WebAPSample.war /usr/share/tomcat8/webapps

とな????やってみるか?

Capture_2016_07_15_21_41_47_312

あれ??終わった?

Capture_2016_07_15_21_43_00_269

おおー。コピーされとる。。。

これで、デプロイは完了した、、、、らしい。。

実感なし。。。。

次は、Tocmcat8の起動。。。。

 

 

 

 

 

[64]AWS Webアプリのデプロイ

WebアプリをTomcatに配置していく、、、と。

まずは、DLしたwarファイルをEclipseで開く、、と。どうやんだろ。。

サンプルwarファイルのインポート!!だと。

Eclipseの「ファイル」「Web」「次へ」、、、と。

Capture_2016_07_13_21_01_25_950

インポートするwarファイルを指定する。

インポート中!

Capture_2016_07_13_21_03_39_743

サンプルのWebアプリは、JNDIでDBサーバにアクセスします、と。そこでサンプルのWebアプリにRDSの接続情報を設定します、、と。

何のこっちゃ???

まあ、マニュアル本どおりに!

Capture_2016_07_13_21_06_49_827

プロパティを修正する、、、とな。。

WebContentのWEB-INFのcontext.xmlを修正、、、と。

Capture_2016_07_13_21_14_28_859

うまくできるかな?。。。

なんかいじらなくとも、そのままでいいかも????

Eclipseで今度はエクスポート??

Capture_2016_07_13_21_22_02_20

エクスポートされた??

Capture_2016_07_13_21_24_05_542

サンプルアプリのデプロイ、、、

修正したアプリをEC2インスタンスにデプロイします。。

デプロイは、開発環境で作成したアプリを実行環境に配置することですって!

Tomcatの場合は、作成したwarファイルを実行フォルダに置くことでデプロイできますって!

TeraTermでTomcat8をインストールしたEC2インスタンすにログインします。。。。