그냥저냥

KISA 리눅스 보안 취약점 점검 및 적용 쉘 스크립트 (CentOS 6 / 7) 본문

인프라/스크립트

KISA 리눅스 보안 취약점 점검 및 적용 쉘 스크립트 (CentOS 6 / 7)

sync86 2026. 2. 13. 15:56
728x90
반응형

문제 상황

2019년, 인프라 구축 프로젝트를 수행하던 중 보안 점검 결과에 따른 취약점 보완 요청을 받았습니다.

점검 기준은 한국인터넷진흥원(KISA)의 리눅스 보안 취약점 점검 가이드였습니다.

해당 가이드는 약 70여 개의 점검 항목으로 구성되어 있으며,
각 서버마다 항목별로 양호 / 취약 여부가 구분되어 전달됩니다.

문제는 작업량이 다음과 같이 계산된다는 점이었습니다.

작업량 = 서버 수 × 취약점 항목 수

 

예를 들어어 아래와 같이 요청이 있다고 가정하면 최대 1,400개 항목 확인 및 조치가 필요하다는 사실을 알 수 있습니다.

  • 서버 20대
  • 점검 항목 70개

이전 프로젝트에서 수작업으로 대응하다 보니 상당한 시간이 소요되었고, 이 경험이 자동화에 대한 필요성을 절실히 느끼게 만든 계기가 되었습니다.


자동화 접근 방법

당시 운영 환경은 다음과 같았습니다.

  • CentOS 6.x
  • CentOS 7.x

KISA 가이드 문서를 기준으로 다음을 목표로 스크립트를 작성했습니다.

구현 목표

  1. 점검 항목 자동 검사
  2. 조치 가능한 항목은 자동 설정 변경
  3. 위험도가 높은 항목은 자동 변경하지 않음
  4. 결과를 서버별 리포트 형태로 정리

쉘 스크립트 기반으로 구현하였으며, 점검 로직과 설정 변경 로직을 분리하여 작성했습니다.


자동화 범위

전체 70여 개 항목 중 대부분의 항목을 구현하였습니다.

자동화 유형

구분 설명
자동 점검 + 자동 조치 설정 파일 수정, 권한 변경 등
자동 점검만 수행 서비스 영향 가능성이 있는 항목
수동 확인 필요 환경 의존적인 항목
모든 항목을 자동으로 수정하지는 않습니다.
운영 환경 특성상 무조건적인 자동 설정 변경은 위험할 수 있기 때문에 일부 항목은 점검 및 조치하여 결과만 출력할 수 있도록 설계했습니다.

쉘 스크립트 구성 개요

쉘 스크립트 구성은 대략 다음과 같습니다.

  • 환경 정보 수집
  • 계정/패스워드 정책 점검
  • 파일/디렉터리 권한 점검
  • 서비스 설정 점검
  • 네트워크 설정 점검
  • 로그 설정 점검
  • 결과 리포트 출력

각 항목은 개별 함수로 구성되어 있으며, 항목별로 양호/취약 결과를 명확히 구분하도록 구현했습니다.


현재 상태 및 주의사항

해당 스크립트는 2019년 기준으로 작성되었습니다. 이후 유지보수는 진행하지 않고 있습니다.

주의 사항

  • CentOS 6 / 7 기준
  • 이후 유지보수 진행하지 않음
  • Rocky Linux에서 동작 여부 미확인
  • 최신 KISA 가이드 반영 여부 검토 필요
  • 운영 환경 적용 전 반드시 테스트 환경에서 검증 권장

최근 배포판(Rocky Linux 등)에서는 일부 항목이 정상 동작하지 않을 가능성이 있습니다.


공유 목적

이 스크립트는 다음과 같은 분들께 도움이 될 수 있습니다.

  • KISA 보안 점검 대응을 처음 수행하는 엔지니어
  • 수작업 반복 점검에 시간을 많이 소모하고 있는 분
  • 리눅스 보안 자동화에 관심 있는 분

완성형 솔루션이라기보다는,
자동화 아이디어 및 참고용 코드로 활용하시면 좋겠습니다.


마치며

보안 점검 대응은 필수 작업이지만, 반복되는 수작업은 엔지니어의 시간을 빠르게 소모시킵니다.

이 경험을 통해 느낀 점은 다음과 같습니다.

반복되는 작업은 자동화의 후보 1순위다.

 

혹시 해당 스크립트를 개선하거나 Rocky Linux 환경에서 테스트해보신 분이 있다면 의견 공유 부탁드립니다.

문의 사항은 댓글로 남겨주세요.

security-20190216.tar.gz
0.01MB

728x90
반응형