GitHub : https://github.com/smilestory-net/fgt_conf-diff_report
FortiGate 엔지니어라면 누구나 공감할 만한 어려움이 있습니다. 바로 FortiManager와 통합하는 과정에서 발생하는 수많은 중복 객체 문제입니다. 특히 여러 FortiGate 장비와 vDOM을 운영하는 복잡한 환경에서는 동일한 이름의 주소, 주소 그룹, 서비스, 서비스 그룹이 난무하여 오류를 유발하고 작업 부담을 가중시킵니다.
이러한 문제를 해결하고 FortiManager 통합 프로젝트를 더욱 원활하게 진행할 수 있도록, 중복 객체를 효과적으로 관리하는 파이썬 스크립트를 소개합니다.
왜 이 스크립트가 필요한가요?
많은 FortiGate 엔지니어분들은 FortiManager 통합 프로젝트가 흔치 않다고 생각하실 수 있습니다. 그래서 이 스크립트의 필요성에 대해 의문을 가질 수도 있습니다. 하지만 단 한 번의 프로젝트에서라도 이 스크립트는 엔지니어의 부담을 획기적으로 줄여줄 수 있습니다.
사전 구성된 여러 FortiGate 또는 vDOM 환경을 FortiManager에 통합할 때, 동일한 이름의 객체들이 많아지면 속성 값이 미묘하게 다른 경우가 발생합니다. 이때 수동으로 모든 객체를 비교하고 수정하는 것은 매우 비효율적이며, 치명적인 설정 오류로 이어질 수 있습니다. 이 스크립트는 이러한 중복 객체들의 속성 값을 자동으로 비교하고 분석하여, FortiManager 통합 시 발생할 수 있는 오류를 사전에 방지하는 데 큰 도움을 줍니다.
스크립트의 주요 기능
이 스크립트는 FortiGate 설정 파일(Conf 파일)을 분석하여 다음 중복 객체들을 비교하고 보고서를 생성합니다.
- 주소(Address)
- 주소 그룹(Address Group)
- 서비스(Service)
- 서비스 그룹(Service Group)
스크립트는 중복된 객체들의 속성 값을 비교하여 차이점을 한눈에 파악할 수 있는 보고서를 제공합니다. 이 보고서를 통해 FortiManager 통합 전에 불일치하는 객체들을 쉽게 식별하고 수정할 수 있습니다. 물론, 최종적인 검증은 항상 엔지니어의 책임입니다.
스크립트 사용 방법
이 스크립트는 파이썬 3.12 버전 이상이 설치된 Windows OS 환경에서 테스트되었습니다. (macOS에서는 테스트되지 않았으니 참고 바랍니다.)
1단계: 파이썬 설치 스크립트를 실행할 장치에 파이썬 3.12 이상 버전을 설치합니다.
2단계: 스크립트 실행 다운로드한 fgt_diff_addr_service.py 파일이 있는 디렉터리로 이동합니다. CMD 창을 열고 다음 명령어를 입력합니다.
py fgt_diff_addr_service.py
3단계: FortiGate Conf 파일 선택 명령어를 입력하면 GUI 탐색기 창이 자동으로 나타납니다. 여기서 분석을 원하는 FortiGate Conf 파일을 하나 또는 여러 개 선택할 수 있습니다.
4단계: 보고서 확인 선택이 완료되면 스크립트가 자동으로 FortiGate Conf 파일을 분석하고, 분석된 보고서가 웹 브라우저에 자동으로 나타납니다. 보고서를 통해 중복 객체들의 속성 차이를 확인하고 필요한 조치를 취하면 됩니다.
결론
FortiGate와 FortiManager 연동 작업은 많은 준비와 정확성을 요구합니다. 이 파이썬 스크립트는 그 과정을 더욱 효율적이고 안전하게 만들어주는 유용한 도구입니다. 단 한 번의 사용으로도 FortiGate 엔지니어의 업무 부담을 크게 줄일 수 있으니, FortiManager 연동 프로젝트를 앞두고 있다면 꼭 활용해 보시길 바랍니다.