[인증 관리①] 완벽한 네트워크란 없다
상태바
[인증 관리①] 완벽한 네트워크란 없다
  • Network Computing
  • 승인 2002.10.18 00:00
  • 댓글 0
이 기사를 공유합니다

완벽한 네트워크란 없다 …“노출 최소화가 최선”
‘인증·액세스 제어·어카운팅’ 중요 … 일관된 보안 정책 필수
완벽하게 안전한 네트워크란 없다. 당신이 할 수 있는 최선의 일은 공격에 대한 노출을 최소화하는 보안 전략을 세우는 것이다. 오늘날 수많은 보안 제품들이 나와 있지만, 그 어떤 것도 허가받은 사용자만을, 그들이 있어야 할 곳으로 들어오게 하지는 못한다. 이 일은 바로 인증(authentication)이며, 액세스 제어(access control)와 어카운팅(accounting)의 몫이다.

퇴근을 해서 주차장에 주차 시켜둔 차를 찾는다 치자. 그런데 당신은 친구가 장난으로 차를 다른 곳에 옮겨뒀던 일은 모르고 있다. 친구들은 지난번에 장난을 쳤을 때 당신의 반응을 떠올리고는 차를 다시 제 자리에 가져다 놓았다. 당신이 차에 갔을 때는 아무런 이상도 없어 보인다. 어쨌거나 키는 하루종일 당신 손안에 있었기 때문이다. 당신의 예상은 빗나가지 않았으며, 집에까지 기분 좋게 차를 몰고 올 것이다. 이것은 우리가 알고 있는 것에서, 그리고 보다 중요하게, 우리가 허가받은 것들 중에 기초운동에 불과하다.

이제 당신의 마이크로소프트 윈도 NT 도메인이나 액티브 디렉토리에서 임의로 한 사용자의 계정을 골라서, 사용자가 가장 최근에 로그인을 한 때를 보고(로그온/로그오프 이벤트를 로깅하고 있지 않다면 여기서 당장 읽기를 멈추고 로깅을 시작하라), 책상에 앉은 채로 그 ID가 이것이 할당된 사람에 의해 사용되었는지 확인해 보라. 그 계정에 액세스했던 사람이 조 밥(사용자 ID: jbob)이었는지 얼마나 확신하는가?

조 밥이 내부 데이터, 비즈니스 플랜, 재정 및 HR 정보 등과 같은 핵심적인 비즈니스 자원으로의 액세스 권한이 없는 로 레벨 사용자라면, 사용자 jbob이 진짜 조 밥인지에 대해 그다지 많은 확신이 필요하지 않을 수도 있다. 하지만, 조 밥이 데이터를 바꿀 수 있고, HR 기록으로 액세스하거나 재정 정보들을 복제할 수 있다면, 상황은 완전히 달라진다. 사용자들이 그들이 얘기하는 자신들이라는 것을 안다는 것이야말로 인증이 의미하는 모든 것이다.

AAA 이야기

전에도 이야기한 바 있지만, 다시 한번 얘기하자면, 완전하게 안전한 네트워크를 가질 수는 결코 없을 것이다. 당신이 희망할 수 있는 최선의 상황은 당신의 보안 전략이 공격에 대한 노출을 최소화시켜주는 것이며, 이것이 성공할 경우 손실은 감당할 만한 것이 될 것이다. 공격의 진로를 제거하는 일을 도와주는 많은 포인트 제품들이 나와 있다. 방화벽, VPN, SSL, 호스트 및 네트워크 기반 IDS(Intrusion Detection System), 그리고 바이러스 스캐너 등은 모두 관문이 되는 진입 지점 포인트 제품들이다. 암호화는 스토리지와 통행 중인 데이터를 보호한다. 하지만, 이런 기술들 중 어떤 것도 허가받은 사용자만을, 그들이 있어야 할 곳에 들어오게 하도록 도와주지는 못한다. 이것이 시작되는 곳은 인증(Authentication)이며, 액세스 제어(Access control)와 어카운팅(Accounting)으로 마무리된다.

액세스 제어와 어카운팅은 인증이 있을 경우에만 가능하지만, 이 세 가지 프로세스가 모두 있지 않을 경우에는 누가 무엇을 언제 어디서 어디에 어떻게 액세스할 수 있는지를 규정하는 정책을 이행할 수 없으며, 누가 무엇을 언제 어디서 어떻게 했는지를 추적할 수도 없다. 인증(사용자 ID를 각 개인과 맞춰보는 것)은 보안의 기본이다. 사용자가 실제로 그가 얘기하는 그 사람인지를 확실히 알지 못한다면, 액세스 제어와 어카운팅에 쏟아 붓는 노력은 소용이 없다.

인증을 만들어 내는 것은 다음과 같은 세 가지 기본적인 사용자 특성들이다:

■ 패스워드나 PIN과 같이 사용자가 아는 어떤 것
■ 토큰이나 스마트카드처럼 사용자가 갖고 있는 어떤 것
■ 생체인식학적으로 만들어진 사용자의 어떤 것

액세스 제어는 인증과 나란히 가며, 사실 이 두 가지는 가끔 서로의 흔적을 따라 춤을 춘다. 인증이 없다면 액세스 제어가 줄 수 있는 것은 ‘어디서와 무엇을’ 뿐이다. 즉, 사용자가 어디로 가고 있고, 어디서 오는지, 이들이 어떤 서비스에 도달하려 시도하고 있는지 등이며, ‘누가’에 대한 것은 없다. 사용자 기반 액세스 제어는 이 부분을 추가시켰으며, 나아가 자원이나 네트워크 공유로 있는 파일, 혹은 관리 애플리케이션에 있는 옵션들로의 액세스를, 예를 들면 사용자가 누구인지나, 그 가 가입된 그룹이 무엇인지 등을 기준으로 제한한다.

그리고 어카운팅은 누가, 언제, 그리고 어떤 경우에는 얼마나 오래 인증되었는지에 대한 히스토리 리스팅을 만들어준다. 어카운팅은 또한, 오류가 난 로그인 시도들을 기록한다. ‘감사(auditing)’와 ‘어카운팅(accounting)’이란 용어는 혼동되어 사용될 때도 많지만 서로 다른 의미를 갖고 있다. 어카운팅은 단순히 로그인 정보를 목록화하는 것이며, 감사는 사용자가 접속해 있는 동안 무엇을 했는지에 대한 세부 사항들을 추가하며 개조가 가능한 트레일(trail)을 만들어준다. 감사 데이터로는 어카운팅을 할 수 있지만 그 역으로는 불가능하다.

FYI

다음 번에 사용자가 복잡한 패스워드를 기억하기 힘들다고 불평한다면, 뉴저지 버전 카운티 기술 센터에서 퍼뜨린 이 말을 들려 줘라: 당신이 좋아하는 구문을 선택해서 기억하라. 이제 각 단어의 첫 글자를 사용하라. 적절한 대문자, 구두점, 그리고 기타 문자 조작을 추가하라. 예를 들어, ‘Three blind mice(세 마리 장님 쥐)’를 선택했다면 ‘3bm,shtr’이 될 수 있을 것이다.


댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글 0
댓글쓰기
계정을 선택하시면 로그인·계정인증을 통해
댓글을 남기실 수 있습니다.