본문 바로가기

AI/정보보안

[정보보안] 시스템 보안

728x90
반응형

보안에서 시스템이란?

보안에서 시스템은 보안 공격자가 호시탐탐 침입하여 탈취할 기회를 노리는 대상 => 서버용 운영체제(Server Operation System)

 

계정 관리

서버 보안은 가장 먼저 계정(Account)을 안전하게 관리하는 것부터 시작됨.

  • 계정 : 시스템에 접근하는 것이 허가된 사용자인지를 검증하기 위한 정보(대부분의 계정은 ID, PW로 이루어짐)

 

관리자 계정(Administrator or Root)은 컴퓨터를 전체적으로 관리할 수 있는 권한을 가지고 있기 때문에 엄격하게 관리되어야함.

  •  관리자 계정으로 할 수 있는것 : 일반 사용자 계정 생성, 소프트웨어 설치, OS 환경 설정, 로그 제거 등

 

계정 관리 지침

  • 가능한 관리자 계정의 개수는 줄여라.
    • 서버 계정 관리와 관련해서 관리자 계정의 개수를 최소화해야 함.
    • 관리자 그룹에서 불필요하거나 의도치 않게 추가된 사용자 계정들을 제거해야 함.

 

  • 관리자 아이디를 변경하라.
    • 관리자 계정 아이디를 유추할 수 있는 이름(ex. Administrator)말고 다른 이름으로 변경해야 함.
    • 윈도우의 경우 관리자 계정의 경우 비밀번호를 여러번 입력해도 계정이 잠기지 않기 때문에 사전 공격, 무차별 공격 같은 공격 기법으로 계정을 탈취 당할 수 있기 때문.

 

 

암호 관리

암호는 "로그인할 때 사용되는 비밀번호"라는 뜻과 "평문을 다른 사람들이 해석할 수 없게 만드는 방법"을 뜻함.

 

비밀번호는 가장 기본적인 인증(Authentication) 방법으로, 남들이 쉽게 생각할 수 있는 단순한 단어로 설정 시 보안 공격자가 쉽게 알아낼 수 있음. (인터넷에 약 15억 개의 비밀번호를 저장해둔 사전이 돌아다니고 있음)

 

이러한 문제가 있어 비밀번호는 적절한 보안 강도를 가진 보안적으로 안전하게 만들어져야 함. 

 

비밀번호를 만들 때 좋지 않은 경우와 그 예시

  • 길이가 짧음(1~7글자) : 1
  • 사전에 나오는 단어나 이들의 조합 : apple
  • 키보드 자판의 일렬 나열 : 1234
  • 사용자 계정 정보로 유추 가능한 단어 : 아이디 user1, 비밀번호 : user1

 

보안 강도가 높은 안전한 비밀번호 예시

  • 길이가 김 : qkr04wl07djsqhrhtlvek
  • 복잡해야 함 : qhrhtlv03ekqkr18wl!djs@

 

일반적으로 비밀번호의 길이는 최소 8글자 이상 되도록 강력히 권장하며 8 ~ 10글자를 권장함.(너무 길면 외우기 어렵기 때문)

복잡함의 의미는 영어, 숫자, 특수문자 등을 조합해서 사용해야 한다는 뜻임.

 

대표적인 비밀번호 관리 정책

  • 비밀번호 파일은 섀도우(shadow) 파일로 보호하라.(유닉스, 리눅스)
    • 유닉스/리눅스에서는 기본적으로 모든 사용자의 비밀번호 정보는 /etc/passwd 파일에 저장되어 있음.
    • 비밀번호가 암호화 되어 있지 않기 때문에 비밀번호를 암호화한 정보를 별도의 파일(/etc/shadow)로 옮겨 놓고 이 파일은 root 사용자만 읽을 수 있게 권한 설정을 해야함.

 

  • 잘못된 비밀번호를 계속 입력 시 그 계정은 잠겨야 한다.
    • 무자별 공격을 방지하기 위해 잘못된 비밀번호를 사용한 로그인이 여러번 시도될 시 계정을 잠금 상태로 바꿔야함.

 

  • 비밀번호는 정기적으로 변경해주어야 한다.
    • 아무리 복잡한 비밀번호를 설정했다고 해도 공격자가 무차별 공격 또는 모든 추정 가능한 암호에 대해 시도할 시 결국 비밀번호를 찾아 낼 수 있음.
    • 보통 최대 암호 사용 기간은 90일로 권장.

 

 

 

서비스 관리

계정 관리에 이어서 관리해야하는 부분은 서비스 관리임.

 

운영체제와 함께 기본적으로 설치되는 서비스들에 대해서 취해야하는 조취

 

1. 공유 폴더에 대한 익명 사용자의 접근을 막아라.

  • 일반 기업이나 공공기관에서 파일을 공유하는 파일 서버로 윈도우 서버를 사용함.
  • 이러한 공유 파일 서버는 네트워크를 통해 접속하여 접근할 수 있음.
  • 인가(Authorization)되지 않은 사용자가 네트워크를 통하여 중요한 문서에 접근할 수 있다면 심각한 보안문제 발생.
  • 폴더나 문서에 대하여 공유 설정을 설정하여 인가되지 않은 사용자는 접근하지 못하게 해야함.

 

2. 하드디스크의 기본 공유 폴더를 제거하라.

  • 윈도우 OS는 관리자가 추가하지 않아도 OS 설치 시 자동으로 생성되는 공유 폴더가 있는데 이를 기본 공유 폴더라고 함.
  • 이러한 기본 공유 폴더의 목적은 네트워크 등을 통해 컴퓨터 환경에서 원격으로 관리하기 위함.
  • 기본 공유 폴더를 통해 인가 받지 않은 사용자가 하드디스크 내 모든 모든 폴더나 파일에 접근할 수 있음.
  • 기본 공유 폴더는 제거되어야 함.

 

3. 불필요한 서비스를 제거하라.

  • 서버에 설치 된 불필요한 서비스들을 통해 공격자들이 공격을 할 수 있음.
  • 유닉스/리눅스 : 이메일 서비스 관리 
    • sendmail 서비스는 취약점이 널리 알려져 있기 때문에 이메일 서비스가 필요 없다면 비활성화 시켜야함. 

 

  • 유닉스/리눅스 : 파일 시스템 관리
    • 소유자가 없는 파일이 있어서는 안 된다. - 소유자가 없는 파일은 보안적으로 문제 발생 가능성이 높기 때문에 제거 또는 다른 소유자로 변경해야함.
    • 중요 시스템 파일의 권한 설정을 확인하라. - shadow 파일 같은 중요파일은 인가된 사용자만 사용가능하도록 엄격하게 관리되어야 함.

 

4. FTP 서비스를 가능한 사용하지 않거나 접근 제어를 엄격하게 해야 한다.

  • FTP 서비스를 꼭 사용해야 하는 것이 아니라면 사용하지 않는 것이 보안적으로 권장됨.
  • 꼭 사용해야 하는 경우 여러 FTP 관련 보안 지침들을 적용해야 함.
  • FTP 운영 관련 보안 기본 사항
    • FTP 서비스 대상이 되는 파일 시스템의 접근 권한 설정 : FTP 루트 폴더에 대한 접근 권한을 설정해야 함.
    • 익명 인증(Anonymous FTP) 금지 : FTP 서비스는 기본적으로 익명으로 연결 가능한데 이를 막아함.
    • FTP 접근 제어설정 : 접속 가능한 IP 주소 대역을 설정해야 함.

 

 

패치 관리

보안은 보안 정책 수립, 훈련, 실행/통제를 통해 지속적으로 관리해야함.(보안은 과정이며 언제나 진행형이 되어야 함)

 

윈도우 운영체제의 패치

  • 서버의 보안 관리를 아무리 잘해도 OS 자체의 새로운 취약점은 항상 발견되고 이러한 취약점은 보안 문제로 이어짐.
  • 운영체제 제작사는 취약점을 해결 또는 보완하기 위해 새로운 패치(patch)를 만들고 신속하게 서버에 적용해야함.
  • MS는 이러한 패치를 핫픽스(hot-fix), 서비스 팩(service pack) 프로그램을 통해 제공함.

 

이러한 보안 패치를 위한 핫픽스를 설치할 경우 OS를 재시작 해야만 적용가능한 경우가 있고 기존에 잘 작동되던 응용 프로그램이 오류가 나기도 함.

그러므로 보안 관리자는 핫픽스 설치를 업무에 지장이 없는 시간대에 해야함. 그리고 핫픽스 적용전에 OS 제조사 및 관련된 일반 프로그램의 엔지니어에게 확인 작업을 거친 후 적용하는 것이 좋음.

 

백신 프로그램의 업데이트

  • 새로운 바이러스가 계속 만들어지기 때문에 단순히 백신 프로그램을 설치하는 것으로는 해결책이 될 수 없음.
  • 바이러스 정보에 대한 주기적인 업데이트를 통해 최신 바이러스까지도 치료할 수 있도록 해야함.
  • 보안 관리자는 백신 업데이트 주기를 설정하여 정기적으로 백신을 업데이트 해야함.

 

 

로그 관리

로그는 시스템의 모든 기록을 담고 있는 데이터이기 때문에 보안 관리자는 로그를 통해 서버에서 발생하는 다양한 보안 관련 사건 또는 이벤트를 로그를 통해 알 수 있음. (유닉스는 syslogd라는 API를 사용함)

로그는 성능, 오류, 경고 및 운영 정보 등의 중요 정보가 기록되며, 특별한 형태의 기준에 따라 숫자와 기호 등으로 이루어져 있음.

 

로그 분석 : 로그 데이터를 분석하여 필요로 하는 유용한 정보를 만들어내는 행위.

  • 외부로부터의 침입 감지 및 추적
  • 시스템 성능 관리 및 시스템의 장애 원인 분석
  • 시스템 취약점 분석
  • 침해 사고 시 근거 자료로 활용
  • 각종 법규 및 지침에서의 관리 의무화 항목

 

최대 로그 크기 = 평균 이벤트 소비 크기(byte) * 하루 평균 이벤트 개수 * 로그가 저장되는 기준 일(ex. 30일) 

 

로그는 저장해야 할 데이터 종류, 저장하는 파일의 저장 위치 및 보관 기간 등을 고려해야하고 주기적으로 백업되어야 함.

 

보안 관리자는 로그를 정기적으로 검토하고 이를 보고 해야함.

 

 

DBMS 보안

계정관리

  • 기본 패스워드와 권한을 변경하라.
  • 불필요한 계정을 삭제하라.
  • 불필요한 권한을 삭제하라.
  • 원격에서 DB서버 접속을 제한하라.

 

서비스관리

  • Public으로 설정되는 역할(Role)이 없도록 관리하라.

 

패치관리

  • 최신 DBMS를 다운로드 받아 패치 해줘야 함.

 

로그 관리

  • Audit 테이블에 대한 접근 권한 설정을 해줘야 함.
728x90
반응형

'AI > 정보보안' 카테고리의 다른 글