시스템이 조용히, 안전하게 돌아가도록 만드는 일에 관심이 많습니다. 리눅스 기반 보안 점검 자동화 경험을 시작으로, 클라우드 인프라 영역까지 이해의 범위를 넓혀가고 있습니다.
KISA 보안 가이드 기준 72개 항목을 대상으로, 조건을 판별해 자동으로 양호/취약을 분류하는 점검 스크립트를 설계·구현했습니다.
개별 스크립트로 시작해 공통 함수로 통합하고, 이후 원격 자동화로 확장했습니다. 만들 때마다 한 단계씩 구조를 다시 설계하는 편입니다.
리눅스와 네트워크 기초를 바탕으로 AWS, Docker, Kubernetes 환경을 학습하며 운영·자동화 영역으로 관심을 넓히고 있습니다.
코드를 빨리 완성하는 것보다, 점검 대상 시스템과 파일을 제대로 이해하는 것을 목표로 진행한 프로젝트입니다. 같은 문제를 세 번 다시 풀며, 매번 이전 버전의 한계를 해결하는 방식으로 구조를 발전시켰습니다.
72개 점검 항목을 하나씩 수기로 확인하기엔 반복 작업이 많고, 항목이 늘어날수록 관리가 어려워졌습니다.
항목별로 독립된 쉘 스크립트를 작성해, 파일 권한은 stat -c "%a" 로 추출한 값과 비교하고 파일·디렉터리 존재 여부는 단항 연산자(-f, -d, -s)로 검사하는 방식을 먼저 검증했습니다. 스크립트 파일을 항목 번호에 맞춰 빠르게 생성하는 간단한 헬퍼 스크립트도 함께 만들었습니다.
점검 항목이 늘어날수록 리포트 형식을 맞추고 통계를 집계하는 코드가 매 파일마다 반복됐습니다.
리포트 헤더 · 푸터를 만드는 공통 함수를 분리하고, 점검 결과에 따라 양호/취약 카운트를 자동 집계하도록 구성했습니다. 실행 시 터미널 출력 없이 리포트 파일만 생성하도록 방향을 정리해, 하나의 로그 컨벤션으로 모든 항목을 기록할 수 있게 만들었습니다.
점검 스크립트는 완성됐지만, 실제 실행은 로컬 환경에서만 가능했습니다. 여러 서버를 점검하려면 서버마다 접속해 수동으로 실행해야 했습니다.
paramiko를 사용해 IP·계정·비밀번호를 인자로 받아 원격 서버에 접속하도록 구현했습니다. 반복문이 실행되는 위치가 원격 서버라는 점에 착안해, 쉘 스크립트를 로컬에서 조립한 뒤 전송·실행하고 결과 리포트를 다시 로컬로 가져오는 흐름으로 설계했습니다. 이 과정에서 "코드가 실행되는 위치"와 "코드를 준비하는 위치"를 분리해서 생각하는 법을 배웠습니다.
| 2026.06.19 | NCA | NAVER Cloud Platform |
| 2026.06.12 | 정보처리기사 | 한국산업인력공단 |
| 2025.06.27 | SQLD | 한국데이터산업진흥원 |