Notice
Recent Posts
Recent Comments
Today
Total
03-28 20:03
Archives
관리 메뉴

Jeongchul Kim

03 계정과 패스워드, 세션 관리 본문

정보 보호

03 계정과 패스워드, 세션 관리

김 정출 2016. 1. 26. 11:00



03 계정과 패스워드, 세션 관리

계정과 패스워드, 세션 관리

1. 보안 인증 방법

계정과 패스워드 관리보안을 강화하기 위해 가장 먼저 생각하게 되는 것이 인증입니다. 인증은 시스템에 접근하거나 물리적 장소에 출입할 수 있는 권한을 가지고 있는지 확인하는 과정입니다. 일반적인 시스템에서 사용하는 인증 방법은 아이디와 패스워드로 구성됩니다. 식별과 인증은 차이가 있는데, 식별은 문자열 등을 통해 시스템에 접근하는 사용자의 신원을 제공하는 것이며, 인증은 식별 과정에서 제공받은 정보와 시스템에 접근할 수 있는 사용자 목록을 비교하여 접근자의 신원을 확인하는 것입니다.

인증은 크게 3가지 정보를 기반으로 수행됩니다. 지식 기반, 소지 기반, 생체 기반으로 하는 인증이 있는데요. 하나씩 자세히 살펴보도록 하겠습니다.먼저 지식 기반 인증 방법입니다. 지식 기반은 가장 많이 사용되는 방법으로 아이디와 패스워드 같은, 사용자가 알고 있는 정보를 기반으로 인증을 수행하는 것입니다. 다음은 소지 기반 인증 방법입니다. 사용자가 가지고 있는 신분증과 같은 출입카드, OTP 등을 가지고 인증을 수행하는 것입니다.마지막으로 생체 기반 인증 방법입니다. 사용자의 홍채, 지문, 걸음걸이 등과 같이 사용자의 생리학적, 행동학적 특성을 이용한 생체 기반 인증이 있습니다.


2. 시스템의 계정 관리

운영체제에는 다양한 기능을 수행하는 응용프로그램들이 동작하고 있습니다. 운영체제의 관리자는 이러한 응용프로그램의 동작이나 시스템의 설정을 변경할 수 있는 권한을 가지고 있습니다. 운영체제의 관리자 권한은 시스템의 안정성을 유지하는데 중요한 역할을 하며, 이러한 관리자 권한이 악의적인 사용자에게 유출되면 시스템에 심각한 피해가 발생할 수 있습니다.


따라서 시스템에 존재하는 데이터의 유출을 차단하기 위해서 사용자 권한의 관리가 중요합니다.

그럼 운영체제의 계정 관리를 윈도우와 유닉스로 나누어 살펴보도록 하겠습니다.

우선 윈도우 시스템의 관리자 계정은 Administrator인데요. net localgroup administrators란 명령어를 통해 관리자 그룹에 속해 있는 계정을 확인할 수 있습니다. 화면은 명령어 실행 결과입니다. 현재 관리자 권한을 가지고 있는 계정은 administrators, 하나의 계정만 등록되어 있습니다. 일반 사용자 계정은 net users 명령을 통해 일반 사용자의 계정 확인이 가능합니다. 화면에서 명령어 실행 결과, 현재 컴퓨터에 등록된 사용자 계정은 administrator, Guest, Temp 3개의 계정이 있습니다. 마지막으로 시스템에 존재하는 그룹 확인은 net localgroup 를 통해 시스템에 존재하는 그룹 확인이 가능합니다.

화면에서 명령어 실행 결과, 시스템에 존재하는 그룹은 어드미니스트레이터스와, 백업 오퍼레이터스, 유저스 등 여러 가지 존재하는 그룹들이 나타났습니다. 이러한 그룹은 사용자의 필요에 만들어진 그룹도 있지만, 시스템의 관리를 위해 만들어진 그룹도 있습니다.


윈도우 시스템의 주요 그룹은 다음 표와 같습니다.


먼저 Administrators의 특징은 대표적인 관리자 그룹, 윈도우 시스템의 모든 권한 보유하며, 사용자의 계정 생성 및 삭제 가능, 디렉터리와 프린터 공유 설정이  가능합니다. Power users는 Administrators 그룹이 가지는 대부분의 권한 보유, 로컬 컴퓨터에서만 관리 가능하며, 해당 시스템 밖의 네트워크에서는 일반 사용자로 존재합니다.

Backup operators는 윈도우 시스템에서 시스템 파일을 백업하는 권한을 보유하고, 로컬 컴퓨터에 로그인하고 종료가 가능합니다.

Users는 대부분의 사용자가 속한 그룹이며, 네트워크를 통해 서버나 다른 도메인 구성요소에 로그인이 가능합니다.

관리 계정에 비해 한정된 권한을 보유하고 있습니다. Guests는 윈도우 시스템에서 Users 그룹과 같은 권한입니다.  두 그룹 모두 네트워크를 통해서 서버에 로그인 할 수 있으며, 서버로의 로컬 로그인이 불가합니다.


다음은 유닉스의 계정 관리입니다. 유닉스 시스템의 관리자 계정으로 root가 존재하는데요.  /etc/passwd 파일을 통해 계정 목록을 확인할 수 있습니다. 첫 번째 항목은 사용자의 계정명을 나타냅니다. 보기의 예제에서는 유닉스에서 최고 권한을 가지고 있는 root 계정입니다. 두 번째 항목은 패스워드를 나타내고 있습니다. 과거에는 실제 패스워드가 보였지만, 보안상의 이유로 x 로 만 표시되고 있습니다. 세 번째 항목은 사용자의 번호, 네 번째 항목은 사용자의 그룹번호를 나타내고 있습니다. 다섯 번째 항목은 사용자의 실제 이름으로 계정명과 실제이름이 다른 경우 나르게 나타날 수 있습니다. 여섯 번째 항목은 사용자의 홈 디렉토리로 사용자가 사용하게 되는 기본 폴더 입니다. 일곱 번째 항목은 해당 계정에서 사용하는 기본 쉘로 다양한 쉘 중 해당 계정에서 사용하는 기본 쉘입니다.

유닉스 시스템에서도 /etc/group 파일을 통해 시스템에 존재하는 그룹을 확인할 수 있습니다.

사용자 목록과 비슷한 목록으로 첫 번째 항목은 그룹 이름, 두 번째 항목은 그룹에 대한 패스워드, 세 번째 항목은 그룹번호, 네 번째 항목은 해당 계정에 속해 있는 계정들의 목록을 나타냅니다. 관리자 그룹이 속한 그룹 번호를 확인하고 계정 목록에서 관리자 그룹의 번호와 같은 것을 비교하는 것이 정확하게 관리자 그룹에 속하는 계정을 확인할 수 있는 방법입니다.



데이터베이스도 운영체제와 같이 계정이 존재합니다. 하지만 일반 사용자는 직접적으로 데이터베이스에 접근하는 일이

거의 없습니다. 데이터베이스의 계정을 살펴보면, MS-SQL에는 sa, Oracle은 sys, system등의 관리자 계정이 존재합니다.


오라클에는 윈도우의 게스트 계정과 유사한 스코트라는 기본 계정이 존재합니다. 하지만 보안상의 이유로 사용하지 않는 경우

스코트 계정을 잠금 상태로 변경하거나 패스워드를 변경하는 것이 좋습니다.

FTP와 웹 서비스와 같은 응용프로그램은 운영체제와 별도의 고유 계정들을 가지고 있습니다. 응용프로그램의 설정이나 목적에

따라서 계정의 형태가 상이하기 때문에 사용하는 응용프로그램의 계정 유형을 확인하고 불필요한 계정을 제거하여 응용프로그램과

시스템의 보안 위협이 발생하는 것을 방지하는 것이 좋습니다.

네트워크 장비에는 우리가 흔히 생각하는 계정의 개념이 미비합니다. 이러한 이유는 네트워크를 통한 접근이 아닌 실제 장비에

직접적으로 접근하거나 IP를 통해 접근하기 때문입니다. 시스코 장비의 계정은 장비의 상태 확인만 가능한 사용자 모드와 설정 변경이 가능한 관리자 모드가 있습니다.

대규모의 네트워크 장비를 일일이 관리하기 힘들 경우 TACASC+와 같은 솔루션을 활용할 수 있습니다. 전문적인 네트워크 장비 이외에 우리가 흔히 사용하는 무선 공유기에도 관리자 계정이 있습니다. 특정 IP 주소를 통해 접근하게 되는데, 기존 암호를 설정하지 않거나, 기본 설정을 그대로 유지하고 있는 경우가 많습니다. 공유기를 통한 피해를 예방하기 위해 설정을 변경하는 것이 바람직합니다.

3. 패스워드 관리

이번에는 패스워드 관리에 대해 살펴보겠습니다. 패스워드는 사용자 인증에 가장 많이 사용되는 인증 방법입니다.

따라서 패스워드는 적절한 보안 강도를 가지도록 유지하며  패스워드 정책을 통해 안전한 패스워드를 사용할 수 있도록 유도해야 합니다. 부적절한 패스워드는 예로는 숫자 1234와 같은 길이가 너무 짧거나 널인 패스워드입니다. 그리고 iloveyou, password와 같은 사전에 나오는 단어들이나 이들의 조합, 키보드 자판의 나열은 부적절한 패스워드입니다. 또한 사용자 계정 정보로 유추 가능한 단어도 부적절한 패드워드입니다. 예를 들어 ID를 myaccount로 설정하였는데, 비밀번호 또한 myaccount로 설정한 경우, 사용자 계정 정보로 패스워드 유추가 가능해 패스워드로 부적절합니다.

안전한 패스워드 관리를 위한 주요 정책에는 패스워드 설정 정책, 패스워드 변경 정책, 잘못된 패스워드 입력 시 계정 잠금이 있습니다. 패스워드 설정 정책이란 패스워드를 설정할 때 길이와 복잡도에 대한 설정을 하는 것인데요. 최근 컴퓨팅 성능의 향상으로 짧은 길이의 패스워드는 전사 공격을 통해 쉽게 유추해 낼 수 있습니다. 따라서 패스워드를 설정할 때 9자리 이상의 문자열을 사용하도록 하며 단순 숫자의 조합이 아닌 알파벳, 특수문자를 조합하여 설정하도록 할 수 있습니다. 다음으로 패스워드 변경 정책에 대한 내용입니다. 동일한 패스워드를 오랜 기간 사용할 경우는, 타인에게 노출되기 쉽기 때문에 주기적으로 변경하도록 하는 것이 좋습니다. 또한 패스워드를 변경할 때 이전에 사용되었던 패스워드를 사용하지 못하도록 하는 것이 좋습니다. 마지막으로 잘못된 패스워드를 일정 횟수 이상 입력한 경우 해당 계정을 통한 접속을 차단하고, 패스워드가 아닌 다른 방법을 통해 사용자 인증을 수행한 후, 계정을 사용할 수 있도록 하는 것이 좋습니다. 이 때, 패스워드를 변경하도록 설정할 수 있습니다.



세션 관리

1. 세션 관리

세션 관리

세션이란 사용자와 컴퓨터 혹은 두 컴퓨터 간의 활성화된 접속을 의미하는 용어입니다. 예를 들어 웹 페이지에 처음 로그인 한 이후,일정 시간 동안 다시 로그인을 하지 않아도 로그인 상태가 유지되는 것입니다. 이러한 세션 유지는 사용자의 편의를 향상시킬 수 있지만, 다른 사용자가 유지된 세션을 통해 시스템을 사용할 수 있다는 단점이 있습니다.세션을 적절히 유지하기 위해 고려할 보안 사항으로는 세션 하이재킹, 네트워크 패킷 스니핑에 대응하기 위한 암호화, 세션에 대한 지속적인 인증이 있습니다.

2. 지속적인 인증

지속적인 인증이란 인증 절차를 통해 시스템에 접근하는 데 성공한 이후 일정 시간 다시 인증을 하지 않아도 이전의 인증 정보를 활용하는 것으로 시스템을 사용하기 위해 명령어를 입력할 때마다 패스워드를 매번 입력해야 하는 번거로움을 해결할 수 있습니다.윈도우 시스템의 경우 지속적인 인증의 한 예로 화면보호기를 들 수 있습니다. 화면보호기 설정 창에서 ‘다시 시작할 때 로그온 화면 표시’라는 항목을 체크하면 유휴 시간이 지난 뒤 사용자가 재접속할 경우 암호를 통해 재인증을 수행할 수 있습니다.유닉스 시스템도 세션 타임아웃이 존재하여 일정 시간이 지난 후 재인증을 수행할 수 있지만, 기본적으로 설정되어 있지는 않습니다.따라서 필요한 경우 다음의 경로에서 타임아웃 값을 설정하여 시스템을 안전하게 유지할 수 있도록 해야 합니다.





'정보 보호' 카테고리의 다른 글

06 윈도우 보안  (0) 2016.01.26
05 로그와 취약점 관리  (0) 2016.01.26
04 접근 제어와 권한 관리  (1) 2016.01.26
02 물리적 보안  (5) 2016.01.26
01 정보보호의 개요  (8) 2016.01.26
Comments