2013年02月14日

公開鍵方式でのSSH接続 Porderosa,Putty,winSCP

ポスワード認証にしていたら、本番サーバーへの不正アクセスを試みようとされた回数が2万3千回と、かなり多かったのでびびりました。ちなみにパナマからです。

IP制限してあるので不正ログイン大丈夫なんだけど、IPって変えれるからね。
怖い怖い。

1./etc/ssh/sshd_configの編集

鍵交換方式によるssh接続
http://kazmax.zpp.jp/linux/lin_sshrsa.html

RSA公開鍵認証の有効化とパスワード認証の無効化 − Gentoo Linuxで自宅サーバ
http://gentoo.reichsarchiv.jp/item/17
を参考にして

#vi /etc/ssh/sshd_config
==============================
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeyFile .ssh/authorized_keys
==============================
公開鍵と秘密鍵、パスフレーズによる認証が可能になる。

==============================
PermitRootLogin no
==============================
rootで直接ログインできないようにする。

==============================
RhostsRSAAuthentication no
PasswordAuthentication yes
PermitEmptyPasswords no

==============================
rhostでの接続とパスワード認証の無効化
パスワード認証は、公開鍵での接続ができてから
無効にするのでひとまずyesにしてく。
もし、上記の設定が間違っていたらサーバーにログインできなくなるので。

==============================
ChallengeResponseAuthentication no
==============================
チャレンジレスポンス認証を明示的に無効化
有効化のままだと、PAM認証(実質てきにはパスワード認証)を行ってしまう

最期に、セキュリティの設定とは直接関係ないが、ログレベルを指定しておく。
==============================
SyslogFacility AUTH
LogLevel INFO

==============================

以上で、sshdの設定は終わり
設定テスト
/usr/sbin/sshd -t

問題がなければ再起動
/etc/init.d/sshd restart

次は、SSH接続ポートの変更
参考サイト↓
http://d.hatena.ne.jp/MonteCut/20111112/1321075650
使っていないポートを確認する

#netstat -antu
で、LISTENと、ESTABLISHEDになっているポートを確認
0から1023 : Well Known Portsとして決められている。
1024から49151 : Registered Portsと呼ばれ、様々なサービスが定義されているので使わない方が望ましい。
9152から65535 : Dynamic or/and Private Ports アプリケーションで勝手に使える
なので
9152から65535で任意のポートを選んで設定する



SSHの接続ポートを変更
#vi /etc/ssh/sshd_config
===============================
Port 2739 ←任意のポート
===============================
/etc/init.d/sshd restart
再起動

サービスも登録
vi /etc/services
===============================
#ssh 22/tcp SSH Remote Login Protocol
#ssh 22/udp SSH Remote Login Protocol
ssh ポート番号/tcp SSH Remote Login Protocol
ssh ポート番号/udp SSH Remote Login Protocol

===============================
SSHの行のポート番号を変更する

2.公開鍵の作成
Poderosaで鍵を作って、公開鍵をサーバーに置く
RSAの1024ビットで作成。

公開鍵をサーバーに置く
ssh公開鍵方式でログインしたいユーザーで操作すること

#mkdir -p ~/.ssh
#chmod 700 ~/.ssh
#vi ~/.ssh/authorized_keys

===============================
Poderosaで作った公開鍵の内容をコピペして保存
===============================
#chmod 600 ~/.ssh/authorized_keys
これでOK

3.Poderosaの設定

秘密鍵のパスワードをいちいち入力するのが面倒だから、接続のショートカットに書く
接続のショートカットを作って、その中の、「Poderosa.Protocols.SSHLoginParameter」タグの中に
passphrase="*****" を追加
====================================================================
< Poderosa.Protocols.SSHLoginParameter destination="*****"
..... passphrase="秘密鍵のパスフレーズ" />

====================================================================

windows7だと権限の関係でPoderosaの設定ファイルが保存されないので、
管理者権限でコマンドを起動し、以下のコマンドを実行する
cd /d "%ProgramFiles(x86)%\Poderosa"
echo. >options.conf
cacls options.conf /e /g Users:C
echo. >ssh_known_host
cacls ssh_known_hosts /e /g Users:C


その後、Poderosaのメニュー→ツール→ 詳細プリファレンスエディタで
org.poderosa.protocols.readSerializedPasswordをtrueにする。

参考サイト
http://labs.cybridge.jp/2010/11/poderosassh.html
接続するたびにパスフレーズを入力するのが面倒です
Poderosa のオプション設定が保存されない - iishunのはてなダイアリー

4.winSCPの設定

puttygen.exeを使います。
書くの疲れました。

参考サイト
http://blog.livedoor.jp/wingclean/archives/50371241.html





5.接続が出来たら

パスワード認証を不許可にする
#vi /etc/ssh/sshd_config
==============================
PasswordAuthentication no
==============================
リスタート
/etc/init.d/sshd restart


以上でOK

SSHdの設定一覧
http://www14.plala.or.jp/campus-note/vine_linux/server_ssh/sshd_config.html


→後日談 設定2日目で、不正アクセスが50〜10回と格段に減りました!
     効果覿面です!
posted by onishi at 11:53| Comment(1) | centos | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
ダウンジャケット
Posted by ビクトリア 下着 at 2013年07月31日 19:27
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント: