tdp-logo

■ OpenSSHでのchrootの導入

概 要

サーバを管理する場合、いろいろな面でユーザに制限する必要が出てきたり、制限させたくなると思います. ここではopenSSHをftpでのchrootと同様に制限する方法を(ユーザが自身のホームディレクトリ内しか移動できない制限)、 防備録としてまとめておきます(防備録なので全面的に信用しないように(^^;).
尚、使っているのはFedora Core1で、ソフトのインストール方法は基本的にrpmのみです.

インストール/設定方法

いきなりですが、以下のサイトの方がよくまとまっていますので、 そちらを参考にしてして下さい(^^;
尚、一番目のchrootの導入は けんたおる さんが作成したものですが、 2004.6.20で残念ながらサイトを閉鎖するとのことで、 許可を頂いて原文のままこのサイトに移動したものです.

尚、2004.8.24時点のOpenSSH-chrootの最新版は3.9p1です.

注意点

上記のサイトに書かれていなくて、はまった点をまとめておきます.

コンパイル時の注意

configure時にエラーが出たのでのですが、少なくともzlibとopensslはdevelまでインストールしておかないとだめのようです. 何が必要かはOpenSSHのドキュメント、makeで必要なものは別サイトで確認して下さい.

22番ポートの確認

今までOpenSSHを使ってなく、iptableでパケットフィルタリングしている場合は、 22番ポートをあけているか、iptablesやnmapツール等で確認し、あいてない場合は事前にあけておきましょう. 自分はssh用でなく別のポートでしたがiptablesの事を久しぶりにサーバいじったので、すっかり忘れていて、数日原因究明に時間を費やしたことがあります(苦笑).

WinSCP(Win用GUIクライアント)起動時のエラー

自分は、/usr/bin/groups も各ユーザーのフォルダーにコピーしましたが、実行権限がつけられてなかったので、 クライアントのWindowsマシンでWinSCP起動時にエラーが表示されました.別にエラーが出ても使えるのですが、WinSCPを使うユーザが不安になると思ったので、実行権限をつけておきました. 他にもコマンド類が足りないとエラーが出るかもしれませんが、その場合はWinSCPヘルプや日本語訳サイトのドキュメントを参考にして下さい.

ユーザログイン時の注意

OpenSSH-chrootを使ったリモートからのログインは、各ユーザのホームディレクトリが /(ルート)ディレクトリになり、それより上位の階層にはいけませんが、 sshサーバ自身からダイレクトにログインすると、ホーム以外のフォルダにも移動できますので、勘違いしない無い様にしましょう.

さらにセキュリティを高める

まず一つはFedoraで自宅サーバー構築サイトの説明のとおり鍵方式にすることです. これが多分一番安全な方法だと思います.ただ私の環境では、特定のネットワークからだけある程度自由にサーバに接続したいこともあり、別の方法として xinetd+ssh+パスワード認証許可 にしてます. ちなみにxinetdは、常時起動してなくてよいデーモン(sshやftp等)のポートを監視し、そのポートの接続要求が来てからデーモンを立ち上げます.又、このとき、許可していないネットワークやユーザーからの要求をはじくことができるというものです.
具体的な設定方法は、ITmedia:エンタープライズ:Linux Tips:sshdをXinetd経由のログインにする が参考になると思います.

OpenSSH-chrootのrpmパッケージ

私の場合は、できるだけ簡単に管理するということから、実はcheckinstallでrpm化したものでインストールしてます. ここに置いておきますので、利用する場合は以下を確認した上でお願いします.

パッケージopenssh-3.9p1-chroot.rpm.tar.gz
MD58c259ce4bf9434349bbf5cbe90935dfb
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
MD58f55f23279f0a71580322b3a8c5322e1
注意点3.9p1と同じ

Copy right (c) 2004 S.Suzuki. リンクは自由で、連絡も不要です