파티션을 배치 할 때 명심해야 할 것은 실패 모드입니다. 일반적으로이 질문은 "파티션 x 가 가득 차면 어떻게됩니까 ?" 가장 귀중한 voretaq7은 /
문제를 진단하기 어려운 수많은 원인으로 상황을 일으켰습니다 . 좀 더 구체적인 상황을 봅시다.
로그를 저장하는 파티션이 가득 차면 어떻게됩니까? 감사 /보고 데이터가 손실되고 공격자가 때때로 자신의 활동을 숨기는 데 사용됩니다. 로그인 이벤트를 기록 할 수없는 경우 시스템에서 새 사용자를 인증하지 않는 경우도 있습니다.
/var
가득 차면 RPM 기반 시스템에서 어떻게됩니까 ? 패키지 관리자는 패키지를 설치 또는 업데이트하지 않으며 구성에 따라 자동으로 실패 할 수 있습니다.
특히 사용자가 쓸 수있는 파티션을 채우는 것이 쉽습니다. 재미있게이 명령을 실행하여 얼마나 큰 파일을 얼마나 빨리 만들 수 있는지 확인하십시오 cat /dev/zero > zerofile
.
파티션을 채울뿐만 아니라 다른 마운트 지점에 위치를 배치 할 때 마운트 옵션을 사용자 정의 할 수도 있습니다.
로 /dev/
마운트되지 않은 경우 어떻게됩니까 noexec
? 일반적으로 OS에 의해 유지 관리되고 악성 프로그램을 숨기는 데 자주 사용되는 장치 만 포함되는 것으로 간주 되기 때문 /dev
입니다. 그대로두면 noexec
저장된 바이너리를 실행할 수 있습니다.
이러한 모든 이유와 그 이상으로 인해 많은 강화 안내서에서 수행 할 첫 번째 단계 중 하나로 분할을 설명합니다. 사실, 당신은 어떻게 디스크를 분할하는 새 서버를 구축하는 경우는 매우 거의 정확히입니다 첫째 는 일 이 에 결정하고, 나중에 변화에 종종 가장 어려운. 읽기 쉬운 구성 안내서를 제공하는 인터넷 보안 센터 라는 그룹이 있습니다 . 특정 운영 체제에 대한 가이드를 찾고 그들이 말할 수있는 세부 사항을 볼 수 있습니다.
RedHat Enterprise Linux 6을 살펴보면 권장되는 파티션 구성표는 다음과 같습니다.
# Mount point Mount options
/tmp nodev,nosuid,noexec
/var
/var/tmp bind (/tmp)
/var/log
/var/log/audit
/home nodev
/dev/shm nodev,nosuid,noexec
이러한 모든 변경의 기본 원리는 서로에 대한 영향을 방지하고 특정 파티션에서 수행 할 수있는 작업을 제한하는 것입니다. /tmp
예를 들어 옵션을 사용하십시오 . 즉, 거기에 장치 노드를 만들 수 없으며 거기에서 프로그램을 실행할 수 없으며 set-uid 비트를 설정할 수 없습니다. 본질적 /tmp
으로 거의 항상 쓰기 가능하며 종종 메모리에만 존재하는 특별한 유형의 파일 시스템입니다. 이는 공격자가 악의적 인 코드를 삭제하고 실행하기위한 쉬운 준비 지점으로이를 사용하여 시스템을 중단 (또는 단순히 재부팅)하여 모든 증거를 정리할 수 있음을 의미합니다. 의 기능에는 해당 기능이 /tmp
필요하지 않으므로 기능을 쉽게 비활성화하고 상황을 방지 할 수 있습니다.
로그를 저장하는 장소, /var/log
및 /var/log/audit
자원 고갈에서 그 버퍼 도움말을 해제 새겨 져 있습니다. 또한 감사는 로그 저장소가 가득 차기 시작하면 일반적으로 보안 수준이 높은 일부 특별한 작업을 수행 할 수 있습니다. 파티션에 배치하면이 리소스 감지 성능이 향상됩니다.
더 자세하고 인용하기 mount(8)
위해, 위의 사용 된 옵션은 다음과 같습니다.
noexec 마운트 된 파일 시스템에서 바이너리를 직접 실행할 수 없습니다. (최근까지는 /lib/ld*.so / mnt / binary와 같은 명령을 사용하여 바이너리를 실행할 수있었습니다.이 기법은 Linux 2.4.25 / 2.6.0부터 실패합니다.)
nodev 파일 시스템에서 문자를 해석하거나 특수 장치를 차단하지 마십시오.
nosuid set-user-identifier 또는 set-group-identifier 비트가 적용되지 않도록합니다. (이것은 안전 해 보이지만 suidperl (1)을 설치 한 경우 실제로 안전하지 않습니다.)
보안 측면에서 파일 시스템 자체에 보호 기능을 제공 할 수 있기 때문에 알 수있는 매우 좋은 옵션입니다. 매우 안전한 환경에서는에 noexec
옵션을 추가 할 수도 있습니다 /home
. 표준 사용자가 로그 파일 분석과 같이 데이터를 처리하기위한 쉘 스크립트를 작성하는 것이 더 어려워 지지만 권한을 상승시키는 바이너리를 실행하지 못하게됩니다.
또한 루트 사용자의 기본 홈 디렉토리는 /root
입니다. 이 방법은이 될 것 /
파일 시스템, 하지 에 /home
.
각 파티션에 제공하는 금액은 시스템 워크로드에 따라 크게 달라질 수 있습니다. 내가 관리하는 일반적인 서버는 사람의 상호 작용이 거의 필요 /home
하지 않으므로 파티션이 크지 않아도됩니다. /var
자주 생성되고 삭제되는 임시 데이터를 저장하는 경향이 있으므로 동일하게 적용됩니다 . 그러나 웹 서버는 일반적으로 /var/www
놀이터로 사용 되므로 별도의 파티션에 있거나 /var/
크기가 커야합니다.
과거에는 다음을 기준으로 추천했습니다.
# Mount Point Min Size (MB) Max Size (MB)
/ 4000 8000
/home 1000 4000
/tmp 1000 2000
/var 2000 4000
swap 1000 2000
/var/log/audit 250
시스템의 목적과 환경 작동 방식에 따라이를 검토하고 조정해야합니다. 또한 LVM을 사용하고 전체 디스크를 할당하지 않는 것이 좋습니다. 이를 통해 필요한 경우 파티션을 쉽게 늘리거나 추가 할 수 있습니다.