SSH を安全にするたった一つの冴えたやり方

Posted by
ぴろり
Posted at
2009/02/28 18:45
Trackbacks
関連記事 (0)
Post Comment
コメントできます
Category
電算室 カテゴリ

 …って書く程でもないですけどね。しかも「たった一つ」じゃないし! SSH がアタックされてログが酷いことになってるよー(泣)とお嘆きの管理者は多いと思います。簡単にできてその割りに効果的な対策は一つ。SSH のポート番号を変えてやることです。アタックされること自体が大きく減るので,確率的にもは破られにくくなります。ついでにログの増加量も劇的に削減できるのでです。

この記事をはてなブックマークに追加する この記事のはてなブックマーク数 | この記事をlivedoorクリップに追加する この記事のlivedoorクリップ数 | この記事をYahooブックマークに追加する この記事のYahoo!ブックマーク数 | この記事をdel.icio.usに追加する | Twitterにポストする

 クラッカーが使用するアタック プログラムは 22 番ポートが空いていない時点で大抵諦めてくれるので(自分だったらそうプログラムする),ポート番号を変えるだけで効果は絶大です。ところで SSH は複数のポートで待ち受けできるので,私の場合,自宅のでは 3022 番と 22 番の両方のポートを SSH 用に開けていて,外向けルータの NAT 設定で 3022 番ポートだけをに向けてあります。これで,自宅内では普通に 22 番ポートで,そして外からは 3022 番ポートを使って SSH にアクセスできるようにしています。

root でのログインを禁止する

 しかし,それでも中には暇なクラッカーが居て,ポート スキャンを行って SSH のポートを探し出し,果敢にアタックしてくる連中が少数ながら居ます。そんな時,UNIX では必ず存在するユーザ名 root は格好の標的になります。アクセス ログに残ったアタックの形跡を見ると,大抵,ユーザ名 root に対してパスワードの辞書攻撃,もしくはブルート フォース攻撃を仕掛けてくることがわかっています。そこで,SSH でログインできるユーザ名を限定し,root でのログインはできないようにすると安全です。

公開鍵認証方式の採用

 更に,root 以外のユーザ名の辞書攻撃を防ぐためにも,通常のユーザ名+パスワードによる認証自体を使用不可にし,公開鍵認証のみのログインに切り替えておくことで安全にすることができます。これで辞書攻撃もブルート フォース攻撃も一切通用しなくなります。

接続数による制限

 SSH へのアタックは,アタック プログラムを利用して短時間に多数の接続要求を送ってくることが一般的です。そこで,SSH の設定で MaxStartups ディレクティブを設定するのが役立ちます。MaxStartups ディレクティブは,コロン区切りで 3 つの数字を設定します。

 これで同時に 3 つまでの接続要求は通常通り処理しますが,4 つを超える接続要求は 50% の確率でこれを拒否し,10 以上の接続要求は全て拒否する,という意味になります。接続するユーザが少人数に限られていたり,そもそも SSH でログインしての作業をあまり必要としないでは,MaxStartups にはできるだけ小さい値を設定しておくのが良いでしょう。


この記事を読んだ人はこんな記事も読んでいます 記事リコメンデーションについて

その他の関連する記事


関連記事/トラックバック

関連記事/トラックバックはまだありません

この記事にトラックバックを送るには?

コメントを投稿する

 
 (匿名可/必須/公開)
 (匿名可/必須/非公開)
 (必須)
コメントスパム防止のため投稿前に ランダムな数字 CAPTCHAについて を入力してから投稿してください。お手数ですがご協力のほど宜しくお願いいたします。
 
サーバ セキュリティ Tips, Rips, 5ips, 6ips, Yips, Gips, Fips, TUps, T8ps, T9ps, TOps, TKps, TJps, TiOs, Ti0s, Ti-s, TiLs, TipA, TipW, TipE, TipD, TipX, TipZ