이제 Security Rule Zero를 충분히 들어서 그 내용을 완전히 외우고 있겠죠. 정말 완전히 외우고 있는 거 맞죠?
혹시 모르니, 다시 한번 상기시켜 드리겠습니다:
사용자 입력을 절대로 신뢰하지 말지어다.
좋습니다. 이제 그 기본 원칙을 확실히 정립했으니, 보안 규칙 제1조에 대해 이야기해 보겠습니다. 짐작하셨겠지만 보안 규칙은 하나만 있는 것이 아닙니다. 그럼 제1조로 넘어가 볼까요?
보안 규칙 1: 자격 증명을 절대 하드 코딩하지 말라.
토큰화(API에서 널리 사용됨)와 페더레이션 ID를 통해 액세스를 제어하는 시대에는 대외용 앱에서 이 규칙을 어기는 일이 거의 없습니다. 이 규칙이 자주 위반되고 무시되는 곳은 바로 조직 내부입니다. 또한 NetOps가 조직의 디지털 혁신 이니셔티브를 지원하기 위해 IT를 최적화하는 데 기여하고자 스크립팅과 자동화 활용을 확대하면서, 이는 빠르게 문제로 대두되고 있습니다.
인터넷에서 찾은 실제 사례 하나를 들어 설명해 보겠습니다. 하나만 소개하는 이유는 전체 목록을 제공할 시간도 여력도 없기 때문입니다. 그만큼 이런 관행이 만연해 있습니다.

오른쪽을 보면 지독할 정도로 흔한 보안 실수인 평문으로 하드코딩된 자격 증명을 확인할 수 있습니다. 실제 업무 환경에서는 용납할 수 없는 방식임을 언급하는 주석조차 없으며, 더 안전한 인증 방식을 사용해야 한다는 최소한의 암시도 없습니다.
NetOps 측면에서 보면 이는 매우 우려스럽습니다. 여러 사람이 공유하는 기업 네트워크를 잘못 건드렸을 때의 피해 범위가 훨씬 더 크기 때문입니다.
이러한 보안 문제가 발생하는 이유 중 하나는 NetOps가 자동화를 받아들이고 있는 것은 사실이지만, 반드시 전략적으로 도입하고 있는 것은 아니기 때문입니다. 실제로 상당수의 NetOps 전문가가 Python을 익혀 기존의 CLI 기반 구성 및 관리 방식과 결합해 사용하고 있습니다.
명령줄에 자격 증명을 입력하듯이, 똑같은 자격 증명을 스크립트에 그대로 넣고는 작업을 끝낸 셈 칩니다.
결국 이는 문제가 될 것입니다. 누군가 이 관행을 악용하는 일이 벌어지고, 그 소식이 며칠 동안 뉴스 피드를 도배하게 될 것입니다. 이전에도 그런 일이 있었기 때문입니다. OneLogin을 기억하시나요? 당시 자격 증명이 포함된 스크립트를 저장한 것은 아니었지만, 자격 증명이 포함된 파일을 저장하고 있었습니다. 그로 인해 얼마나 큰 혼란이 빚어졌을지는 충분히 짐작할 수 있습니다.
문제는 NetOps 팀이 명령줄 자격 증명을 스크립트에 넣어도 괜찮다고 꽤 자신할 수 있지만, 그 스크립트가 결국 어디로 가느냐는 것입니다. 제대로 관리되고 있을까요? 코드형 인프라처럼 말이죠. 버전 관리가 되고 리포지토리에 보관되고 있을까요?
다음과 같은 Network to Code 커뮤니티 설문조사를 기억하실지도 모르겠습니다. 이 조사에서는 NetOps 분야에서 (놀라지 마세요…) Github의 도입률이 높은 것으로 나타났습니다.

그렇다면 스스로에게 물어봅시다. 우리의 리포지토리는 어디에 있나요? 외부에 있나요? 내부에 있나요? 어떻게 보호되고 있으며, 누군가 이를 손에 넣는다면 피해 범위는 어디까지일까요?
비즈니스의 변화에 발맞추고 원활하게 지원하려면 스크립트와 자동화를 통해 운영을 확장해야 합니다. NetOps도 이러한 방향으로 나아가야 하지만, 어디에든 평문으로 저장된 자격 증명이 초래할 수 있는 결과를 신중히 고려하지 않은 채 추진해서는 안 됩니다.
최소한 스크립트를 실행할 때는 자격 증명을 입력하도록 해야 합니다. 자격 증명은 절대로 파일이나 스크립트에 저장해서는 안 되며, 특히 평문으로 저장해서는 절대 안 됩니다. 가장 이상적인 방법은 더 고도화된 자격 증명 관리 솔루션을 사용하여 인증을 의무화하고 내부 스크립트 전반에 토큰화를 적용하는 것입니다. 하지만 현재 NetOps에서 자동화가 본격적으로 도입되기 시작한 초기 단계라는 점을 잘 알고 있으므로, 한 번에 한 단계씩 나아가야 합니다.
이 점을 염두에 두고, 최소한 스크립트를 실행할 때는 자격 증명을 입력하도록 해야 합니다. 현재 구현 방식으로 이것조차 너무 어렵다면, 한 걸음 물러서서 전반적인 IT 자동화 전략을 검토해 볼 때일 수 있습니다. 가장 먼저 물어야 할 질문은 이것입니다. 그런 전략이 있습니까? 아니면 지금 하고 있는 일이 비즈니스 요구에 대응하기 위한 전술적이고 원초적인 조치에 불과합니까?
장기적인 해결책은 모든 스크립트에 평문 자격 증명을 넣는 것이어서는 안 되며, 그럴 수도 없습니다- 명백한 보안 위험뿐만 아니라, 이로 인해 쌓이는 기술 부채도 고려해야 합니다. 자격 증명을 변경해야 한다면 모든 곳에서 변경해야 합니다. 이를 일일이 찾아내려면 시간과 노력이 듭니다. 애초에 그런 시간과 여력이 있었다면, 시간을 절약하려고 자동화를 도입하는 데 그토록 적극적이지도 않았을 것입니다.
그러니 부디 보안 제1원칙을 어기지 마십시오. 그보다 더 안전하고 현명하게 대처해야 합니다. 자동화는 규모와 속도에 대한 요구에 대응하기 위한 임시방편이어서는 안 됩니다. 자동화는 전략적이어야 하며, 실제로도 그렇습니다. 따라서 자동화를 구현하는 방식이 장기적으로 어떤 영향을 미칠지 더욱 세심하게 살펴야 합니다.
작성자 소개

Lori MacVittie는 F5 CTO 오피스의 수석 엔지니어이자 최고 에반젤리스트로, 애플리케이션 딜리버리, 자동화 전략 및 인프라 분야에서 깊이 있는 전문성을 보유하고 있습니다. AI 에이전트를 위한 가드레일을 정의하고, 취약한 멀티클라우드 아키텍처를 분석하며, 확장 가능한 시스템의 한계를 탐구하는 등 복잡한 문제를 명확하게 풀어내는 것으로 잘 알려져 있습니다. 애플리케이션 개발, IT 아키텍처, 네트워크 및 시스템 운영 전반에 걸쳐 30년 이상의 업계 경험을 쌓았습니다. F5에 합류하기 전에는 수상 경력이 있는 기술 편집자로 활동했습니다. MacVittie는 컴퓨터 과학 석사 학위를 보유하고 있으며, 보안, 클라우드 및 엔터프라이즈 아키텍처 분야를 아우르는 다수의 저서를 집필한 작가입니다. 또한 보드게임과 비디오 게임을 열정적으로 즐기며, 치즈에 대해서는 거리낌 없이 확고한 견해를 갖고 있습니다.
Lori Mac Vittie의 다른 블로그 게시물관련 블로그 게시물
성평등을 향한 여정: 사이버 보안 분야에서 성공적인 커리어를 개척하는 방법에 관한 Jenn Gile과의 Q&A
F5의 ‘성평등을 향한 여정’ 시리즈 네 번째 Q&A에서는 Rachael Shah와 NGINX 제품 마케팅 책임자 Jenn Gile이 사이버 보안 직종에 대한 오해를 바로잡고, 사이버 보안 분야의 성별 격차를 해소하기 위한 조언과 그 이점에 대해 이야기합니다.
TLS 검사에서 피터 파커 원칙 다루기
“큰 힘에는 큰 책임이 따른다.” 볼테르와 처칠도 이와 비슷한 말을 남겼지만, 이 문구는 스파이더맨 코믹스에서 벤 삼촌의 말로 가장 널리 알려져 있습니다. 물론 이 문구가 문화적으로 널리 통용되는 이유 중 하나는 TLS 검사를 비롯해 수많은 상황과 주제에 적용할 수 있기 때문입니다.
Venafi와 F5를 통한 머신 아이덴티티 보호
‘머신 아이덴티티’란 간단히 말해 자동화된 프로세스가 자신의 신원을 식별할 수 있도록 하고, 다른 자동화 시스템과 프로세스가 관련 리소스에 적절한 수준의 접근 권한을 부여하도록 하는 방법을 의미합니다. 이 개념 자체는 새로운 것이 아닙니다. 비교적 새로운 점은 이를 구현해야 하는 규모입니다.
마이너와 미니언: 데이터 유출만이 비용을 초래하는 것은 아닙니다
물론 데이터 유출은 더 큰 비용을 초래할 수 있고(적어도 지금은), 실패 사실을 세상에 드러낼 수밖에 없게 합니다(통지 의무가 있으니까요). 하지만 보안을 단순히 데이터 노출 문제로만 봐서는 안 됩니다. 요즘은 데이터가...
내 클라우드에서 나가!
F5의 Jay Kelley가 전하는 최신 소식에는 Microsoft Office 365용 신규 ID 및 액세스 솔루션을 배포할 때 고려해야 할 사항이 정리되어 있습니다.
Shift(웹 앱) 보안 레터
웹 앱 보안을 개발 초기 단계로 앞당기세요. F5 블로그에서 DevOps 파이프라인 초기에 보안을 통합하여 취약점을 예방하고 시간을 절약하는 방법을 알아보세요.