나는 리눅스가 포함된 liveCD를 만들려고 생각 중입니다. 이 배포판(시험 OS라고 부르자)은 학생들이 시험 중에 사용하도록 설계되었으며 최소한 우회해서는 안 됩니다. 학생들은 자신의 노트북을 가져올 수 있으며 CD로 부팅 가능한 시험 운영 체제를 받을 수 있다고 가정합니다.
분포에는 다음과 같은 특성이 있어야 합니다.
- 제한된 네트워크 액세스(Wolframalpha.com 및/또는 Overlord 서버[인증된 사용자]에만 액세스하는 것이 좋음) - 다른 학생 및 외부 네트워크와 통신할 수 없습니다.
- 제한된 패키지(반면에 Maxima와 같은 몇 가지 추가 사항이 있음)
나는 두 번째 요점이 가장 쉽다고 생각합니다. CD를 아무리 오랫동안 분석하더라도(HDD에 저장할 수 있지 않습니까?) 제한을 우회할 수 없는지 확인하고 싶다면 첫 번째가 더 어려운 것 같습니다. 더 중요한 것은 시스템이 검증하기 쉬워야 한다는 것입니다(학생들이 저와 똑같은 시스템을 만들 수도 있습니다). 오버로드에 로그인해서 회원가입을 해서 로그인한 컴퓨터 수와 어떤 이름으로 등록되어 있는지(실명을 뜻합니다) 볼 생각이에요. 서버는 또한 학생이 자신의 종이에 입력해야 하는 몇 가지 키를 사용자에게 제공할 수도 있습니다(예, 사실 모든 것이 서류 작업이므로 PC는 단지 도움을 주기 위한 것입니다).
내 질문은 다음과 같습니다
- 시험 OS는 어떤 배포판을 기반으로 해야 합니까?
- 학생들의 우회 시도에 어떻게 대응해야 합니까?
이 문제에 대해 어떤 의견이라도 보내주셔서 감사합니다.
답변1
적어도 해를 끼칠 위험이 없다면 학생들에게 시험 운영 체제를 부팅하도록 강요할 수는 없습니다. 레벨 규칙으로 건너뛰어 전반적인 목표를 어떻게 달성할 수 있는지 확인하세요. 이것이 내가 당신의 시스템을 속이는 방법입니다.
나는 항상 루트 액세스와 필요한 모든 것을 가질 수 있는 Linux를 부팅했습니다. 그런 다음 Exam OS 루트 파일 시스템을 마운트하겠습니다. 파일 시스템은 당신이 나에게 준 CD에 있고 나는 항상 그것을 마운트할 수 있었습니다. 그런 다음 새 터미널을 열고 chroot
Exam 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를 생성/재구축하는 방법에 대한 최고의 문서가 있는 것을 선택하겠습니다! 완료된 시험 운영 체제는 다음 요구 사항을 충족해야 합니다.
- 학생들은 내가 원하는 모든 강좌에 빠르게 접근할 수 있습니다.
- 데스크탑에는 고유한 디자인/스킨이 있으므로 누군가가 Exam OS를 사용하지 않는지 멀리서라도 80% 확실하게 알 수 있습니다.
- 기본적으로 사용자 이름 및 비밀번호 인증은 필요하지 않습니다.
- 다른 사용자인 su 또는 sudo로 로그인하려면 인증을 위해 USB 스틱(키체인에 있는 것)이 필요합니다.
- 인터넷과 로컬 통신이 내 필요에 맞게 제한되도록 펑키한 네트워크 설정을 하십시오.
- 블루투스, irda 또는 통신을 가능하게 하는 이더넷 이외의 다른 하위 시스템도 지원하지 않는 사용자 정의 커널이 있습니다. USB에도 제한이 필요합니다!
1은 기본적으로 그들이 사용할 수 있기를 원하는 모든 것에 바탕 화면 바로 가기를 넣는 것을 의미합니다. 이렇게 하면 모든 것이 제대로 작동하는지 쉽게 테스트할 수 있습니다.
2를 구현하려면 시험 OS 데스크탑을 볼 때 인식할 수 있도록 학교 색상과 임시 로고를 사용하여 데스크탑에 스킨을 적용합니다. 시험 중에 이상한 색상이나 그림이 보이거나 있어야 할 것을 놓쳤을 때 더 자세히 조사할 수 있습니다.
3은 간단하고 시험 운영 체제를 단순하게 만듭니다. 누군가 부정 행위를 하고 있다고 생각되면 노트북을 닫고 뒤집어서 열 수 있습니다. 내가 신청한 시험 OS가 보이지 않거나 잠긴 화면만 보이면 누군가 부정 행위를 하고 있다는 것을 압니다.
4는 USB 키가 있는 경우에만 루트가 될 수 있도록 시스템을 강화하는 것을 의미합니다. pam 모듈이 있어서 USB 스틱 인증이 어렵지 않습니다(google pam_usb). Live CD의 기본 운영 체제와 수퍼유저 권한을 얻는 데 사용할 수 있는 모든 서비스(예: 로그인, su, sudo 및 일부 데스크톱 관리자 및 sshd)에 사용할 수 있는 pam 모듈을 사용하면 루트가 되기가 충분히 어려울 것입니다. 그 후에도 일반 사용자가 중요한 구성 파일과 디렉터리를 편집할 수 없도록 해야 합니다!
5는 네임서버 항목이 없지만 /etc/resolv.conf
사용자가 액세스할 수 있는 모든 사이트에 대한 일부 항목이 필요함을 의미합니다. /etc/hosts
또한, 들어오고 나가는 모든 패킷을 삭제하는 제한적인 방화벽이 있어야 하며, 각 호스트에 대해 학생들이 정의해야 하는 IP 주소를 통해 예외에 도달할 수 있기를 바랍니다.
이것이 6의 의미입니다. 선택한 live-cd의 공통 커널에서 구성을 가져오고 필요하지 않은 하위 시스템을 제거하십시오. 사운드, Linux 비디오, Bluetooth 등 시험 중에 필요하지 않은 모든 것. usb-hid 및 usb-storage를 제외한 모든 USB 장치를 떼어냅니다. USB 스틱에 관해 매우 중요한 점은 불필요한 파일 시스템을 모두 삭제하고 필요한 파일 시스템만 유지하는 것입니다. 인증 스틱의 경우 더 이상 아무도 가지고 있지 않은 이상한 FS를 사용하겠습니다. 어쩌면 표준 Linux의 일부가 아닌 실험적인 버전일 수도 있습니다.
이것은 단지 대략적인 가이드일 뿐입니다. 죄송합니다 :D
답변2
그들에게 CD를 사용하게 하는 것은 상당히 침해적인 것처럼 보입니다. 또한 일부 넷북에는 CD 드라이브가 전혀 포함되어 있지 않을 수도 있습니다... (자신의 장치가 없는 학생들은 말할 것도 없습니다!) 컴퓨터실이 있습니까?
구경하다1:현인. 그것은 묶음많은 오픈 소스 수학 소프트웨어(예: Maxima, GAP, SymPy, NumPy) 웹 기반(노트북 중심) 인터페이스. 또한 사람들은 컴퓨터 시험을 위해 그것을 사용해 왔습니다.sage-edu 메일링 리스트에서 그들의 경험과 설정 아이디어를 공유하세요.
로컬 네트워크에 Sage 서버가 있으면(잠긴 워크시트 공유가 있습니까? 가능한지 확실하지 않음) 올바르게 종료하면 인터넷 액세스를 완전히 비활성화할 수 있습니다.
1: 나는 가지고있다아니요이것을 철저히 생각했지만 어쨌든 도움이 될 수도 있습니다.
답변3
일을 더 어렵게 만드는 몇 가지 제안. 이 중 많은 부분은 CD를 집으로 보내는 것이 아니라 학교 어딘가에서 이 작업을 하고 있다고 가정합니다. (그렇다면 포기하세요. 학생이 부정 행위를 위해 다른 컴퓨터, 휴대폰, 태블릿 등을 사용할 수 있습니다.)
NFS 루트 파일 시스템
전체 운영 체제를 CD에 넣지 말고 최소한의 시스템만 넣으십시오. initramfs를 통과하는 것이 더 좋습니다. 귀하/학교가 제어하고 시험 당일에만 액세스할 수 있는 서버에서 NFS 루트 파일 시스템을 사용하도록 하십시오.
이렇게 하면 응시자가 시험 중에 시스템을 확인하기가 더 어려워집니다. 물론 테스터는 루트 액세스 권한이 없어야 하고 지속적이고 쓰기 가능한 미디어를 마운트하면 안 되므로 tar
나중에 검사할 수 있도록 rootfs를 설정하는 데 어려움을 겪게 됩니다.
또한 업데이트하기가 더 쉬워집니다. 매번 200장의 CD를 구울 필요는 없습니다.
더 나아가
모든 시스템이 네트워크 부팅을 지원하는 경우 네트워크 부팅을 수행합니다. CD는 전혀 배포되지 않습니다.
다르게 보이도록 해라
Linux 데스크탑 환경은 사용자 정의가 매우 쉽습니다. (어느 것에 따라) 창 색상, 제목 표시줄, 사용된 글꼴, 메뉴 및 작업 표시줄 모양, 데스크탑 배경 등을 변경할 수 있습니다. 이상한 짓은 하지 말고(시스템이 너무 낯설게 만들 수 있음) 기본값이 아닌 것으로 만드세요. 그러면 화면을 빠르게 스캔하여 제대로 보이지 않는 부분을 찾아낼 수 있습니다.
작은 일도 할 수 있습니다. 예를 들어 바탕 화면에 일부 아이콘을 배치하거나 메뉴 표시줄에 아날로그 시계를 배치합니다. 화면을 자세히 보면 이를 확인할 수 있습니다.
...모든 시험
누군가 당신의 모습을 따라하고 다음 시험을 준비할 수도 있습니다. 아니면 적어도 가까이서 봐야 할 만큼 가까이 있어야 합니다.
이미지를 계속 다시 레코딩할 필요가 없으면 각 검사의 모양을 쉽게 변경할 수 있습니다. 학생들은 시험을 시작하기 전에는 오늘의 ExamOS가 어떤 모습일지 알 수 없습니다.
VNC 서버 설정
데스크탑을 볼 수 있도록 VNC를 설정할 수 있으므로 책상에 앉아 편안하게 사람들을 볼 수 있습니다. 윤리적으로는 사람들에게 이런 일을 할 수 있다는 사실을 알려야 한다고 생각합니다.
기록 시험
파일 서버 공간과 대역폭이 있는 경우 전체 시험을 화면 녹화하세요. (화면 녹화 프로그램은 여러 가지가 있습니다.) 의심스러운 경우 및/또는 무작위 샘플의 경우에만 검토하십시오. 윤리적으로는 학생들에게 또 다른 사실을 알려주어야 한다고 생각합니다.
미디어 제어
시험 시작 시 ExamOS CD를 배포하고 시험이 끝나면 수집해야 합니다. 사람들에게 돌려달라고 요청하세요.
네트워크 제어
iptables
iptables를 사용하여 원하는 트래픽을 제외한 모든 나가는 트래픽을 차단할 수 있습니다. HTTP 프록시를 사용하도록 웹 브라우저를 구성하고 나가는 트래픽만 해당 프록시를 통해서만 허용하도록 구성하는 것이 좋습니다. 프록시에 연결해야 하는 경우 DNS를 허용할 수도 있습니다(단, DNS 서버만 해당).
대리인
허용 및 금지된 URL 목록을 사용하여 오징어, 아파치 등을 구성할 수 있습니다. 제어하는 서버나 각 로컬 컴퓨터에서 실행할 수 있습니다.
외부 방화벽
모든 시험 기계가 귀하가 제어하는 방화벽 뒤에 있는 경우 방화벽에서 항목을 차단할 수도 있습니다. 자신의 연결을 가져오지 않으면 학생들은 이를 우회할 수 없습니다.