요즘같은 정보화 사회에서 개인 정보 보호법이 강화되는 것과 마찬가지로 기업에 대한 정보 보안도 이슈가 되는 실정입니다.
특히나 고객사의 정보를 취급하는 IT 기업에서의 정보 보안은 사내에서 보안 정책을 수립하고 규칙을 준수하는 것이 매우 중요합니다.
아래는 이전 회사에 근무하면서 작성한 사내 보안 정책 내용입니다. 회사마다 인프라가 다르기 때문에 그대로 적용하는 것은 무리가 있으나
IT 회사라면 기본적으로 체크해야할 회사 정보 보안 정책이 포함 되어 있으니 일정 부분 참조할 수 있을 듯 합니다.
정보 보안 정책
모든 데이터는 중요도 등급에 따라 분류, 표시되고 등급에 맞는 관리 정책을 수립한다.
정보를 4등급으로 분류하고 등급이 높을수록 중요한 데이터 및 프로세스로 정의한다.
등급 1: 공개/미 분류 정보.
이 시스템들에 있는 데이터는 회사와 아무 관계없이 공개될 수 있다.
(예- 테스트 테이터, 효용성이 없는 데이터, 공개 정보 서비스 등)
보관에 대한 지침: 없음
전송에 대한 지침: 없음
파기에 대한 지침: 없음
등급 2: 내부정보.
이 데이터에 대한 외부접근은 금지되지만 공개되더라도 그 결과가 치명적이지 않다.
(예- 일반적인 작업문서, 일부 공개 서비스, 현재 서비스되고 있지 않는 데이터)
보관에 대한 지침:
- 정보는 분류되어야 한다. 분류된 정보는 저장매체 등에 저장되어야 한다.
- 바이러스에 감염되기 쉬운 데이터 들에 대해 주기적으로 바이러스 검사가 수행되어야 하고 시스템 무결성이 주기적으로 감시되어야 한다.
전송에 대한 지침:
- 외부 파트너와의 협력을 수반하는 프로젝트에 대해, 어떤 정보를 외부 파트너와 공유해도 좋은지를 프로젝트 정책 문서에 명기해야 한다.
- 이 정보는 회사 내에 머물러 있어야 하고, 꼭 공개 매체(인터넷 같은)를 통해 전송해야 한다면, 수신자에게만 공개되어야 한다.
- 내부 데이타는 1번과 2번의 경우를 제외하고는 회사 밖으로 옮겨져서는 안된다.
파기에 대한 지침:
- 정보가 더 이상 필요하지 않을 때는 안전하게 처리되어야 한다. (문서는 분쇄기로, 오래된 디스크 및 데이터는 파기 등)
등급 3: 기밀정보.
이 등급의 정보는 회사 내부 정보로 외부 접근으로부터 보호된다.
이러한 데이타가 인가되지 않은 사람에 의해 접근되었을 경우, 회사의 운영상 효율성에 영향을 줄 수 있고, 중대한 재정적 손실을 야기할 수 있으며, 경쟁사에게 상당한 이익을 주거나 고객 신뢰도가 상당히 저하될 수 있다.(예-급여, 인사, 회계 데이터, 패스워드, 고객 데이터 및 계약서)
보관에 대한 지침:
- 정보는 분류되어야 한다. 분류된 정보는 저장매체 등에 저장되어야 한다.
- 바이러스에 감염되기 쉬운 데이터 들에 대해 주기적으로 바이러스 검사가 수행되어하고 시스템 무결 성이 주기적으로 감시되어야 한다.
- 정보는 보안장치가 되어있는 곳에 보관되어야 한다.
전송에 대한 지침:
- 이 정보는 회사 내에 머물러 있어야 하고, 꼭 공개 매체(인터넷 같은)를 통해 전송해야 한다면, 암호화하여 전송되어야 한다.
파기에 대한 지침:
- 정보가 더 이상 필요하지 않을 때는 안전하게 처리되어야 한다. (문서는 분쇄기로, 오래된 디스크 및 데이터는 파기 등)
등급 4: 극비정보.
이 데이타에 대한 인가되지 않은 외부 또는 내부 접근은 회사에 치명적일 수 있다.
데이타 무결성은 필수적이다. 이 데이타에 접근할 수 있는 사람은 매우 적어야 한다.
이 데이타의 사용에 관해서는 매우 엄격한 규칙이 지켜져야 한다.(예- 현재 서비스중인 데이터, 현 프로젝트에 대한 계약서 등)
보관에 대한 지침:
- 정보는 분류되어야 한다. 분류된 정보는 저장매체 등에 저장되어야 한다.
- 바이러스에 감염되기 쉬운 데이터 들에 대해 주기적으로 바이러스 검사가 수행되어야 하고 시스템 무결 성이 주기적으로 감시되어야 한다.
- 정보는 보안장치가 되어있는 곳에 보관되어야 한다.
- 정보는 암호화 된 형태로 보관되거나 분리 가능한 디스크에 보관되어야 한다.
전송에 대한 지침:
- 이 정보는 회사 내에 머물러 있어야 하고, 꼭 공개 매체(인터넷 같은)를 통해 전송해야 한다면, 암호화하여 전송되어야 한다.
파기에 대한 지침:
- 정보가 더 이상 필요하지 않을 때는 안전하게 처리되어야 한다. (문서는 분쇄기로, 오래된 디스크 및 데이터는 파기 등)
패스워드 보안 정책
계정이나 패스워드를 친구나 지인들과 공유, 시스템 패스워드 파일에 대해 패스워드 체커 사용 등을 금지한다.
다음과 같은 패스워드 타입을 지양한다.
* 배우자, 부모, 동료, 친구, 애완동물, 동네, 달, 요일 이름.
* 자동차/오토바이 등록번호, 전화번호.
* 일반적인 사전 단어 (불어, 독어, 영어, 이태리어,…).
* 동일한 숫자/문자의 연속
* 뻔한 키보드 연속 순서
* 위 항목들을 거꾸로 하거나, 앞 또는 뒤에 숫자를 붙인것.
관리 지침
- 적어놓거나 이메일로 드러내지 않는다.
- 디폴트 패스워드는 사용하면 안된다.
- 특별한 경우를 제외하고는 다른 사람에게 패스워드를 알려주지 않는다.
- 어떤 시스템상에서 패스워드들이 노출되었을 때는 즉시 시스템의 모든 패스워드들을 변경한다.
- 관리자 (또는 루트) 패스워드를 공유하지 않고 관리자가 부여한 패스워드로 접속한다.
- 테스트를 위한 패스워드를 사용하였다면 플랫폼들간에 사용자 패스워드를 동기화 하도록 노력하고 테스트가 끝나는 즉시 해당 패스워드는 파기한다.
- 벤더에 의해 정의된 디폴트 패스워드는 시스템을 사용하기 전에 변경해야 한다.
- 사용자가 다른 사용자들의 (암호화된) 패스워드를 (패스워드파일에서) 읽을 수 있으면 안된다.
- 사용자는 다른 사용자의 패스워드를 변경할 수 없어야 한다. 그러나, 계정 운영자는 사용자 패스워드를 변경할 수 있다.
- 소프트웨어에 평문 패스워드를 넣어 두는 것은 어떤 일이 있어도 피해야 한다.
- 서버시스템의 패스워드의 최소기간, 최대기간, 최소길이 및 이력목록 등을 다음과 같이 규정한다.
– 기준: 최소 사용기간 = 2 일, 최대 사용기간 = 12 개월, 최소 길이 = 반드시 특수문자를 포함하는 6 문자이상.
– 패스워드 이력: 가장 최근 사용된 5개의 패스워드는 금지되어야 한다.
소프트웨어 보안 정책
- 공개 소프트웨어는 설치 책임이 있는 시스템 관리자가 해당 소프트웨어의 무결성에 대해 확신하는 경우에 한해 사용할 수 있다.
- 라이센스 받지 않은 소프트웨어를 사용해서는 안된다.
- 소프트웨어 관리자의 허가를 받지 않고 사내 소프트웨어를 외부로 반출해서는 안된다.
- 사내소프트웨어의 라이선스 데이터는 반드시 소프트웨어 관리자가 정보 보안 3등급이상을 부여하고 그에 맞는 정책을 준수 한다.
- 상용 소프트웨어 구매 후 원본 소프트웨어 사용을 가급적 지양하고 백업 본이나 복사 본을 사용한다.
컴퓨터 및 네트워크 보안 정책
1. 로그온 정책
- 계정은 인가된 사람에 대해서만 존재해야 한다.
- 각 사용자는 이름이나 번호로 식별되어야 하고 그룹에 속해 있어야 한다.
- 사용자와 그룹은 사용자 자신이 아니라 관리자 (또는 그에 상당하는 자) 에 의해 관리되어야 한다.
- 그룹 (공동)계정은 피해야 한다.
- 각 사용자는 시스템상에 하나의 계정만 가지고 있어야 한다.
- 게스트 계정이 사용되는 경우, 이들의 환경은 매우 제한적이어야 한다.
- 게스트 계정은 허용되지 않는다.
- 사용자가 옮기거나 퇴직하면, 그 계정은 즉시 봉쇄 또는 삭제해야 한다. 인사관리자가 시스템관리자에게 자동적으로 통보하는 절차가 있어야 한다.
- 휴지기간 15분후에는 패스워드 있는 화면보호기가 작동되어야 한다.
- 사용자 어플리케이션 및 시스템 구성은 그 사용자만 쓸 수 있어야 하고 모두가 읽을 수 있게 되어 있으면 안된다.
- 어떤 계정이 단시간에 연속적으로 로그인 실패하는 경우 계정을 봉쇄하고 사용자에게 알린다.
- 사용자가 로그온 하면 다음 내용이 표시되어야 한다:
- 시스템 오남용과 관련한 법적 경고
- 마지막으로 성공 또는 실패한 로그인 시간 및 장비.
- 관리자로 직접 로그온 허용을 피한다. 특히 한 시스템을 한 명 이상이 관리할 때에는 더욱 피해야 한다.
- 관리자 그룹의 멤버들은 관리자의 인가를 받아야 한다.
- 사용자 계정에 대해 만료일을 설정할 수 있어야 한다.
2. 백업 및 복원 정책
- 백업은 정기적으로 이루어져야 하고, 어떤 백업 매체는 정기적으로 오프 사이트에 보관되어야 한다.
- 각 시스템이나 시스템 그룹에 대해 다음을 포함하는 백업 및 복원 정책이 있어야 (문서화 되어야) 한다.
- 백업 방법 및 복원 방법에 대한 정의.
- 백업 매체에 대한 보관 장소 및 보관 기간.
- 백업 주기 정의 및 점검 확인.
3. 네트워크 정책
- 네트웍 구성은 문서화 되어야 한다.
- 식별 및 인증:
- 회사 네트웍 상의 모든 주체를 식별하고 인증할 수 있어야 한다.
- 가능하다면, 단일 메카니즘으로 여러 어플리케이션들과 시스템들에 걸친 사용자 로그온이 가능하도록 하여, 여러개의 사용자이름과 패스워드가 존재하는 것을 피한다.
- 서비스의 신뢰성 / 가용성
- 네트웍은 24시간, 일주일 내내 가동되어야 한다.
- 네트웍 장애 및 성능문제에 대해 감시해야 한다. 심각한 네트웍 붕괴가 발생하기 전에, 가능한 곳에는 예방 조치가 취해져야 한다.
- 모든 시스템의 설치시 다음 정보를 포함하는 레이블이 부착되어야 한다: 호스트이름, 제조업체/모델, IP 주소, MAC 주소, 케이블링 노드 ID (네트웍 토폴로지에서 허용한다면), 보증만료기간 및 보안/헬프데스크 전화번호
- 서버는 또 다음사항도 포함해야 한다: 모든 주변기기에 서버이름 표기, 디스크종류/보증기간/구성, 정지/재시동을 위한 콘솔 명령어
- SW의 원 제조업체로부터 나온 패치만 적용해야 한다.
원격 접근 정책: 외부 네트웍 인터페이스
네트웍들의 전화접속,인터넷, 벤더 네트웍, 고객 네트웍 등등) 연결이 보안 정책을 위반하는 결과를 가져올 경우, 서로 연결되어서는 안된다.
외부 네트웍에의 접속은 방화벽을 거쳐서만 일어나야 한다. 방화벽은 보안정책을 가지고 있어야 하고 정기적으로 감시 및 감사되어야 한다.
보안 정책 준수 방안
1. 통신망
- 방화벽에서 서비스 포트외 다른 포트가 Open되어 있는지 확인한다.
- 외부로 나가는 포트도 필요한 포트외에 차단하였는지를 확인한다.
- 방화벽 접속로깅을 확인하고 6개월이상 보관한다.
- 칩입탐지시스템(IDS) 또는 침입방지시스템(IPS)가 가동 중인지 확인한다.
2. 서버
- 해킹 취약 서비스가 구동되고 있는지 확인한다.
- 서버에 불필요한 서비스가 존재하고 있는지 확인한다.
- 최신 패치 및 백신 검사를 주기적으로 확인하고 로그를 남긴다.
- 서버내에 설치된 별도 프로그램 및 샘플 테스트용 파일 및 디렉토리를 확인하고 제거한다.
- 웹서버 관리자 디폴트 패스워드를 주기적으로 변경하는지 확인한다.
- 서버의 웹 컨텐츠 및 시스템 정보를 정기적으로 백업한다.
3. 프로그램
- 중간 웹페이지에 접근하여 권한 없는 페이지에 접속이 가능한지를 확인한다.
- 파일접근시 경로를 조작하여 시스템파일에 접근되는지 확인하고 차단한다.
- 중요 정보가 쿠키나 URL에서 평문형태로 조회되는지 확인한다.
- 응용프로그램에서 사용하는 DB계정은 DBA 권한이 아닌 일반권한을 사용하고 있는지 확인한다.
- Php,Jsp,Asp 등의 소스 백업을 웹 디렉토리가 아닌 별도에 디렉토리에 보관하여 URL로 접근이 되는지 확인한다.
- 사용자 인증 및 검색시 SQL 쿼리 조작으로 통한 해킹이 불가능한지 확인한다.
- 게시판 구현시 공개된 프로그램을 사용하지는 않았는지 확인한다.
- 세션정보를 안전하게 관리하고 있는지 확인한다.
- ini 환경파일을 안전하게 운영하고 있는지 확인한다.
- 중요정보의 입력 Form 자동완성기능을 제거했는지 확인한다.
- HTML 소스보기 기능을 통해 중요정보가 노출되지 않는지 확인한다.
- 중요정보가 있는 페이지의 경우 Cache가 불가능하도록 뒤로가기 하여 정보조회를 막아놓는지 확인한다.
- 중요정보 전송시 SSL 정책을 준수하는지 확인한다.
4. 접근 및 관리
- 서버에서 접근 가능한 IP 주소를 통제하는지 확인한다.
- 서버접속시 패스워드 정책을 관리하고 준수하는지 확인한다.
- Root 의 FTP을 사용 금지옵션을 적용하였는지를 체크한다.
- 일반사용자가 root 권한을 갖고 있지 않는지 확인한다.
- 서버 및 웹 서버의 접속 로깅을 실시하는지 확인한다.
5.데이터베이스
- 데이터 베이스 접속 아이디 및 패스워드를 관리한다.
- 중요정보에 대한 사용권한이 제한되어 있는지 확인한다.
- 데이터베이스 관련 파일에 대해서 접근권한이 통제되는지 확인한다.
- DB 취급자를 최소화하고 허용 대상자를 통제하고 관리한다.
- 데이터베이스의 고객/거래 정보가 암호화 되어 저장되는지 확인한다.
6. 자동 복구 및 사후 추적
- 웹 컨텐츠 자동복구 시스템을 이용하여 정기적으로 웹페이지를 검사하여 컨텐츠의 훼손/변조가 발견되는 즉시 기존 등록의 컨텐츠로 복구한다.
- 시스템 자동복구 시스템을 이용하여 미리 보관해둔 운영체제 또는 업무시스템의 중요파일들을 이용하여 시스템을 복구 한다.
- 로그분석도구를 활용하여 시스템 접근 내역을 기록하고 보존한다.
- 어플리케이션 보안 취약성 분석 툴을 사용하여 운영단계에서도 지속적으로 안전성을 점검한다.