서버 보안 대책

계정과 패스워드 보호

  • 계정 관리
    • 사용자별 또는 그룹별 접근권한 부여
    • 루트(root) 권한에 대한 사용자 제한
    • 불필요한 사용자 계정 삭제
    • guest, anonymous 등 특정 공개용 계정 사용
    • 새로운 사용자 추가 시 일관성 있는 정책 유지
    • 잘못된 비밀번호가 일정 횟수 시도된 계정은 잠그기

  • 패스워드 관리
    • 유추 가능한 단어를 패스워드로 사용하지 않기
    • 문자, 숫자, 특수문자를 조합하여 사용
    • 패스워드 길이, 사용기간 등의 정책 강화
    • 패스워드 파일을 해시함수로 일방향 암호화하여 보관
    • 섀도(shadow) 패스워드 시스템 사용

시스템 접근 제어

  • 접근 제어 정책
    1. 임의적 접근 제어(DAC)
    2. 강제적 접근 제어(MAC)
    3. 역할 기반 접근 제어(RBAC)

  1. 임의적 접근 제어(DAC)
    • Discretionary Access Control
    • 관리자 혹은 자원 소유자가 보안 관리자의 개입 없이 자율적 판단에 따라 보유하고 있는 자원의 접근 권한을 다른 사용자에게 부여
    • 자원의 공동 활용이 더 중요시되는 환경에 적합
    • 자원의 유출 가능성 내포
    • 접근 제어 목록(ACL : Access Control List) 유지
      • 자원별로 어떤 사용자가 어떤 접근권한을 갖는지에 대한 정보 관리

  2. 강제적 접근 제어(MAC)
    • Mandatory Access Control
    • 각 객체에 비밀 등급을 각 사용자에 허가 등급을 부여
    • 사용자가 객체에 접근할 때마다 사전에 규정된 규칙에 근거하여 접근 권한 부여
    • 규칙의 적용은 모든 사용자 및 객체에 대해 일정함
    • 객체의 소유자에 의해 접근제어 관계가 변경되지 않음
    • 정보의 기밀성이 매우 중요시되는 환경에 적합

  3. 역할 기반 접근 제어(RBAC)
    • Role- Based Access Control
    • 권한은 역할과 관련 있음
    • 사용자는 역할의 멤버가 됨으로써 권한일 배정 받음
    • ex) 운영자 역할 = 모든 자원에 접근 가능, 접근 권한 변경 불가

  • 최소 권한
    • Least Privilege
    • 사용자와 객체에 꼭 필요한 최소한의 권한만 부여
    • 보안에 대한 취약 요소를 줄이기 위함
    • ex) 스크립트나 바이너리
      • 주로 루트 계정만 사용하므로 기타 계정에는 권한 제거
    • ex) 리눅스의 apache 계정
      • 웹 서버만 실행하므로 다른 실행권한 제거, 원격 로그인 필요 없으므로 셸 사용권한 제거

  • UNIX 계열의 접근 제어
    • 명령어 chmod
      • 파일과 디렉터리에 대한 접근권한 변경
    • 명령어 chown
      • 파일과 디렉터리에 대한 소유자 및 소유 그룹 변경

파일 시스템 보호

  • UNIX 계열
    • 접근 및 변경 권한을 루트로 설정
    • 불필요한 파일에 설정된 SetUID, SetGID 비트 제거
    • umask 설정

  • 윈도우
    • 보안 기능이 강화된 NTFS 파일 시스템 사용 권장
    • administrator 계정의 사용 권한 관리

  • 파일 시스템 보호 정책
    • 파일 시스템 백업 및 복구
    • 파일 시스템의 무결성 검사

시스템 파일 설정과 관리

  • UNIX 계열
    • mount 테이블을 이용한 파일 시스템 관리
    • TCP-wrapper, xinetd 활용하여 호스트 접근제어 관리
    • telnet, rcp 대신 ssh, scp 사용 등

  • 윈도우
    • NTFS에 대한 사용권한 설정
    • 레지스트리 원격 엑세스 권한 제어 및 백업

운영체제의 취약점 관리

  • 작업 용도에 따른 시스템 파티션 분리
    • 루트 영역과 사용자 파일 시스템 분리
  • 불필요한 서비스 중지 및 프로그램 제거
  • 패치 관리

시스템 로그 설정과 관리

  • UNIX 계열
    • syslog 통해 시스템 로그 설정

  • 윈도우
    • 이벤트 뷰어 통해 시스템 로그, 응용 프로그램 로그, 보안 로그 등 관리

  • 로그 파일 분석
    • 비정상적인 시간대의 접근, 실패한 로그인, 의심스러운 su 명령 등 확인

서버 관리자의 의무 등

  • 시스템의 시작과 정료, 재시작 상황 이해
  • 패스워드 파일 등 사용자 계정 관리 방법 이해
  • 프로세스, 메모리, 디스크 등 자원 관리 방법 이해
  • 네트워크 연결관리 및 상태관리 방법 이해

Updated: