NFSルートファイルシステム

NFSルートファイルシステム

私はLinuxを含むliveCDを作成しようとしています。このディストリビューション(テストOSと呼ぶ)は、学生が試験中に使用するように設計されており、少なくともバイパスしてはいけません。学生は自分のラップトップをインポートでき、CDで起動可能なテストオペレーティングシステムを受け取ることができると仮定します。

分布には次の特性が必要です。

  • 制限付きネットワークアクセス(Wolframalpha.comおよび/またはOverlordサーバー[認証済みユーザー]にのみアクセスすることをお勧めします) - 他の学生や外部ネットワークと通信することはできません。
  • 制限されたパッケージ(一方、Maximaなどのいくつかの追加があります)

私は2番目のポイントが最も簡単だと思います。 CDをいくら長く分析しても(HDDに保存できませんか?)、制限を迂回できないことを確認したい場合は、最初の方が難しいようです。さらに重要なのは、システムが検証しやすくなければならないことです(学生は私と同じシステムを作成することもできます)。オーバーロードにログインして会員登録をしてログインしたコンピュータの数とどんな名前で登録されているか(本名を意味します)見てみたいです。サーバーはまた、生徒が自分の紙に入力する必要があるいくつかのキーをユーザーに提供することができます(例えば、実際にはすべてが文書作業なので、PCはただ助けるためのものです)。

私の質問は次のとおりです

  • テストOSはどのディストリビューションに基づいているべきですか?
  • 生徒のバイパスの試みにどのように対応すべきですか?

この問題についてどんな意見でも送っていただきありがとうございます。

ベストアンサー1

少なくとも害を及ぼすリスクがなければ、生徒にテストオペレーティングシステムを起動するように強制することはできません。レベルルールにスキップして、全体的な目標を達成する方法を確認します。これが私があなたのシステムをだます方法です。

私はいつもrootアクセスと必要なものすべてを持つことができるLinuxを起動しました。次に、Exam OSのルートファイルシステムをマウントします。ファイルシステムはあなたが私に与えたCDにあり、私はいつもそれをマウントできました。次に、新しい端末を開き、chrootExam OSに移動してchroot-jail内でExam OSを起動します。あなたのテストオペレーティングシステムがDebianまたはその派生製品のいずれかに基づいている場合

/etc/init.d/rc S
/etc/init.d/rc 2

私は実際にあなたのテストオペレーティングシステムを持っています。言い換えれば、あなたが私に与えたいすべてのものを持つことになり、あなたが私に与えたくないすべてのもののための独自のLinuxも持っています。

たぶん私は走りすぎているので、/etc/init.d/rc S単に走ることに制限する必要があります/etc/init.d/rc 2。すべてのディストリビューションには、見つけやすい類似の魔法の表現があります。

はい、あなたは戦争を引き起こし、貴重なテスト時間を無駄にすることができます。しかし、あなたが私に費やす瞬間ごとに数時間を費やす必要があります!また、テストオペレーティングシステムが仮想マシンの内部起動を拒否するようにする必要があります。これは、システムを欺くもう一つのオプションだからです。


破壊的な部分は今や、建設的な部分について話しましょう。 :-)

生徒が何かをしたくない場合は、ルールを破ったらクラスで落とすように言います。これは何世紀にもわたって効果がありました!私はテストオペレーティングシステムCDを配布し、テスト中に他のオペレーティングシステムを使用することは不正行為と見なされると言います。今、私たちはこの問題を解決しました。今私たちがしなければならないことは彼らの不正行為をつかむことだけです(ほとんど彼らは二度とそのようなことをしません)。

テストオペレーティングシステムを作成するために、既存のLive-CDのいくつかを修正します。ほとんど重要ではありませんが、「完全な」Linuxであれば最も簡単になるので、UbuntuとFedoraが最初に登場します。非常に多様な代替リスト。私はライブCDを作成/再構築する方法についての最高の文書があることを選びます!完了したテストオペレーティングシステムは、次の要件を満たす必要があります。

  1. 学生は私が望むすべてのコースにすばやくアクセスできます。
  2. デスクトップには独自のデザイン/スキンがあるため、誰かがExam OSを使用していないかどうかにかかわらず、80%確実に知ることができます。
  3. デフォルトでは、ユーザー名とパスワード認証は必要ありません。
  4. 他のユーザーであるsuまたはsudoとしてログインするには、認証にUSBスティック(キーチェーン上のもの)が必要です。
  5. インターネットとローカル通信が自分のニーズに合わせて制限されるように、ファンキーなネットワーク設定を行います。
  6. Bluetooth、irda、または通信を可能にするイーサネット以外の他のサブシステムもサポートしていないカスタムカーネルがあります。 USBにも制限が必要です!

1は基本的に彼らが使用できるようにしたいすべてにデスクトップショートカットを置くことを意味します。これにより、すべてが正しく機能しているかどうかを簡単にテストできます。

2を実装するには、テストOSデスクトップを表示するときに認識できるように、学校の色と一時的なロゴを使用してデスクトップにスキンを適用します。テスト中に奇妙な色や絵が見えたり、必要なものを見逃した場合は、さらに詳しく調べることができます。

3はシンプルで、テストオペレーティングシステムをシンプルにします。誰かが不正行為をしていると思われる場合は、ラップトップを閉じて裏返して開くことができます。私が申請したテストOSが見えない、またはロックされた画面だけが表示された場合、誰かが不正行為をしていることがわかります。

4は、USBキーがある場合にのみルートになるようにシステムを強化することを意味します。 pamモジュールがあるため、USBスティック認証は難しくありません(google pam_usb)。 Live CDのネイティブオペレーティングシステムとスーパーユーザー権限を取得するために使用できるすべてのサービス(ログイン、su、sudo、一部のデスクトップマネージャ、sshdなど)に使用できるpamモジュールを使用すると、rootになるのが十分に困難になります。 。その後も、一般ユーザーが重要な構成ファイルとディレクトリを編集できないようにする必要があります。

5は、ネームサーバーエントリはありませんが、/etc/resolv.confユーザーがアクセスできるすべてのサイトにいくつかのエントリが必要であることを意味します。/etc/hostsまた、着信および発信するすべてのパケットを破棄するための限られたファイアウォールがあり、各ホストに対して生徒が定義する必要があるIPアドレスを介して例外に到達できることを願っています。

これが6の意味です。選択した live-cd の共通カーネルから設定をインポートし、不要なサブシステムを削除します。サウンド、Linuxビデオ、Bluetoothなど、テスト中に必要とされなかったすべて。 usb-hidおよびusb-storageを除くすべてのUSBデバイスを取り外します。 USBスティックに関して非常に重要なのは、不要なファイルシステムをすべて削除し、必要なファイルシステムのみを維持することです。認証スティックの場合、もう誰も持っていない奇妙なFSを使用します。たぶん、標準のLinuxの一部ではなく、実験的なバージョンかもしれません。

これはおおよそのガイドです。申し訳ありません:D

おすすめ記事