場合によっては、静的IPがないため、Webサーバーをリモートで管理する必要があります。ポート22をより安全に開くために追加できる追加の保護層を探しています。
現在、SSH経由のルートパスワードログインを無効にしました。ログインするにはRSAキーが必要です(秘密鍵はUSBスマートカードに保存されています)。
ポート22が一般に公開されている場合、私の設定に既知のリスクはありますか?ポート22に加えて、iptablesはポート80とポート443のみを外部世界に開放します。
私はWindowsコンピュータを使用してPuttyを介してCentos 6 Linuxに接続しています。
ポートをスキャンしている人にポートが開いていないように、ポート22へのアクセスを特定のコンピュータにさらに制限するためにファイアウォールまたはSSH設定に追加できる他のステートメントはありますか?私は現在iptablesをファイアウォールとして使用しています。
ベストアンサー1
既存の構成は非常に安全に見えます。ただし、他の方法を使用してアクセスを制限することもできます。
ポートノッキングは、ほとんどの場合ポートを閉じるために使用できます。これはiptables
。使用可能なデーモンがあるか、次の説明iptables
に従ってルールを完全に実装できます。沿岸壁の文書化。
TCPラッパーが有効になっている場合。 /etc/hosts.allow(以下に示す)のいくつかの規則は、にリモートで接続すると機能しますdeamon
。最初のルールはIPアドレス範囲を適切に調整し、ローカル接続が自動的に機能するようにします。 2 番目のルールは、複数の国 TLD に切り替えるアドレスのアクセスをブロックし、接続が成功するたびにメッセージを電子メールで送信します。ポートノックを使用しないとノイズが発生することがあります。
sshd : 10.0.0.0/8 192.168.0.0/24
sshd : ALL \
EXCEPT .ar .au .br .by .cl .co .cz .do .eg .gt \
.id .il .in .jp .ma .mx .nl .pe .pk .pl .pt \
.ro .rs .ru .sa .sg .tr .tw .ua .vn .za \
.ae .at .bg .gh .hr .hu .ke .kz .lt .md \
.my .no .sk .uy .ve : \
spawn (/bin/echo "SSH connection to %N from %n[%a] allowed" | \
/usr/bin/mailx -s "SSH Allowed" [email protected])
fail2ban
ルールを使用すると、サーバーに無差別攻撃を試みるホストを一時的にブラックリストに登録できます。 SSHをインターネットに公開すると、時々試みが起こります。