최소한의 IP, 파일 및 명령 권한을 가진 사용자를 완전히 감옥에 가두십시오.

최소한의 IP, 파일 및 명령 권한을 가진 사용자를 완전히 감옥에 가두십시오.

저는 사용자 정의 애플리케이션을 외부 변조로부터 최대한 보호하려고 노력하고 있습니다.

사용자를 감옥에 가두는 것에 관한 많은 페이지를 보았지만 일반적으로 여기에는 많은 예외가 포함되어 있으므로 해당 사용자를 최대한 잠그고 싶습니다.

사용자는 다음을 수행할 수 있어야 하는 websocket++ 클라이언트 및 서버 애플리케이션만 실행하면 됩니다.

  • 443에서 다른 포트(예: 8000)로 전달되는 수신 연결 포트를 허용합니다.
  • 나가는 연결 찾기
  • 로컬 PostgreSQL 서버와 통신
  • 애플리케이션 실행 디렉터리의 일부 특정 파일을 읽고 씁니다.
  • 출력 받기ntpd -c 'rv'
  • 키보드 입력을 수락

내 의도를 어떻게 달성합니까?

답변1

만약 당신이 정말로

이 사용자를 최대한 차단하고 싶습니다.

가상 머신을 생성합니다. chroot는 실제로 이 프로세스를 분리하지 않습니다.

실제 가상 머신이 너무 무거우면 다음을 살펴보세요.Linux 컨테이너, 가상 머신의 경량 버전입니다. 그러나 구성하기가 더 어렵습니다.

좀 더 가벼운 것을 원한다면 SELinux 구성을 시도해 볼 수 있습니다. 구성하기가 더 어려울 수도 있지만 원하는 대로 정확하게 수행되어야 합니다.

chroot는 보안 수단이 아니며 이를 해결하는 방법에는 여러 가지가 있습니다.

관련 정보