- - PR -
SSH2接続(ホスト公開鍵)
投稿者 | 投稿内容 | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2005-12-21 18:58
これらは各ユーザの自己責任ということで切り分けたつもりでいました。
このへんになってくると、すでに侵入されているわけで、authorized_keysが 書き換えられたどころの騒ぎではなくなります。 ちょっと、話が噛み合っていないかもしれません。 私は、ユーザー環境の脅威について話していて、cn009さんはサーバー全体の脅威の お話をされているようです。同じっちゃぁ同じですが。
そうですね。SSHで繋ぐ方が望ましいですね。 ■/etc/shosts.equiv ---- 192.168.1.2 192.168.1.3 ---- と書いてみたのですが、 Permission denied (publickey,keyboard-interactive,hostbased). です。 デバッグモードで実行してみました。 何かおわかりになりませんでしょうか? # ssh -v 192.168.1.3 ---- OpenSSH_4.2-chrootsshp1, OpenSSL 0.9.7f 22 Mar 2005 debug1: Reading configuration data /etc/ssh/ssh_config debug1: Connecting to 192.168.1.3 [192.168.1.3] port 22. debug1: Connection established. debug1: identity file /home/[user]/.ssh/identity type -1 debug1: identity file /home/[user]/.ssh/id_rsa type -1 debug1: identity file /home/[user]/.ssh/id_dsa type -1 debug1: Remote protocol version 2.0, remote software version OpenSSH_4.2-chrootssh debug1: match: OpenSSH_4.2-chrootssh pat OpenSSH* debug1: Enabling compatibility mode for protocol 2.0 debug1: Local version string SSH-2.0-OpenSSH_4.2-chrootssh debug1: SSH2_MSG_KEXINIT sent debug1: SSH2_MSG_KEXINIT received debug1: kex: server->client aes128-cbc hmac-md5 none debug1: kex: client->server aes128-cbc hmac-md5 none debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP debug1: SSH2_MSG_KEX_DH_GEX_INIT sent debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY debug1: Host '192.168.1.3' is known and matches the DSA host key. debug1: Found key in /etc/ssh/ssh_known_hosts:1 debug1: ssh_dss_verify: signature correct debug1: SSH2_MSG_NEWKEYS sent debug1: expecting SSH2_MSG_NEWKEYS debug1: SSH2_MSG_NEWKEYS received debug1: SSH2_MSG_SERVICE_REQUEST sent debug1: SSH2_MSG_SERVICE_ACCEPT received debug1: Authentications that can continue: publickey,keyboard-interactive,hostbased debug1: Next authentication method: hostbased ssh-keysign not enabled in /etc/ssh/ssh_config ssh_keysign: no reply key_sign failed debug1: Next authentication method: publickey debug1: Trying private key: /home/[user]/.ssh/identity debug1: Trying private key: /home/[user]/.ssh/id_rsa debug1: Trying private key: /home/[user]/.ssh/id_dsa debug1: Next authentication method: keyboard-interactive debug1: Authentications that can continue: publickey,keyboard-interactive,hostbased debug1: No more authentication methods to try. Permission denied (publickey,keyboard-interactive,hostbased). ---- | ||||||||||||||||||||||||
|
投稿日時: 2005-12-23 00:45
suExec の CGI スクリプトの脆弱性を攻撃された場合は、侵入されたといっても、 そのユーザの権限の範囲内ですから、それがすぐにシステム全体の危険というわけではありません。 とは言っても、そのユーザの権限で可能であればイロイロ出来る(セキュリティホールの種類によります)わけなので、 情報漏えいとかの危険はありますし、環境によっては大騒ぎになるでしょうけど。
ちょっと話がかみ合わなかったのはそのせいのようですね。 rootが悪さをするとか、ミスをするとか、ということを考え始めると そのサーバ上のユーザ環境とかは保証できないんですよね。 それでサーバー全体の話をしていました。 # 不勉強なのですが、SELinux でポリシーをがちがちにすれば何とかなるんでしょうかねぇ。
ssh_config のマニュアルによると、ssh_config で EnableSSHKeysign yes を設定しないといけないようです。 # そういえば ssh が setuid されなくなっていますね。 | ||||||||||||||||||||||||
|
投稿日時: 2005-12-24 00:18
お世話になっております。
設定してみました。 今度はこんなエラーです。 ---- not a valid request ssh_keysign: no reply key_sign failed Permission denied (publickey,keyboard-interactive,hostbased). ---- で、/etc/ssh/ssh_host_dsa_key のパーミッションを 600 から 644 に 変えたら繋がったのですが、/var/log/messages に下記のメッセージが 表示されるので、元に戻しました。 ---- Dec 23 23:51:22 [myhost] sshd[12864]: error: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Dec 23 23:51:22 [myhost] sshd[12864]: error: @ WARNING: UNPROTECTED PRIVATE KEY FILE! @ Dec 23 23:51:22 [myhost] sshd[12864]: error: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Dec 23 23:51:22 [myhost] sshd[12864]: error: Permissions 0644 for '/etc/ssh/ssh_host_dsa_key' are too open. Dec 23 23:51:22 [myhost] sshd[12864]: error: It is recommended that your private key files are NOT accessible by others. Dec 23 23:51:22 [myhost] sshd[12864]: error: This private key will be ignored. Dec 23 23:51:22 [myhost] sshd[12864]: error: bad permissions: ignore key: /etc/ssh/ssh_host_dsa_key Dec 23 23:51:22 [myhost] sshd[12864]: error: Could not load host key: /etc/ssh/ssh_host_dsa_key Dec 23 23:51:22 [myhost] sshd[12864]: Disabling protocol version 2. Could not load host key Dec 23 23:51:22 [myhost] sshd[12864]: sshd: no hostkeys available -- exiting. ---- | ||||||||||||||||||||||||
|
投稿日時: 2005-12-26 00:10
う〜ん、ちょっとログが少なすぎてよく分かりません。 ssh-keysign は suid されていますよね? suid されていない場合は、cannot open とかになる気がしますし。 ただ、色々と調べてみると、クライアントが認識しているクライアントのホスト名と、 サーバが接続元アドレスを逆引きして得られるホスト名が異なる場合、問題が起きるようです。 How do I get trusted-host (SSH-2 "hostbased", SSH-1 "RhostsRSA") authentication working? サーバ1は外部からアクセスできるようですが、ホスト名が FQDN になっていたりしませんか? そして、サーバ2で 192.168.1.2 を逆引き出来なかったり、異なるものになったりしませんか?
なぜそれで繋がったのか、いまいち分かりませんが、 ホスト秘密鍵を誰にでも読めるようにするのはセキュリティ上かなり問題ありです。 特にホストベースの認証を行っている場合は、信頼関係にあるサーバに任意のユーザで ログインできる様になると思います。 # 多分改造したsshクライアントが必要になると思いますけど。 |