ufw が ssh を許可すると、接続は切断されます。

ufw が ssh を許可すると、接続は切断されます。

SSHを介してクラウドにDebianサーバーを設定しようとしています。キーを使用してログインします。

最初の起動後にUFWを設定したい:

apt-get install ufw
ufw allow ssh
ufw enable

SSH経由でログインするときに使用した操作です。ところで、このサーバーでは接続が失われてロックされているようです。私はそれを2回試しました。たぶん私が何かを見落としているかもしれませんが、これがそうする方法だと思います。ここで何が起こっているのでしょうか?なぜこれがうまくいかないのですか?

注:cronjobで15分ごとにufwを無効にできることに気づきました。これにより、テストが可能になり、試行が失敗した直後にシステムにアクセスできます。


修正する

以下は内容です/lib/ufw/user.rules。 user6.rules ファイルにも同様の内容があります。

*filter
:ufw-user-input - [0:0]
:ufw-user-output - [0:0]
:ufw-user-forward - [0:0]
:ufw-before-logging-input - [0:0]
:ufw-before-logging-output - [0:0]
:ufw-before-logging-forward - [0:0]
:ufw-user-logging-input - [0:0]
:ufw-user-logging-output - [0:0]
:ufw-user-logging-forward - [0:0]
:ufw-after-logging-input - [0:0]
:ufw-after-logging-output - [0:0]
:ufw-after-logging-forward - [0:0]
:ufw-logging-deny - [0:0]
:ufw-logging-allow - [0:0]
:ufw-user-limit - [0:0]
:ufw-user-limit-accept - [0:0]
### RULES ###

### tuple ### allow tcp 22 0.0.0.0/0 any 0.0.0.0/0 in
-A ufw-user-input -p tcp --dport 22 -j ACCEPT

### END RULES ###

### LOGGING ###
-A ufw-after-logging-input -j LOG --log-prefix "[UFW BLOCK] " -m limit --limit 3/min --limit-burst 10
-A ufw-after-logging-forward -j LOG --log-prefix "[UFW BLOCK] " -m limit --limit 3/min --limit-burst 10
-I ufw-logging-deny -m state --state INVALID -j RETURN -m limit --limit 3/min --limit-burst 10
-A ufw-logging-deny -j LOG --log-prefix "[UFW BLOCK] " -m limit --limit 3/min --limit-burst 10
-A ufw-logging-allow -j LOG --log-prefix "[UFW ALLOW] " -m limit --limit 3/min --limit-burst 10
### END LOGGING ###

### RATE LIMITING ###
-A ufw-user-limit -m limit --limit 3/minute -j LOG --log-prefix "[UFW LIMIT BLOCK] "
-A ufw-user-limit -j REJECT
-A ufw-user-limit-accept -j ACCEPT
### END RATE LIMITING ###
COMMIT

次のコマンドはまだルールがないため、エラーが発生します。 UFWをインストールした後にこれが発生します。

ufw insert 1 allow 22/tcp
ERROR: Invalid position '1'

答え1

コマンドを実行した後、このコマンドを実行すると、ルールが実際に適用され、他の何もルールをブロックしていないことを確認できます(これを行うには、接続されていてファイアウォールが実行されている必要があります。ないことを確認してください)。 SSHでテストするときに追い出してください):

ufw status

問題を解決するには、次のコマンドを試してみることをお勧めします。

ufw insert 1 allow 22/tcp

これにより、ファイアウォールテーブルルールセットの上部にルールが追加され、どこからでもSSH接続が可能になります。あるいは、セキュリティの観点から、より良いIPベー​​スの制限を含めることができます。

ufw insert 1 allow from <YOUR IP> proto tcp to any port 22

これにより、IPからSSHを介した接続のみを許可するルールが追加されます。

ルールを一番上に配置する理由は、問題を引き起こす可能性のある拒否ルールを回避するためです。 SSHがインストールされ実行されていることを確認することもお勧めします。

apt-get install openssh-server
service ssh start

関連情報