보안 업무를 하다 보면 반복적이거나 시간이 많이 드는 작업들이 적지 않습니다. 전문 개발자는 아니지만 이런 작업들을 조금이라도 자동화해보고 싶어서, 작은 업무 자동화를 직접 시도해 본 경험이 있습니다. 이번 글에서는 보안팀 실무자 관점에서 제가 만들어본 두 가지 간단한 자동화 사례를 소개하려 합니다. 거창한 솔루션은 아니지만, 이러한 소소한 자동화로 어떻게 업무 효율을 높였는지 공유해 보겠습니다.
왜 자동화를 고민하게 되었나?
제가 자동화를 고민하게 된 계기는 시간이 많이 소요되는 단순 업무들이었습니다. 예를 들어, 새로운 보안 취약점 소식이 나오면 관련 부서에 일일이 이메일로 공지하거나, 정기 보안 점검을 위해 여러 시스템의 설정을 하나하나 확인하는 일이 반복되곤 했습니다. 인력이 넉넉하지 않은 보안팀에서는 이런 작업들이 다른 중요한 업무 시간을 잠식하는 경우가 많았습니다.
물론 시중에 좋은 보안 관리 도구들이 있지만, 사소한 작업까지 거창한 솔루션을 도입할 수는 없는 노릇입니다. 그리고 무엇보다 내 손으로 업무 프로세스를 개선해보고 싶다는 욕심도 있었습니다. 반복 업무를 자동화하면 실수도 줄이고 제 자신은 보다 가치 있는 일에 시간을 쓸 수 있으리라 생각했습니다. 그렇게 크게 두 가지 작업을 자동화해 봤는데, 완벽하진 않아도 실무에 꽤 도움이 되었답니다.
예시 1: 취약점 알림 자동 이메일
가장 먼저 시도했던 것은 신규 보안 취약점 알림 이메일의 자동화입니다. 원래 회사에서는 주요 보안 취약점(CVE)이 발표될 때마다 보안 담당자가 수동으로 내용을 정리해 관련 부서 담당자들에게 이메일로 알려주는 프로세스가 있었습니다. 저도 담당자로서 이 작업을 해보니, 정보 수집부터 메일 작성까지 시간이 꽤 걸렸습니다. 바쁜 날은 제때 공지를 못 하거나 일부 시스템 담당자를 빠뜨릴까 봐 걱정되기도 했죠.
이 문제를 해결하고자 저는 파이썬(Python) 스크립트로 취약점 알림 메일을 자동으로 보내는 프로그램을 만들어봤습니다. 매일 새벽이면 스크립트가 구동되어 KISA나 NVD에서 공개되는 새로운 취약점 목록(RSS 피드 등)을 확인합니다. 거기서 우리 회사와 관련 있는 소프트웨어나 서비스 이름이 언급된 취약점이 있는지 검색합니다. 만약 발견된다면, 사전에 준비해 둔 이메일 템플릿에 해당 취약점의 요약 정보를 자동으로 채워 넣고, 담당자들의 메일 주소를 불러와 알림 메일을 발송합니다.
코드를 짜는 과정에서 이메일 전송 방법이나 웹 데이터 파싱 등 모르는 부분이 많았지만, 인터넷 검색과 공식 문서의 예제 코드를 참고하며 하나씩 해결했습니다. 예컨대 파이썬의 smtplib 라이브러리를 이용해 회사 메일 서버를 통해 메일을 보내는 코드를 구현했고, 취약점 데이터는 공개 API를 활용하거나 간단한 웹 스크래핑으로 가져왔습니다. 완성된 스크립트를 리눅스 서버 크론(cron)에 등록해 매일 일정 시각에 돌도록 설정하니, 이제는 사람이 일일이 하지 않아도 자동으로 취약점 공지가 전달되고 있습니다. 이 덕분에 중요한 보안 이슈를 제때 공유하게 되어 누락에 대한 걱정이 크게 줄었습니다.
예시 2: 보안 점검 스크립트 자동화
두 번째 사례는 보안 점검 업무의 자동화입니다. 정기적으로 여러 시스템의 보안 설정을 확인하는 일이 예전엔 수작업으로 이루어졌습니다. 가령 Windows 서버라면 패치 적용 여부나 계정 설정을 직접 체크하고, Linux 서버라면 불필요한 열린 포트나 서비스 상태를 일일이 점검한 뒤, 그 결과를 취합해 보고서를 작성했습니다. 이러한 작업은 시스템 수가 많을수록 상당한 노력이 들고, 사람이 하다 보면 실수가 생길 우려도 있습니다.
이를 개선하기 위해 저는 스크립트를 활용한 반자동화 도구를 만들었습니다. PowerShell 스크립트와 Bash 쉘 스크립트를 조합하여, 각 서버에 원격으로 접속해 필요한 명령어를 실행하고 결과를 수집하도록 한 것입니다. 예를 들어 Windows 서버 리스트를 순회하면서 PowerShell로 각 서버의 패치 적용 상태를 확인하고, 결과를 CSV 파일로 정리했습니다. Linux 서버들에 대해서는 SSH로 접속해 중요한 보안 설정(방화벽 설정, 계정 목록, 패키지 업데이트 상황 등)을 스캔하고 출력 결과를 한데 모았습니다. 이렇게 수집된 정보들은 하나의 리포트로 자동 편집되도록 해서, 최종적으로는 종합 점검 결과 보고서를 제 메일로 받을 수 있게 했습니다.
이 스크립트를 돌리니, 이전에는 반나절 넘게 걸리던 점검 작업이 몇 분 만에 끝나게 되었습니다. 또한 사람이 직접 볼 때 간과할 수 있는 부분도 스크립트는 빠짐없이 체크해주니 신뢰성도 높아졌습니다. 물론 처음부터 매끄럽게 되진 않았습니다. 각 서버에 원격 접속하기 위한 인증 세팅, 권한 문제 등으로 애를 먹기도 했고, 예상치 못한 출력 포맷 때문에 스크립트가 중간에 깨지기도 했습니다. 하지만 실행 때마다 로그를 살피고 예외 상황을 코드에 반영하면서 점차 안정적으로 개선해 나갔습니다. 지금은 이 자동화 도구를 우리 팀원들도 편하게 사용하고 있고, 모두들 수작업보다 훨씬 편리하다고 합니다. 비록 제가 만든 코드라 부족한 점이 많지만, 팀 내에서 실용적인 도구로 자리잡은 것이 뿌듯했습니다.
참고로, 이 외에도 작은 아이디어만 있으면 다양한 보안 업무를 자동화해볼 수 있습니다. 저희 팀에서는 SSL 인증서 만료 확인 스크립트를 돌려 웹사이트 인증서 만료 30일 전에 알림을 받기도 하고, 로그 모니터링 스크립트를 통해 중요한 키워드의 로그가 발생하면 슬랙으로 알림을 보내도록 한 적도 있습니다. 이렇듯 거창한 개발 프로젝트가 아니어도, 간단한 스크립트 몇 줄로 보안 업무 효율을 높일 기회가 많다고 느꼈습니다.
개발자가 아닌 보안 실무자가 얻은 교훈
이렇게 몇 가지 자동화를 직접 만들어보면서 얻은 교훈이 있습니다. 우선, 전문 개발자가 아니어도 작은 자동화는 충분히 가능하다는 자신감을 갖게 되었습니다. 시작하기 전에는 프로그래밍에 익숙지 않아 망설였지만, 막상 도전해보니 기본적인 코딩 지식과 구글 검색만으로도 돌아가는 결과물을 만들 수 있었습니다. 완벽한 코드는 아니어도 내가 사용할 도구를 직접 만들었다는 점에서 업무 만족도도 높아졌습니다.
둘째로, 완벽함보다 실행이 중요함을 깨달았습니다. 자동화를 처음부터 거창하게 하려 했다면 오히려 엄두가 나지 않았을 것입니다. 하지만 “일단 작게라도 만들어보자”는 생각으로 접근했더니 부분적이나마 결과를 얻을 수 있었습니다. 예를 들어 하루에 1시간 걸리던 일을 10분으로 줄였다면 그것만으로도 성공입니다. 이렇게 절약한 시간과 에너지를 다른 보안 강화 작업에 쓸 수 있으니 전체적인 보안 수준도 올라가는 효과가 있습니다. 작은 성공을 거듭하며 점진적으로 개선해가는 애자일 접근이 실무에는 잘 맞는 듯합니다.
또 한 가지 크게 도움된 것은 온라인 커뮤니티와 오픈 소스의 힘이었습니다. 혼자 코드를 짜다 막힐 때마다 검색을 통해 유사 사례를 찾아보고, GitHub나 블로그에 공개된 스크립트 조각들을 참고했습니다. Stack Overflow에서는 제가 마주친 오류에 대한 해결책을 남들이 이미 공유해둔 경우가 많았고, 파이썬 라이브러리 문서에서도 사용 예시를 보고 그대로 응용할 수 있었습니다. “인터넷에 답 다 있다”는 말처럼, 모르는 것을 배우고 문제를 해결하는 데 커뮤니티의 지식이 큰 역할을 했습니다. 동료와의 협업도 빼놓을 수 없습니다. 코드 리뷰까지 거창하지는 않아도, 제가 만든 스크립트를 팀원들과 함께 테스트하고 피드백을 받았습니다. 덕분에 제가 미처 생각 못 한 오류 상황을 잡아내고 기능 아이디어도 추가하여 더 나은 결과물을 만들 수 있었습니다.
마지막으로
이런 자동화를 통해 업무관 자체가 조금 바뀐 점이 있습니다. 예전에는 주어진 업무를 그냥 열심히 수행하는 데 그쳤다면, 이제는 “이걸 더 효율적으로 할 방법은 없을까?” 스스로 질문하게 되었습니다. 자연스럽게 자동화 마인드가 생긴 것이지요. 작은 스크립트라도 돌아가서 반복 작업을 줄여주면 그렇게 뿌듯할 수가 없습니다. 보안 실무자라고 코딩을 못 하란 법은 없습니다. 오히려 현업을 가장 잘 아니까 필요한 툴을 직접 구상하기에 유리한 면도 있습니다. 앞으로도 새로운 기술이나 도구를 배우며 업무 개선에 적용해볼 생각입니다. 비개발자 시각에서 시작한 자동화 도전이지만, 이를 통해 보안팀이 더 똑똑하고 빠르게 일할 수 있다는 가능성을 확인했습니다.
'자동화·툴·API' 카테고리의 다른 글
| 34. 엑셀과 파이썬, 그리고 약간의 API로 영향평가 현황을 정리했던 방법 (0) | 2025.12.12 |
|---|---|
| 28. 보안 운영 자동화, 어디부터 손대야 효율이 가장 잘 나오는지 (0) | 2025.12.10 |