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

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

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

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

SSH

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

AWS(Amazon Web Services)

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

Q&A

解決済

3回答

7015閲覧

AWSでfirewalldは必要ないのでしょうか

gusachan3

総合スコア16

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

SSH

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

AWS(Amazon Web Services)

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

0グッド

0クリップ

投稿2020/05/28 08:12

編集2020/05/28 09:23

前提・実現したいこと

Amazon AWS にCentOS7のインスタンスを作成、SSHポート変更、firewalldインストールしたい

発生している問題・エラーメッセージ

firewalld設定後、インスタンスを再起動→TeraTermで新しいセッションを開始すると「接続を拒否されました」と出ます。
TeraTerm のセッションを残したうえでポート変更、systemctl restart sshdした後の新しいセッションでの再接続はできています。
firewalldをインストール設定後、インスタンスを再起動すると新しいセッションで再接続できなくなります。

該当のソースコード

vi /etc/ssh/sshd_config

Port 2222

setenforce 0
systemctl restart sshd
systemctl enable sshd

SSH通信確認

yum -y install firewalld
yum -y update

cp /usr/lib/firewalld/services/ssh.xml /etc/firewalld/services/ssh-2222.xml
vi /etc/firewalld/services/ssh-2222.xml

<port protocol="tcp" port="2222" />

systemctl start firewalld
yum -y install iptables-services
vi /etc/sysconfig/iptables

-A INPUT -p tcp --dport 2222 -j ACCEPT

firewall-cmd --add-port=2222/tcp --zone=public --permanent
firewall-cmd --permanent --add-service=ssh-2222

firewall-cmd --reload

SSH接続を拒否されました

試したこと

セキュリティグループのインバウンドルール カスタムTCP2222を許可

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

CentOS7.8

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

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

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

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

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

yu_1985

2020/05/28 08:34

SSHがfirewalldによって拒否された、ということをどのように確認しましたか?
gusachan3

2020/05/28 08:40

回答ありがとうございます。クライアントPCのWindows10からTeraTermでセッションを開始しようとすると「接続を拒否されました」のダイアログが出て蹴られています。そのたびにインスタンスを削除、設定をやり直しています。
yukky1201

2020/05/28 08:50

そのときfirewalldを停止したらSSH接続はできているのですか。
gusachan3

2020/05/28 09:02 編集

firewalldをインストールする手前のSSHポート変更後ではshutdown -r now しても再接続できていたのでfirewalldが原因と考えています。自分でもパニックっています。 追記)再起動する前は接続はできていたので違う原因かもしれません(謎
yukky1201

2020/05/28 08:58

1)ポート2222でSSHログインしたい 2)その上でfirewalld有効にし、SSHログインしたい のだと思うのですが、1)はクリア出来ていますか
gusachan3

2020/05/28 09:41 編集

セッションを残したうえでポート変更、systemctl restart sshdした後の新しいセッションでのポート2222への再接続はできています。
guest

回答3

0

要件次第にはなりますが、ポートのブロックについては
インスタンス側のファイアウォール機能では無く、
セキュリティグループで設定するのがベストプラクティスになるケースが多いです。

今回のルールだけであれば、セキュリティグループと完全に役割が重複して管理が煩雑になるだけなので、インスタンス側でfirewalldを設定する必要は無いかと思います。

投稿2020/05/28 08:59

tanat

総合スコア18727

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

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

gusachan3

2020/05/28 09:52

やはりAWSではセキュリティグループ推奨のようですね。GUIで管理できるようなのでfirewalldは諦めます。 回答くださりありがとうございました。
guest

0

ベストアンサー

恐らくfirewalldの設定がどこかおかしいのかと思いますが、質問の回答としてはあまり関係ないですね。
firewalldを入れた後にわざわざiptablesをインストールして設定してるあたりが少し気にはなります(iptablesを入れる必要はない認識)

さて、質問の答えとしては**「要件次第」**です。
基本的にはtanatさんの仰るように、二重管理を避ける+インスタンスに状態を持たせることを避けるという意味でもセキュリティグループによりコントロールするのがよいでしょう。

投稿2020/05/28 09:27

編集2020/05/28 09:34
yu_1985

総合スコア7588

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

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

gusachan3

2020/05/28 09:53 編集

やはりAWSではセキュリティグループ推奨のようですね。GUIで管理できるようなのでfirewalldは諦めます。 回答くださりありがとうございました。
guest

0

AWS のセキュリティグループのインバウンドルールに関しての記載がないですが、変更後のポートはインバウンドルールで許可していますか?

セキュリティグループのルールのリファレンス

投稿2020/05/28 09:00

CHERRY

総合スコア25218

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

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

gusachan3

2020/05/28 09:19 編集

既存の22は残したうえで新しいルールカスタムTCP2222にマイIPを許可をしています。インスタンスを再起動するとおかしくなるようです。
gusachan3

2020/05/28 09:54

やはりAWSではセキュリティグループ推奨のようですね。GUIで管理できるようなのでfirewalldは諦めます。 回答くださりありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問