시큐어 레벨
securelevel
secure level은 *BSDkernels의 보안 메커니즘으로 특정 기능을 선택적으로 제한할 수 있습니다.Securelevel은 sysctl 변수 kern.securelevel에 의해 제어됩니다.이 값은 정수입니다.값 >0 으로 설정하면 특정 클래스의 제한이 네이블이 됩니다.어떤 슈퍼 유저 프로세스에서도 시큐어 레벨을 올릴 수 있습니다만, 초기 프로세스(FreeB에서는 할 수 없습니다)만 가능합니다.SD)는 낮출 수 있습니다.
FreeB와 함께 사용 시SD 감옥, 각 감옥은 글로벌 보안 수준뿐만 아니라 자체 보안 수준도 유지합니다.평가 시 2개의 시큐어 레벨 중 상위 레벨이 사용됩니다.이를 통해 호스트 환경은 감옥보다 낮은 보안 수준에서 실행되므로 감옥에서는 실행할 수 없는 파일 플래그를 조작할 수 있습니다.
REGRESSION 옵션과 함께 컴파일하면 새로운 sysctl이 FreeB에 추가됩니다.SD 커널: 자동 회귀 테스트를 위해 보안 수준을 낮출 수 있습니다.
시큐어 레벨은 런 레벨과 혼동해서는 안 됩니다.
정의들
OpenB의 경우SD 시큐어 레벨은 다음과 [1]같이 정의됩니다.
- -1(영구적으로 안전하지 않은 모드)은 커널이 레벨0과 같이 레벨을 올리려고 하지 않는 것을 제외하고 기능적으로는 시큐어 레벨0과 동일합니다.이것에 의해, 시큐어 레벨의 보호가 사실상 무효가 됩니다.
- 0(시큐어 모드) 모든 디바이스는 (적절한 권한이 있는 경우) 읽기 또는 쓰기가 가능하며 시스템파일 플래그는 chflag를 사용하여 클리어할 수 있습니다.이 모드는 일반적으로 시스템 부팅 중에 사용되며 부팅이 완료되고 시스템이 멀티 사용자 모드로 전환되면 레벨 1로 올라갑니다.
- 1(시큐어 모드) 이것은, 시스템이 멀티 유저 모드로 기동했을 때의 디폴트 모드입니다.이 모드에서는 보안 수준을 낮출 수 없습니다.원시 메모리 디바이스는 쓸 수 없습니다.마운트된 파일 시스템의 원시 디바이스는 쓸 수 없습니다.중요한 커널 변수(fs.posix 등)에 쓸 수 없습니다.setuid, hw.allowpowerdown, net.inet.ip.sourceroute, machdep.kbdreset, ddb.deb.db.deb 및 machdep.allowaperture)는 잠기고 부팅 시 존재했던 GPIO 핀만 액세스할 수 있습니다.
- 2(고시큐어 모드)는 시큐어 레벨 1과 같은 효과를 가지며, 또한 마운트 해제되어도 특정 시간 관련 기능을 쓸 수 없기 때문에(로그에 기록된 액션의 시간을 유용하게 하기 위해) 과거 시간을 설정할 수 없고, pf 규칙을 변경할 수 없다.이 모드는 루트 사용자 계정이 침해되었을 때 일종의 방어 기능을 제공하도록 설계되었습니다.
레퍼런스
- ^ "SECURELEVEL(7)". OpenBSD manual pages.
외부 링크