場合によっては、静的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をインターネットに公開すると、時々試みが起こります。
答え2
他の人が言ったように、SSHはすでに十分に安全な作業を行っています。 sshdデーモンを別の場所に移動することは意味がないと思います。私はこれを無線アクセスポイントを設定し、SSIDを隠すことに例えます。秘密の措置によってこの種のセキュリティ対策を迂回することは容易ではない。
SSHアクセスや他の手段を介してrootユーザーだけでなく、主要ユーザーにのみアクセスを制限することは常に良い考えです。
私が見つけた助けになることの1つは、このようなものを活用することですfail2ban
。これを使用して潜在的な攻撃者を検出し、対処を実行して速度を遅くして停止することができます。
答え3
SSHのインストールはすでにセキュリティの面で最先端です。
あなたができることがありますが、それがあなたのための本当の保護よりも痛みを伴う可能性があることに注意してください。ポートを22から不明なポートに変更することで、受信する攻撃および認証プローブの数を減らすことができます。
答え4
サーバー側の唯一のリスクは事前認証の脆弱性です。 SSHの(公開)記録はあまりありません。