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