質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
HTTP

HTTP(Hypertext Transfer Protocol)とはweb上でHTML等のコンテンツを交換するために使われるアプリケーション層の通信プロトコルです。

SSH

SSH(Secure Shell)は、セキュアチャネルを通してデータを交換するためのネットワークプロトコルです。リモートサーバーへのコマンド実行やファイル転送を行う時に一般的に使用されます。

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Q&A

3回答

2827閲覧

AWSのインバウンドルールについて

k1225

総合スコア21

HTTP

HTTP(Hypertext Transfer Protocol)とはweb上でHTML等のコンテンツを交換するために使われるアプリケーション層の通信プロトコルです。

SSH

SSH(Secure Shell)は、セキュアチャネルを通してデータを交換するためのネットワークプロトコルです。リモートサーバーへのコマンド実行やファイル転送を行う時に一般的に使用されます。

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

0グッド

0クリップ

投稿2020/05/16 11:17

編集2020/05/16 11:18

前提・実現したいこと

実験のウェブサイトを作成し、インターネット上にホストしたのですが、この分野に初心者でインバウンドルールをどの様に設定すればよいのかわかりません。
イメージ説明
WEBサイトは全世界に発信したく、今後sshで特定の者だけがインスタンスにアクセスし、ファイルの書き換えなどを行いたいです。そのほかのファイル類についても流出や読み書き等できない様に設定したいです。

webサーバーのディレクトリにあるファイルはroot権限者のみの読み書き実行を許可しています(その他のアクセス者には実行権限だけ)。
こちらにディレクトリの構図の写真を添付しました。https://teratail.com/questions/262155?modal=q-comp

初心者ですが、方向性だけでも教えていただけると幸いです。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。
AWS AMI Linux 2

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

実験のウェブサイトを作成し、インターネット上にホストしたのですが

静的なHTML+JavaScriptだけでこうちくできるものであれば、S3にホストするという方法もあります。そのまま公開できて、サーバ管理は不要です。

投稿2020/05/16 22:32

maisumakun

総合スコア146018

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

特定の者だけがインスタンスにアクセスし、ファイルの書き換えなどを行いたいです

最低限SSH接続のインバウンドのみを特定の者のIPを指定したほうが安全ですね。
ご自身のグローバルIPを確認するには以下のサイトが便利でしょう。
https://www.cman.jp/network/support/go_access.cgi
プロバイダーによって割り当てられるIPが変わる場合は、コンテンツを更新したら都度SSH接続のインバウンドを削除するとより安全です。

そのほかのファイル類についても流出や読み書き等できない様に設定したいです。

上記のネットワークの設定もそうですが、インターネットに公開している以上、そのほかにファイルのアクセス権限(実行権限、所有権)、OSのセキュリティパッチの適用、アプリケーションの脆弱性(正しいコーディング)、ミドルウェアの脆弱性対応(適切なバージョン、安全な設定、安全なプラグイン)などと広範囲にセキュアに保つ必要があります。これらをすべて安定にセキュアに担保するのが難しいのであれば、保険としてセキュリティソフトの導入やマネージドサービスの導入も一つの手かもしれないです。

https://teratail.com/questions/262155?modal=q-comp

ちなみに上記のリンク先で添付されているDS_Storeが情報流出の元でもありますので、アップロードしないようにしてください。これがあるとそこからのファイル構成などが筒抜けになります。

投稿2020/05/16 12:28

comefigo

総合スコア1051

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

セキュリティグループで設定するのは
「どのポートに対して」 「どこからのアクセス」(※)を**「許可」**するか、という設定です。
WEBサイトのアクセスへ必要なのは、一般的には80(HTTP)と443(HTTPS)でしょう。
恐らくHTTPSは現状まだサーバのほうで設定していないでしょうが…。
※「どこから」というのは、IPレンジをしていすることもあれば、セキュリティグループを指定して、そのセキュリティグループを割り当てているリソースからの接続を許可する、みたいなこともできます。

22(SSH)については、ssh接続に使うポートです。
このへんはいろんな考え方がありますが。「どのIPアドレスからの接続を許可するか」という考え方なので、必要最小限にしたい場合は自分が接続するIPレンジからの接続だけ許可すればいいことになります。
ただし、家庭の回線などでは通常は固定IPではないことがほとんどなので、自分のIPが変わった場合は当然設定を変えなければ自分が接続できなくなります。

SSHの場合は現在であれば通常は鍵認証なので、接続に使用する秘密鍵がなければSSHでアクセスしたとしてもログインができません。
なので、「秘密鍵がなければSSHでログインできないので、ポート自体は全開放する」という考え方もアリだとは思います。
(もっというと秘密鍵の暗号方式による暗号強度をどこまで信用するかという話にもなりますが、話がどんどん複雑になるので一旦ここでは割愛します)

また、セッションマネージャを使うのであれば、22番ポートが開いてなくてもsshログイン(のようなこと)ができます。
cliでセッションマネージャを起動することもできるので、その場合はほぼSSHログインと挙動が変わりません。

セキュリティグループの設定としてはこんな感じですが、もし「WEBサーバとして公開しているディレクトリ以下に見られたら困るファイル/ディレクトリがある」という状態なのであれば、それはセキュリティグループではなくてWEBサーバ側の設定でアクセスを拒否するなどしてください。

webサーバーのディレクトリにあるファイルはroot権限者のみの読み書き実行を許可しています(その他のアクセス者には実行権限だけ)。

ちなみにこの解釈は正しくなく、実行権限ではなく読み取りの権限です。
パーミッションについて確認してみてください。

投稿2020/05/16 12:19

yu_1985

総合スコア7588

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問