어플리케이션보안 체크리스트
어플리케이션보안 체크리스트
▶ 기본설정 ◀
운영체제 |
Hostname |
도메인(URL / IP) |
개발언어 |
보안솔루션 적용현황 |
|
|
|
|
|
1. 계정관리
점검 항목 |
상세 점검 항목 |
해당 시스템 |
보안성검토 |
확인 |
보안성심의 |
확인 | ||
Y/N/NA |
세부설명 |
Y/N/NA |
세부설명 | |||||
개발을 위해 사용하는 상용 어플리케이션의 default ID를 제거하는가? |
개발을 위해 사용하는 상용 어플리케이션의 default ID는 반드시 삭제하며, 부득이한 경우에는 패스워드를 보다 강화하여 사용 |
|
NA |
JEUS상용어플리케이션의 ID가 없음 |
|
|
|
|
개발을 위해 사용한 ID는 운영 이관 시 모두 제거해야 한다. |
개발을 위해 사용한 ID는 목록을 관리하고 운영 이관 시 누락 없이 제거 |
|
NA |
개발에 사용하는 ID는 없음 |
|
|
|
|
일정기간 동안 사용하지 않은 계정에 대해 사용 권한을 일시적으로 중단할 수 있는 기능이 구현되어 있는가? |
2개월 이상 계정 미사용자 삭제 및 사용권한 중지 |
|
Y |
최종로그인 시간 관리함. |
|
|
|
|
세션이 종료되지 않는 한, 사용자 ID는 별도의 단말기로부터 동시 로그인이 되지 않도록 설계되었는가? |
동시 로그인 접속 제한 및 최종 접속기록 표기 (최종접속기록 : 날짜, 시간, IP 등) |
|
Y |
로그인 이력 관리함 |
|
|
|
|
일정 횟수 이상 연속으로 잘못된 패스워드를 입력할 경우 사용자 ID 사용 권한을 일시 정지되도록 어플리케이션이 설계/구현되어 있는가? |
5회 이상 입력 실패 시 일시적으로 계정사용을 중지시키거나 세션을 종료시키도록 함 |
|
Y |
일정회수이상 오류시 계정잠금처리함 |
|
|
|
|
계정 또는 비밀번호가 잘못 입력되어 로그인 실패 시 메시지를 적절하게 표시하는가? |
잘못 입력된 계정 또는 비밀번호를 지정하는 메시지는 피한다. (적절한 예시 : 아이디 또는 비밀번호가 틀렸습니다.) |
|
Y |
“비밀번호가 일치하지 않습니다” 라고 출력함 |
|
|
|
|
페이지의 인증실패 시 불필요한 정보를 제공하지 않는가? |
인증실패 메시지에 아이디나 패스워드 오류를 구분하여 표현 금지 |
|
Y |
“비밀번호가 일치하지 않습니다” 라고만 출력함 |
|
|
|
|
관리자 페이지를 유추하기 어려운 이름으로 지정하였는가? |
유추하기 쉬운 디렉토리 명 지양 (admin, manager, master, system 등) |
|
Y |
웹접근 경로명은 실제디렉토리 구조와 다른 가상명칭 사용함 |
|
|
|
|
2. 세션 관리 (Cookie Injection)
점검 항목 |
상세 점검 항목 |
해당 시스템 |
보안성검토 |
확인 |
보안성심의 |
확인 | ||
Y/N/NA |
세부설명 |
Y/N/NA |
세부설명 | |||||
보안성이 강한 Server Side Session을 사용하였는가? |
서버 측에 사용자의 IP정보를 함께 저장하여 유효성 여부 확인 |
|
NA |
|
|
|
|
|
Cookie에 사용자와 관련된 주요정보를 암호화 하였는가? |
로그인 후 아래와 같이 쿠키정보 확인 javascript:document.cookie |
|
|
|
|
|
|
|
로그인 후 사용 가능한 모든 페이지에 대해 사용자 세션 값을 적절히 체크하고 있는가? |
인증 페이지를 우회 접근하여 권한 없는 페이지를 이용하지 못하도록 확인 |
|
|
|
|
|
|
|
사용자로부터 일정시간 동안 어떤 입력도 일어나지 않는 경우 자동 로그오프 시키거나 세션을 종료하는가? |
대외 고객서비스 관련 사이트 : 20분 이내 내부 업무관련 사이트 : 1시간 이내 |
|
|
|
|
|
|
|
3. 입력 검증 (SQL Injection, XSS)
점검 항목 |
상세 점검 항목 |
해당 시스템 |
보안성검토 |
확인 |
보안성심의 |
확인 | ||||||||||||||
Y/N/NA |
세부설명 |
Y/N/NA |
세부설명 | |||||||||||||||||
검색어 필드 및 로그인 아이디/패스워드 필드에 테스트 문자열을 입력하면 로그인 되거나 DB error가 발생되지 않는가? |
사용자가 직접 입력 가능하고 데이터베이스로 질의되는 파라미터에 아래와 같은 문자가 포함될 경우 필터링하여 에러가 발생하지 않도록 처리함 ‘ “ / \ ; : -- + Space 등 |
|
|
|
|
|
|
| ||||||||||||
게시판의 글쓰기와 같이 단문입력이 가능한 곳에 <script> 태그가 실행되지 않도록 특수문자를 변경하고 있는가? |
아래와 같이 입력하여 alert창이 팝업 될 경우 < > ( ) # & 등 특수문자 치환 <script>alert(document.cookie)</script>
|
|
|
|
|
|
|
|
4. 파일 업로드 / 다운로드
점검 항목 |
상세 점검 항목 |
해당 시스템 |
보안성검토 |
확인 |
보안성심의 |
확인 | ||
Y/N/NA |
세부설명 |
Y/N/NA |
세부설명 | |||||
파일 업로드를 처리하는 프로그램에서 업로드되는 파일에 대한 확장자 점검을 수행하고 있는가? |
모든 확장자를 제한하고 필요한 확장자만 허용해야 한다 - 서버에서 실행 가능한 확장자의 파일을 반드시 체크하며 검사루틴은 서버단에서 구현 (jsp, asp, cgi, php, php3, inc, pl 등 금지) |
|
|
|
|
|
|
|
파일 다운받기 주소에서 파일명과 위치의 조작을 통해 시스템상의 임의의 파일을 다운로드 하는 것을 금지하는가? |
url 파라미터 값 중 .. / . \ 필터링 |
|
|
|
|
|
|
|
5. 패스워드 보안 관리 분야
점검 항목 |
상세 점검 항목 |
해당 시스템 |
보안성검토 |
확인 |
보안성심의 |
확인 | ||
Y/N/NA |
세부설명 |
Y/N/NA |
세부설명 | |||||
문자 또는 숫자만으로 구성될 수 없도록 하고 영.숫자를 혼용하여 구성되도록 하는가? |
패스워드는 문자/숫자를 혼합하여 6 자리 이상으로 함 |
|
|
|
|
|
|
|
패스워드를 주기적으로 자동 변경할 수 있는 Module이 구현 되어 있는가? |
패스워드는 분기 1회 이상 변경 |
|
|
|
|
|
|
|
DB에 저장되는 어플리케이션 패스워드는 단방향으로 암호화 저장을 하는가? |
패스워드 암호화 시 복호화 되지 않는 단 방향 암호방식을 사용함 128bit 이상 암호화 알고리즘 사용 |
|
|
|
|
|
|
|
사용자 패스워드는 화면 및 출력물에 노출되지 않는가? |
화면을 통한 사용자 패스워드 입력은 '*'로 표시 되도록 처리하고, 조회 및 출력물 등에서는 사용자 패스워드를 표시하지 않는다 |
|
|
|
|
|
|
|
사용자에게 전달되는 페이지 및 컴포넌트(Applet, ActiveX 등)에 패스워드 및 중요 연결정보가 포함되지 않는가? |
소스상에 어떠한 패스워드 및 중요 연결정보도 하드코딩 될 수 없음 |
|
|
|
|
|
|
|
6. 고객정보 보호 분야
점검 항목 |
상세 점검 항목 |
해당 시스템 |
보안성검토 |
확인 |
보안성심의 |
확인 | ||
Y/N/NA |
세부설명 |
Y/N/NA |
세부설명 | |||||
고객정보에 접근하는 ID는 책임 추적성을 위하여 개별 계정을 부여하고 접근기록은 5년 이상 보관하는가? |
고객정보에 접근하는 ID는 개별계정을 부여함 고객정보 접근권한 부여, 변경, 말소기록 5년 이상 보관 |
|
|
|
|
|
|
|
주민등록번호, 패스워드 등 이용자가 공개에 동의하지 않은 개인정보를 PC에 저장 시 암호화하는가? |
주민등록번호, 패스워드 등을 PC에 저장할 경우 암호화 한다. |
|
|
|
|
|
|
|
중요 고객정보는 조회, 출력, 다운로드 시 표시제한(‘*’표시)를 적용하는가? |
현업부서와 ‘*’ 등으로 표시 제한이 가능한 고객정보를 협의,선정하여 표시제한을 구현한다. 단,‘*’표시제한방식은 타 어플리케이션의 표시 제한방식과 일관성을 유지하도록 한다. - 대량으로 고객정보를 표시하는 다운로드, 출력, multi row 조회 등에 우선 적용 |
|
|
|
|
|
|
|
중요 고객정보 조회화면에 고객정보 취급 유의사항 메시지를 표시하는가? |
사용자의 고객정보 취급 주의를 환기하기 위하여 고객정보 취급 유의사항을 표시한다 표시시점은 현업부서와 협의하여 로그인 후 1회 표시 또는 중요 고객정보 취급 화면마다 표시 등으로 선정할 수 있다. 고객정보 취급 유의사항의 예시는 다음과 같다. ‘고객정보유출은 범죄행위이며, 모든 고객정보에 대한 접근은 전산 기록되고 있습니다.’ |
|
|
|
|
|
|
|
사용자가 중요 고객정보를 불법 유통하거나 사용하지 못하도록 인쇄금지, 화면 잠금 기능 등을 제공하는가?. |
요구되는 기능 예시는 다음과 같다 ①HTML소스 보기/소스 저장 금지 기능 ②클립보드를 이용한 웹 컨텐츠 복사 금지 ③마우스/키보드 제어 ④화면캡쳐 프로그램 및 Print Screen 기능으로부터 화면 복사 방지 등 |
|
|
|
|
|
|
|
고객정보 조회/수정/출력 시 처리이력은 5년 이상 보관하는가? |
고객정보 조회, 수정, 삭제 등의 처리 이력 자료는 5년 이상 보관하는 것을 원칙으로 한다. |
|
|
|
|
|
|
|
고객정보 전송 시 고객데이터를 암호화 하여 전송하는가? |
고객데이터를 외부로 전송 시 전송구간 암호화 또는 공인된 암호화 알고리즘을 사용하여 암호화해야 함 (3DES, SEED, AES, MD5 등) |
|
|
|
|
|
|
|
'컴퓨터활용' 카테고리의 다른 글
DNSEver 도메인 연결 서비스 서포터즈 (0) | 2015.05.11 |
---|---|
XNOTE SSD 하드로 교체 깔끔하게 안 된다 (4) | 2014.01.19 |
ASUS 한국 서비스센타 (0) | 2013.09.09 |
facebook 탈퇴하기 (0) | 2010.05.15 |
방화벽이 있는 네트웍에서 메신저 사용하기 (0) | 2008.08.18 |