サーバを管理する場合、いろいろな面でユーザに制限する必要が出てきたり、制限させたくなると思います.
ここではopenSSHをftpでのchrootと同様に制限する方法を(ユーザが自身のホームディレクトリ内しか移動できない制限)、
防備録としてまとめておきます(防備録なので全面的に信用しないように(^^;).
尚、使っているのはFedora Core1で、ソフトのインストール方法は基本的にrpmのみです.
いきなりですが、以下のサイトの方がよくまとまっていますので、
そちらを参考にしてして下さい(^^;
尚、一番目のchrootの導入は けんたおる さんが作成したものですが、
2004.6.20で残念ながらサイトを閉鎖するとのことで、
許可を頂いて原文のままこのサイトに移動したものです.
尚、2004.8.24時点のOpenSSH-chrootの最新版は3.9p1です.
上記のサイトに書かれていなくて、はまった点をまとめておきます.
configure時にエラーが出たのでのですが、少なくともzlibとopensslはdevelまでインストールしておかないとだめのようです. 何が必要かはOpenSSHのドキュメント、makeで必要なものは別サイトで確認して下さい.
今までOpenSSHを使ってなく、iptableでパケットフィルタリングしている場合は、 22番ポートをあけているか、iptablesやnmapツール等で確認し、あいてない場合は事前にあけておきましょう. 自分はssh用でなく別のポートでしたがiptablesの事を久しぶりにサーバいじったので、すっかり忘れていて、数日原因究明に時間を費やしたことがあります(苦笑).
自分は、/usr/bin/groups も各ユーザーのフォルダーにコピーしましたが、実行権限がつけられてなかったので、 クライアントのWindowsマシンでWinSCP起動時にエラーが表示されました.別にエラーが出ても使えるのですが、WinSCPを使うユーザが不安になると思ったので、実行権限をつけておきました. 他にもコマンド類が足りないとエラーが出るかもしれませんが、その場合はWinSCPヘルプや日本語訳サイトのドキュメントを参考にして下さい.
OpenSSH-chrootを使ったリモートからのログインは、各ユーザのホームディレクトリが /(ルート)ディレクトリになり、それより上位の階層にはいけませんが、 sshサーバ自身からダイレクトにログインすると、ホーム以外のフォルダにも移動できますので、勘違いしない無い様にしましょう.
まず一つはFedoraで自宅サーバー構築サイトの説明のとおり鍵方式にすることです.
これが多分一番安全な方法だと思います.ただ私の環境では、特定のネットワークからだけある程度自由にサーバに接続したいこともあり、別の方法として xinetd+ssh+パスワード認証許可 にしてます.
ちなみにxinetdは、常時起動してなくてよいデーモン(sshやftp等)のポートを監視し、そのポートの接続要求が来てからデーモンを立ち上げます.又、このとき、許可していないネットワークやユーザーからの要求をはじくことができるというものです.
具体的な設定方法は、ITmedia:エンタープライズ:Linux Tips:sshdをXinetd経由のログインにする が参考になると思います.
私の場合は、できるだけ簡単に管理するということから、実はcheckinstallでrpm化したものでインストールしてます. ここに置いておきますので、利用する場合は以下を確認した上でお願いします.
| パッケージ | openssh-3.9p1-chroot.rpm.tar.gz |
| MD5 | 8c259ce4bf9434349bbf5cbe90935dfb |
| configure条件 | --prefix=/usr --libexecdir=/usr/libexec/openssh --sysconfdir=/etc/ssh --mandir=/usr/share/man --with-tcp-wrappers |
| インストール | #tar xvzf openssh-3.9p1-chroot.rpm.tar.gz でrpmファイルとsshd.initが解凍されるのでrpmインストールして下さい.sshd.initは./etc/rc.d/init.d/ディレクトリにファイル名を変えてコピーして下さい. このrpmはFedoraが用意しているOpenSSHのrpmと同じディレクトリに展開されるはずなので、既にインストールしていた場合は、 OpenSSH関係全てをアンインストール後、このrpmをインストールして下さい. 又、まったくOpenSSHをインストールしてなかった場合、/etc/ssh/フォルダやsshd_configも作る必要があるかもしれませんので、自ら確認をお願いします. その他細かい点は、上記のリンクサイトを参考にして下さい. |
| 注意点 | Fedora Core1,それも自分の環境でしか確認してませんので、他で上手くインストールできるかは不明です. 又動作に関しても同様なので、自己責任でお願いします. |
| パッケージ | openssh-3.8.1p1-chroot.rpm.tar.gz |
| MD5 | 8f55f23279f0a71580322b3a8c5322e1 |
| 注意点 | 3.9p1と同じ |
Copy right (c) 2004 S.Suzuki. リンクは自由で、連絡も不要です