서비스가 안 돌아가면 일단 SELinux부터 끄는 일이 많습니다. 대부분 바로 해결되기 때문입니다. 다만 그 뒤에 다시 켜지는 경우는 거의 없습니다.
문제
끔 채로 몇 년을 쓰면 그 서버는 보호 계층 하나를 잃은 상태로 남습니다.
- 취약점이 뚫렸을 때 피해 범위를 제한할 수단이 없음
- 보안 점검과 감사에서 반복해서 지적됨
- 나중에 켜려면 라벨을 전부 다시 입혀야 해서 더 어려움
- 왜 꺼둔지 기록이 없어 다음 담당자가 판단하지 못함
원인
대부분은 정책 자체가 아니라 파일 라벨이나 포트 유형이 맞지 않아 막힌 것입니다.
- 기본 경로가 아닌 곳에 데이터를 둔 경우
- 표준 포트를 바꿈 후 유형을 등록하지 않은 경우
- 거부 로그를 보지 않고 바로 끕
해결책
끄기 전에 거부 로그를 한 번만 보면 대개 몇 줄로 끝납니다.
- 먼저 허용 모드로 바꿔 무엇이 막혀 있는지 기록만 남김
- 거부 로그를 확인해 대상 파일과 포트를 특정
- 데이터 경로의 라벨을 기본 경로와 같게 맞춤
- 바꿼 포트는 서비스 유형으로 등록
- 그래도 꺼야 한다면 이유와 날짜를 문서에 남김
- 대신 방화벽과 접근 제한을 한 단계 강화
현장에서 확인할 것
- 현재 모드가 강제인지 허용인지 해제인지
- 최근 거부 로그에 남은 항목
- 기본 경로 밖에 둔 데이터가 있는지
- 끔 이유가 문서로 남아 있는지
끄지 말자는 이야기가 아니라, 끄는 것도 결정이니 근거를 남기자는 이야기입니다.
