공공 프로젝트에서 웹 시스템을 구축할 때 보안 요구사항은 필수 통과 조건입니다. 보안 취약점 점검에서 자주 지적되는 항목과 대응 방법을 정리합니다.
필수 점검 항목
행정안전부 「전자정부 SW 개발·운영자를 위한 소프트웨어 개발보안 가이드」와 OWASP Top 10을 기준으로 합니다.
1. 입력값 검증
| 취약점 | 대응 |
|---|---|
| SQL Injection | Prepared Statement, ORM 사용 |
| XSS (Cross-Site Scripting) | 출력 시 HTML 이스케이프, CSP 헤더 |
| Command Injection | 외부 명령 실행 금지, 화이트리스트 검증 |
| Path Traversal | 파일 경로 정규화, 상위 디렉토리 접근 차단 |
2. 인증 및 세션 관리
- 비밀번호 정책: 최소 8자, 영문+숫자+특수문자 조합
- 비밀번호 저장: bcrypt, scrypt, PBKDF2 등 단방향 암호화
- 세션 타임아웃: 30분 이내 자동 로그아웃
- 세션 고정 공격 방지: 로그인 시 세션 ID 재생성
- 다중 로그인 제어: 동시 접속 제한 또는 알림
3. 권한 관리
- 최소 권한 원칙: 필요한 권한만 부여
- RBAC (역할 기반 접근제어): 관리자, 담당자, 일반 사용자 분리
- URL 직접 접근 차단: 권한 없는 페이지 접근 시 403 또는 리다이렉트
- 민감 기능 이중 인증: 삭제, 승인 등 주요 기능에 재인증
4. 데이터 암호화
- 전송 구간: TLS 1.2 이상 (SSL 3.0, TLS 1.0/1.1 비활성화)
- 저장 데이터: 개인정보, 비밀번호는 암호화 저장
- 암호화 키 관리: 키 분리 보관, 정기 교체
5. 로깅 및 모니터링
- 감사 로그: 로그인, 권한 변경, 데이터 수정/삭제 기록
- 로그 보존: 최소 6개월~1년 (법령에 따라)
- 로그 무결성: 로그 위변조 방지
- 이상 탐지: 반복 로그인 실패, 대량 다운로드 알림
보안 점검 일정
| 시점 | 점검 항목 |
|---|---|
| 설계 단계 | 보안 요구사항 정의, 위협 모델링 |
| 개발 중 | 시큐어 코딩 가이드 준수, 코드 리뷰 |
| 테스트 단계 | 모의해킹, 취약점 스캔 |
| 오픈 전 | 보안성 검토 (공공기관 필수) |
| 운영 중 | 정기 취약점 점검, 패치 관리 |
공공/기업 웹 시스템 구축을 검토 중이시라면, 아토즈소프트의 웹 개발 서비스를 확인해 보세요.
답글 남기기