-1개의 영구적인 안전하지 않은 모드

-1개의 영구적인 안전하지 않은 모드

npf보호를 위해 외부 방화벽에만 의존하는 대신 NetBSD 서버에서 이 기능을 사용 하고 싶습니다 . 그러나 나는 다음을 얻습니다.

$ npfctl show
npfctl: /dev/npf: No such file or directory

글쎄, 어쩌면 내가 장치 노드를 삭제했을 수도 있습니다. 에도 불구하고:

$ grep npf /dev/MAKEDEV
        makedev bpf npf
npf)
        mkdev npf        c 198 0
# mknod /dev/npf c 198 0
$ npfctl show
npfctl: /dev/npf: Device not configured

아, 그런데 드라이버를 먼저 로드해야 합니다.

$ modstat | grep npf; echo $?
1
$ find /stand -name 'npf.kmod'
/stand/sparc64/7.0/modules/npf/npf.kmod
$ uname -sr
NetBSD 7.0.2
# modload npf
modload: Operation not permitted

왜 루트 권한이라도 모듈을 로드할 수 없나요?

답변1

NetBSD는 다음을 사용합니다.커널 보안 수준실행 중인 시스템에서 수행할 수 있는 작업을 결정합니다. 링크에서:

-1개의 영구적인 안전하지 않은 모드

  • 시작 시 보안 수준을 높이지 마세요.

0 안전하지 않은 모드

  • 또는 init프로세스(PID 1)를 추적하거나 액세스할 수 없습니다.ptrace(2)systrace(4)procfs
  • 불변 플래그와 추가 전용 플래그는 변경될 수 있습니다.
  • 모든 장치는 해당 권한에 따라 읽거나 쓸 수 있습니다.

참고: 이 보안 수준 이상에서는 X11을 실행할 수 없습니다.

sysutils/aperture정말 필요하다면 시도해 보세요.

안전 모드 1개

  • securelevel 0의 모든 효과
  • /dev/mem그리고 /dev/kmem쓰지 않을 수도 있다
  • 마운트된 파일 시스템의 원시 디스크 장치는 읽기 전용입니다.
  • 제거할 수 없는 불변 및 추가 전용 파일 플래그
  • 커널 모듈을 로드하거나 언로드하지 못할 수 있음
  • net.inet.ip.sourceroute sysctl(8)변수는 변경할 수 없습니다.
  • 노드 추가 또는 제거가 sysctl(9)거부되었습니다.
  • RTC 오프셋을 변경하면 안 됩니다.
  • Set-id 코어 덤프 설정을 변경하면 안 됩니다.
  • ipkdb(4)연결된 IP 기반 커널 디버거는 허용되지 않습니다.
  • 원시 디스크 및/또는 메모리 액세스를 수행하는 데 사용되었을 수 있는 장치 통과 요청이 거부되었습니다.
  • iopl그리고 ioperm그 전화는 거절됐어
  • 관리되지 않는 메모리에 대한 액세스가 거부되었습니다.

2 높은 보안 모드

  • securelevel 1의 모든 효과
  • 원시 디스크 장치는 마운트 여부에 관계없이 항상 읽기 전용입니다.
  • 새 디스크를 마운트할 수 없으며 기존 마운트를 읽기-쓰기에서 읽기 전용으로 다운그레이드할 수 있습니다.
  • 시스템 시계를 뒤로 설정하거나 오버플로에 가깝게 설정할 수 없습니다.
  • 각 프로세스의 코어 덤프 이름은 변경할 수 없습니다.
  • 패킷 필터링 및 NAT 규칙을 변경하면 안 됩니다.

내 시스템이 보안 수준 1에서 실행 중이므로 "커널 모듈을 로드하거나 언로드할 수 없습니다." 또한 설정은 관련 커널 모듈을 자동으로 로드 npf=YES하지 않습니다 . rc.conf런타임 시 커널 보안 수준을 낮출 수 있는 방법이 없으므로 옵션은 다음과 같습니다.

  • 낮은 보안 수준으로 부팅한 다음 모듈을 로드하고 보안 수준을 높이거나
  • 시작 시 모듈 로드

분명히 후자가 더 나은 선택입니다. 부팅 시 커널 모듈을 로드하려면 rc.conf다음을 확인해야 합니다.

modules=YES

/etc/modules.conf그런 다음 로드할 모듈 목록을 한 줄에 하나씩 포함하도록 편집(또는 생성)합니다 . 이 경우:

# echo npf >> /etc/modules.conf

관련 정보