
글로벌 서비스와 보안 아키텍쳐
인공지능 AI의 발전으로 웹서비스를 빠르고 정교하게 개발할 수 있을뿐만 아니라 글로벌 서비스 출시도 가능해진 세상입니다. 하지만 개발만 완료했다고 글로벌 서비스를 출시할 수 있는것은 아니므로 글로벌 서비스 출시를 위한 안전한 서비스 제공을 위한 오픈소스 기반의 보안 아키텍쳐를 설명하겠습니다. 대다수 중대형 웹서비스의 경우 백엔드는 스프링부트(SpringBoot) 기반의 JAVA 언어를 주로 사용하며, 프론트엔드는 과거 php/jsp에서 2022년 이후로는 React나 Vue.js등 SPA가 대세를 이루고 있습니다. 스프링부트(SpringBoot)로 백엔드를 웹서비스를 개발했다고 가정했을경우 결과물(jar, war등)은 WAS(Web Applcation Server)에 탑재해서 실행 되겠지만, 안정적인 서비스를 위하여 ModSecurity(웹방화벽), Fail2Ban(침입 방지)등 다양한 보안 소프트웨어도 필연적으로 연동하여야 합니다. 위의 그림은 오픈소스 (보안)소프트웨어로 구축한 일반적인 서비스 구성도입니다. (운영 서비스를 위해서는 서비스 구성도가 좀 더 복잡해집니다.) 그림에서와 같이 소프트웨어 개발과는 별개로 인프라, 네트워크, 서버(Linux), 정보보안(Information Security)도 서비스 구성을 위한 핵심 요소이므로 글로벌 서비스 출시를 위해서는 반드시 관심을 가져야 할 것 입니다. 위에서 언급한 보안 소프트웨어들과 OpenStreetMap을 연동하여 침입을 시도하는 IP 주소에 대해서 그려 본 세계지도입니다. 보안 소프트웨어를 연동한지 며칠되지도 않았는데 전세계 많은 국가에서 침입을 시도하고 있는 것을 확인할 수 있습니다. 위의 세계지도는 Fail2Ban 와 ModSecurity에서 생성한 로그정보를 기반으로 구성한 것입니다. 아래 사이트에서 정보를 참고해주세요 - OWASP ModSecrurity - https://modsecurity.org/ - Fail2Ban - https://github.com/fail2ban - OpenStreetMap - https://www.openstreetmap.org/




