[정보 보안 개론] 시스템 보안 (시스템 보안의 이해, 계정 관리)

Jin_Hahha·2024년 10월 6일
0

정보 보안 개론

목록 보기
3/17
post-thumbnail

시스템

  • 시스템이란 하드웨어부터 소프트웨어 전반에 걸친 모든 것을 포괄
  • 시스템과 관련된 보안 주제는 특정 시스템에 한정되는 것이 아닌 훨씬 큰 범위의 보안을 의미
    • 예를 들어 조직이나 국가 단위의 보안 요소를 다루는 일과 흡사
    • 현대 사회는 네트워크가 점점 강해지고 시스템 간의 경계가 희미함
    • 분산처리 시스템이나 클라우드 환경이 더욱 강화되고 있음

시스템 보안 주제

  • 시스템 보안이란 권한이 없는(허가받지 않은) 사용자가 파일이나 폴터, 장치 등을 사용하지 못하도록 제한하여 시스템을 보호하는 기능을 말함
  • 시스템 보안은 크게 계정 관리, 세션 관리, 접근 제어, 권한 관리, 로그 관리, 취약점 관리의 여섯 가지 주제로 정리할 수 있음

계정 관리

  • 적절한 권한을 가진 사용자를 식별하는 것
  • 시스템 보안의 시작이라고 할 수 있음
  • 가장 기본적인 수단은 아이디와 패스워드
  • 계정은 신분증 또는 자신이 누구인지 보여주는 명령서 등의 공문서 역할

세션 관리

  • 사용자와 시스템, 두 시스템 사이의 활성화된 접속을 의미하는 세션을 관리하는 것
  • 일정 시간이 지나면 세션을 종료하고 비인가자의 세션 가로채기를 통제하는 형태로 관리

접근 제어

  • 다른 시스템으로부터 적절히 보호할 수 있도록 네트워크 관점에서 접근을 통제하는 것

권한 관리

  • 각 사용자가 적절한 권한으로 적절하게 정보 자산에 접근할 수 있도록 통제하는 것

로그 관리

  • 시스템 내부나 테느워크를 통해 외부에서 시스템에 어떤 영향을 미칠 경우 그 내용을 기록하여 관리하는 것

취약점 관리

  • 계정 관리, 세션 관리, 접근 제어, 권한 관리 등이 잘 이루어져도 시스템 자체의 결함으로 시스템에 보안 문제가 발생할 수 있음
  • 시스템 자체의 결함을 관리하는 것이 취약점 관리

계정관리

  • 계정은 시스템에 접근하는 가장 기본적인 수단
  • 아이디와 패스워드는 계정의 기본 구성 요소

아이디

  • 시스템에 접속하기 위해서는 자신이 누군지 알려야 함
  • 위의 과정을 식별, Identification 과정이라고 함
  • 인간의 경우 생체 정보를 기반으로 한 것이 정확한 식별 행위에 해당
  • 시스템은 생체 정보를 이용하기 곤란하기 때문에 로그인을 허용하기 위한 인증, Authentication을 요청

  • 보안의 네 가지 인증 방법
  1. 알고 있는 것
    • 기억하고 있는 정보를 이용하여 인증을 수행
  2. 가지고 있는 것
    • 신분증이나 OTP(One Time Password) 장치 등으로 인증 수행
  3. 자신의 모습
    • 홍채 같은 생체 정보로 인증 수행
  4. 위치하는 곳
    • 현재 접속을 시도하는 위치의 적절성을 확인하거나 콜백을 이용하여 인증 수행
    • 콜백이란?
      • 접속을 요청한 사람의 신원을 확인하고, 미리 등록된 전화번호로 전화를 되걸어 접속을 요청한 사람이 본인인지 확인하는 것

운영체제의 계정 관리

  • 운영체제
    • 시스템을 구성하고 운영하기 위한 가장 기본적인 소프트웨어
    • 운영체제의 권한을 가지게 되면 해당 시스템에서 동작하는 다른 응용 프로그램에 대해서도 어느 정도 권한을 가질 수 있음
  • 운영체제의 관리자 권한을 얻으면 해당 시스템에서 동작하는 웹 서버와 데이터베이스 등의 구동을 멈출 수 있고, 웹 서비스에서 구동 중인 소스를 변경할 수도 있음
  • 따로 권한을 주지 않아도 운영체제 관리자는 운영체제에 존재하는 응용 프로그램에 대한 높은 수준의 권한을 가지게 됨
  • 관리자로부터 응용 프로그램을 보호하는 방법은 응용 프로그램을 암호화하는 것

  • 일반 사용자 권한의 계정도 시스템의 상당 부분에 대한 읽기 권한을 지니고 있으므로 소홀히 생각해서는 안 됨
  • 시스템에서 여러 가지 정보를 수집한 뒤 자신의 권한으로 허용되지 않는 일을 시도할 수 있기 때문

윈도우 계정 관리

  • 윈도우 운영체제의 관리자 권한을 가진 계정, Administrator
  • 시스템에 가장 기본으로 설치되는 계정

net localgroup administrators

  • 위의 명령어를 사용하면 관리자 그룹에 속하는 각 계정의 존재 형태를 확인할 수 있음

  • 사용자 계정을 확인하려면 아래의 명령어 입력

net users

  • 운영체제의 계정 관리에서 고려할 또 하나의 요소는 그룹
  • 윈도우에서는 기본 그룹을 정의
  • 시스템에 존재하는 그룹 목록은 아래의 명령어로 확인할 수 있음

net localgroup

  • 윈도우에서 주로 사용하는 그룹은 아래와 같음

유닉스 계정 관리

  • 유닉스 계열의 시스템에서는 기본 관리가 계정, root가 존재
  • 유닉스에서는 /etc/passwd 파일에서 계정 목록 확인 가능

  • /etc/passwd 파일의 구성은 다음과 같음

  • 셸은 사용자가 입력하는 명령어를 이해하고 실행하는 역할을 수행
  • 시스템에 따라서는 셸을 명령어 해석기로 부르는 경우도 있음
  • 윈도우의 C:프롬프트나 dir, edit 등과 같은 사용자 명령어와 유사

  • 유닉스에서 관리자 권한은 사용자 번호와 그룹 번호로 식별
  • 관리자는 사용자 번호와 그룹 번호가 모두 0
  • 만약 root 이외의 계정 중에 사용자 번호가 0인 계정이 있으면, 해당 계정도 관리자 권한을 가짐

  • 일반 사용자 계정도 /etc/passwd 파일에서 확인
  • 이때 파일 구조에서 2번 항목(암호화된 패스워드가 어느 파일에 저장되어 있는지)과 7번 항목(사용자가 사용하는 셸이 어디에 정의되어 있는지)을 확인해야 함
  • 과거에는 2번 항목이 공백이면 패스워드 없이 로그인이 가능한 계정 처리했음
    • 이러한 계정의 보안 문제로 인해 최근에는 2번 항목이 비어있는 계정은 비활성화함
  • 7번 항목 역시 /bin/sh, /bin/csh, /bin/bash, /bin/ksh와 같은 정상 셸이 아니라 /bin/false와 같이 명시적으로 금지되어 있거나 비어 있다면 누군가에게 할당된 계정이 아니라는 의미가 됨

  • 그룹 항목은 /etc/group 파일에서 확인 가능

  • 유닉스에서도 root를 제외한 그룹은 윈도우와 유사하게 모두 임의로 생성되며, 고유의 권한이 없음

  • 계정이 보안상 문제가 되는 경우는 '계정을 가지고 있을 필요가 없는 사람이 가진 경우'뿐
  • 따라서 계정 생성과 삭제 시에 들어갈 적절한 승인 절차가 마련되어야 함
  • 추가적으로 불필요하게 관리자 권한 등이 부여되는지 주기적으로 확인해야 함

데이터베이스 계정 관리

  • 데이터베이스에도 계정이 존재
  • 데이터베이스의 종류에 따라 데이터베이스의 계정이 별도로 존재하는 경우도 있음
  • 운영체제 계정이 데이터베이스의 계정인 경우도 있음
  • 데이터베이스 계정이 운영체제와 별도로 존재할 때도 데이터베이스 계정에 관한 많은 사항이 운영체제의 관리자 권한에 의해 노출되거나 통제되는 경우가 있음
  • 따라서 운영체제 계정을 제대로 관리하지 않을 경우, 데이터베이스 계정 관리는 아무 소용이 없음

  • 운영체제와 마찬가지로 데이터베이스 계정도 관리자 계정과 일반 사용자 계정으로 나뉨
  • MSSQL의 관리자 계정은 SA(System Administrator)
  • 오라클의 관리자 계정은 sys, system
    • sys와 system은 둘 다 관리자 계정이지만 sys와 달리 system은 데이터베이스를 생성할 수 없음

응용 프로그램 계정 관리

  • FTP나 웹 서비스 같은 응용 프로그램 역시 고유의 계정을 지니기도 하고 계정을 공유하기도 함
  • 이러한 차이는 응용 프로그램의 설정이나 목적에 따라 달라짐
  • 운영체제와 응용 프로그램의 계정이 다르면 응용 프로그램의 계정을 소홀히 하는 경우가 있는데, 이는 보안상 큰 위협이 될 수도 있음
  • 취약한 응용 프로그램을 통해 공격자가 운영체제에 접근하여 민감한 정보를 습득한 뒤 운영체제를 공격하는 데 이용할 수 있기 때문
  • TFTP(Trivial File Transfer Protocol)와 같은 별도의 계정이 존재하지 않는, 인증이 필요하지 않은 응용 프로그램이면 더욱 주의가 필요
    • TFTP, FTP와 유사한 파일 전송 프로토콜이지만 단순한 방식으로 전송
      • 전송 과정에서 데이터 손실이 발생할 수 있음
      • 인증과 암호화 메커니즘을 지원하지 않으므로 보안 위험 발생 가능성 높음
      • 인터넷에 연결된 시스템에는 TFTP 클라이언트를 설치하지 않는 것이 좋음

네트워크 장비의 계정 관리

  • 네트워크 장비는 보통 패스워드만 알면 접근 가능
  • 시스코 장비의 계정은 네트워크 장비의 상태만 확인할 수 있는 사용자 모드와 네트워크에 대한 설정 변경이 가능한 관리자 모드로 나뉨
  • 패스워드를 처음 입력하면 사용자 모드로 로그인됨
  • 사용자 모드에서 관리자 모드로 로그인하려면 다시 별도의 패스워드를 입력해야 함

  • 네트워크 장비에서 계정을 생성할 수 없는 것은 아님
  • 네트워크 장비에서도 계정을 생성하여 각 계정으로 사용할 수 있는 명령어 집합을 제한할 수 있음
  • 대규모 네트워크에는 계정 관리의 어려움 때문에 통합된 계정 관리를 위해 TACCACS+와 같은 솔루션을 적용하기도 함

0개의 댓글