AWSのセキュリティに関する設定

このブログはAWSのlightsailを使用して作成されている。
ネットワークの知識が希薄なため,Qiitaの記事を参考になんとなく作成されていたが,この機会にセキュリティを強化しようと思い記事を作成した。

クラウドサーバ自体のセキュリティに関して

オンプレミス(実機を使ったサーバ構築)と比較し,クラウドサーバのセキュリティは甘いのか?という疑問があるだろう。

確かに,オンプレミス型のサーバと異なり,クラウドサーバは誰でもアクセスすることができるため,不正アクセスの危険性はある。

オンプレミス型のサーバの場合,システム管理者がセキュリティパッチを当てて,最新化しなければならないが,AWSの場合,Amazon社がこれをカバーしてくれるため,情弱でも安心して使用できるという一面もある。

セキュリティグループの設定について

注意点として,セキュリティグループ。ファイアウォールの設定である。
つまりはIP等に関するポートの設定である。
攻撃者は常にポートスキャンを行っていると考え,不用意なポート開放は避けなければならない。

パスワードログインに関して

オンプレミス型のサーバでは,パスワードログインによる接続も十分にセキュアになりうるが,パブリックネットワークに晒されているクラウドサーバではパスワードログインはセキュリティが甘い。
なぜなら,攻撃者はパスワードをクラックするツールを保持していると考えるべきだからである。

サーバイメージのコピーに関して

AWSのサーバは,インスタンスであるので簡単にマシンイメージのコピーを行うことができる。
便利な機能ではあるが,最新のセキュリティパッチが適用されていないイメージをコピーしてしまう可能性があるため,注意が必要である。

参考サイト

AWSを使っている人が絶対にやっておくべきセキュリティ対策


TODO: 自インスタンスをSSL認証させる

 

AWSで簡単にwebサイトを

新しくデザインパターンの勉強でもしようかと思って,
Webサイトを作ったので導入方法だけまとめとく

1. lightsailでインスタンスを作成する。

詳細は省略

centosで作った。

2. sshで接続する

ブラウザでも接続できるけど,動きがモッソリしているのでgit-bashで接続した。

  1. アカウントページからpemファイルをダウンロード
  2. 任意の場所に保存(~/.ssh/hoge.pem)
  3. ssh -i ~/.ssh/hoge.pem user@host

3. (L)AMPのインストール

sshで入った後に,

sudo yum install -y httpd

sudo yum install -y mysql-server

sudo yum install -y php

でインストールできる。(mysql-serverはインストールできなかった。)

4. デーモン起動

sudo service httpd start

5. 接続確認

任意のブラウザでhttp://(ホスト名)にアクセスする。

6. 動作確認

サーバ内の/var/www/html/にindex.phpなりindex.htmlなりを作成し,再アクセスする。


今回はgithubのリポジトリから落としてくるように設定した。

7. gitのインストール

サーバ側で,sudo yum -y install git

8. Githubに公開鍵を登録

cd ~/.ssh/

ssh-keygenでEnter連打

cat ~/.ssh/id-rsa.pun

コピった文字列をgithubに登録する。

9. リポジトリをclone

git clone git://github/hogehoge

 

本当にサクッと動くもの作るだけだから,セキュリティとかは保証しない。

以上

CentOSで作成したユーザでsshログインする

CentOSにユーザを追加

$sudo useradd nekonisi

パスワードを追加

$sudo passwd nekonisi

authorized_keysのコピー

cd /home

一時的にアクセス権限を変更

$sudo 777 nekonisi

$cd nekonisi

authorized_keysをHOME/.ssh/に追加

$mkdir .ssh

$cp /home/centos/.ssh/authorized_keys .

所有者およびグループを変更

$chown nekonisi:nekonisi authorized_keys

$cd ../

$chown nekonisi:nekonisi .ssh

アクセス権限を元に戻す

$cd /home

$chmod 700 nekonisi

これで、新しく追加したユーザでsshログインができるようになった。

補足

何が問題で、アクセスできないかを調べる場合は、$sudo vim /var/log/secureでログをみることができる。

参考にしたページたち

https://teratail.com/questions/16932

https://qiita.com/araish/items/b6a408e09f34e0845db1

以上