웹사이트 보안 점검, TLS·권한·백업을 한 번에 확인하는 순서
웹사이트 보안은 특정 솔루션 하나를 추가하는 일보다 공격 표면과 계정·통신·백업·로그를 확인하는 기본 절차를 반복하는 데서 시작합니다. 운영자가 바로 실행할 점검 순서를 정리합니다.
웹사이트 보안을 점검할 때 방화벽이나 보안 플러그인 하나만 확인하면 운영의 빈틈을 놓치기 쉽습니다. 실제 위험은 만료된 계정, 과한 권한, 오래된 외부 연동, 복구할 수 없는 백업, 원인을 찾을 수 없는 로그가 서로 연결될 때 커집니다. 점검은 공격 도구의 목록보다 운영자가 반복할 수 있는 기본선부터 시작하는 편이 현실적입니다.
1. 공개된 자산과 진입점을 먼저 셉니다
보안 점검의 첫 단계는 무엇을 지켜야 하는지 목록으로 만드는 일입니다. 운영 도메인과 서브도메인, 관리자 화면, API, 파일 저장소, 서버·호스팅 계정, 외부 결제·메일·분석 서비스의 연결을 한 표에 적습니다. 사용하지 않는 테스트 주소나 오래된 DNS 레코드가 남아 있으면 본 서비스와 같은 수준으로 관리되지 않는 진입점이 될 수 있습니다.
운영·스테이징·테스트 도메인과 DNS 대상을 구분합니다.
관리자·배포·모니터링 계정의 소유자와 사용 목적을 기록합니다.
외부 서비스 토큰의 발급 위치와 만료·교체 담당자를 확인합니다.
사용하지 않는 엔드포인트·계정·방화벽 규칙을 제거하거나 차단합니다.
2. HTTPS와 TLS 설정을 실제 요청으로 확인합니다
주소창에 자물쇠가 보이는 것만으로 TLS 설정이 끝났다고 보기는 어렵습니다. 모든 주요 도메인이 올바른 인증서를 제공하는지, HTTP 요청이 HTTPS로 안전하게 이동하는지, 오래된 프로토콜과 취약한 암호 설정이 허용되지 않는지 확인합니다. OWASP는 TLS가 통신의 기밀성·무결성·서버 인증을 제공한다고 설명하며, HTTPS를 사용한 뒤에는 HSTS 적용 여부와 적용 범위를 신중하게 검토하도록 안내합니다.
curl -I https://example.com
curl -I http://example.com
# 인증서 만료일·호스트 이름·리디렉션을 별도로 확인3. 계정과 권한은 사람 기준으로 다시 봅니다
계정 목록에는 현재 사용자뿐 아니라 배포용 계정, 자동화 토큰, 외부 업체 계정도 포함해야 합니다. 개인 계정으로 배포하거나 여러 사람이 하나의 관리자 비밀번호를 공유하면 퇴사·역할 변경·사고 조사의 기준이 사라집니다. 업무에 필요한 최소 권한을 부여하고, 사용하지 않는 권한과 오래된 세션·토큰을 회수하는 절차를 정합니다.
관리자·개발자·운영자의 권한 범위를 역할별로 나눕니다.
MFA 또는 패스키를 지원하는 계정부터 적용합니다.
토큰에 만료일과 사용 범위를 부여하고 원문을 로그에 남기지 않습니다.
권한 변경과 관리자 행동이 누구의 기록인지 추적되는지 확인합니다.
4. 입력·업로드·오류 응답을 경계로 봅니다
공개 폼과 관리자 API는 사용자가 보내는 값이 항상 예상과 같지 않다는 전제로 확인합니다. 서버에서 자료형·길이·허용 값·파일 형식·접근 권한을 검증하고, 실패 응답에 내부 경로·SQL·환경 변수·상세 스택 트레이스가 포함되지 않는지 봅니다. 업로드 파일은 저장 위치와 실행 가능 여부를 분리하고, 원본 파일명이나 민감한 입력을 로그와 화면에 그대로 출력하지 않는 편이 안전합니다.
5. 백업은 복구 테스트까지 해야 합니다
백업 파일이 생성됐다는 알림은 복구 가능성의 증거가 아닙니다. 백업 범위와 보존 기간, 다른 장애 영역에 보관되는지, 접근 권한이 분리되는지 확인한 뒤 실제로 일부 데이터를 복구해 봅니다. 복구 후에는 애플리케이션이 정상적으로 시작되는지뿐 아니라 사용자·주문·파일·권한 관계가 맞는지도 대조해야 합니다.
6. 로그와 알림은 조사에 필요한 만큼 남깁니다
로그가 없으면 사고 원인을 찾기 어렵고, 너무 많은 원문을 남기면 로그 자체가 정보 유출 지점이 됩니다. 요청 식별자, 계정·대상 식별자, 시각, 결과, 실패 이유처럼 조사에 필요한 필드를 정하고 비밀번호·토큰·주민번호·결제 원문은 마스킹합니다. 반복 오류와 권한 실패를 담당자가 실제로 확인하는 채널로 보내고, 알림이 도착했을 때 어떤 행동을 해야 하는지도 함께 적습니다.
점검 완료 조건을 체크리스트로 고정합니다
점검은 담당자의 기억에 의존하면 배포 일정이 바뀔 때 빠집니다. 자산 목록, TLS 상태, 계정 권한, 입력 검증, 백업 복구, 로그 알림의 확인 결과와 다음 조치를 한 문서에 남깁니다. 항목을 통과하지 못했다고 곧바로 출시를 중단해야 하는 것은 아니지만, 위험을 수용할 사람과 만료 시점을 기록해야 미해결 상태가 조용히 굳어지지 않습니다.
공개 자산과 외부 연결을 최신 목록과 대조합니다.
인증서·HTTPS·TLS·HSTS 적용 범위를 확인합니다.
계정별 최소 권한과 MFA·토큰 회수 상태를 확인합니다.
입력·업로드·실패 응답에 내부 정보가 노출되지 않는지 확인합니다.
백업 일부를 복구하고 데이터 관계를 대조합니다.
로그·알림에서 민감 값이 보호되고 대응자가 정해졌는지 확인합니다.
웹사이트 보안의 기본선은 한 번 통과하는 시험이 아니라 서비스가 바뀔 때 다시 실행하는 운영 절차입니다. 가장 중요한 것은 모든 위험을 없앴다고 선언하는 일이 아니라, 무엇이 공개되어 있고 누가 접근하며 문제가 생기면 어떻게 복구할지 팀이 같은 문서와 증거로 설명할 수 있게 만드는 일입니다.