본문 바로가기

ETC

정보보안기사 실기-1 (로그 관리, 시스템보안)

  1.  로그 관리 (로그 유형, 로그 설정 방법)
    • 유닉스(리눅스) 로그 관리 개요
      • 리눅스에서는 시스템로그, 보안로그, 메일로그, 부팅로그 등 시스템의 다양한 로그들을 생성/저장하기 위해서 syslogd 프로세스를 실행하며, 기본적으로 로그 파일은 종류별로 /var/log 디렉토리의 아래에 생성된다. 또한 보안을 위해 파일들의 저장위치나 저장 파일명을 변경할 경우에는 /etc/syslog.conf 파일을 수정한다.
    • 유닉스 로그 종류
      • utmp: 현재 시스템에 로그인한 사용자 상태 출력 (w, who, users, finger)
        • w는 사용자계정, 접속터미널타입, 접속한 클라이언트 ip, 로그인시각, idle 시간, 수행중인 프로세스 이름 확인
          • 접속 터미널타입 (tty: 콘솔에서 직접 접속, pts: 원격 접속)
        • who는 제한된 정보만 확인 가능(사용자 계정, 접속터미널 타입, 로그인시각, 클라이언트 ip)
      • wtmp: 사용자의 로그인, 로그아웃, 시스템 재부팅 정보 출력 (Last)
      • btmp: 5번 이상 로그인 실패시 로그인 실패 정보 기록 (Lastb, loginlog)
        • 다만, 리눅스의 경우는 실패할때 마다 기록
      • pacct: 시스템에 로그인한 모든 사용자가 시간대별로 수행한 프로그램(명령어)에 대한 정보 기록 (Acctcom, lastcomm)
      • su(Switch User): 권한 변경(성공, 실패 여부) 로그 (/var/adm/sulog)
      • history: 명령어 수행 기록 (history)
      • lastlog: 각 사용자의 최근 로그인 시각, 접근한 소스 호스트 정보 기록 (lastlog)
        • lastlog -u {사용자명} : 가장 최근 사용자가 로그인한 기록
        • last {사용자명}: wtmp 파일에 저장된 사용자가 로그인한 기록
        • last reboot: wtmp 파일에 저장된 정보 중 시스템 재부팅 기록
        • lastb: btmp 파일에 저장된 로그인 실패 기록
      • xferlog: ftp 서비스를 이용하여 파일 업/다운로드 이력 기록(일시, ip, 파일명) (/var/log/Xferlog)
      • secure: 사용자 원격로그인 정보 기록 (/var/log/secure)
      • 리눅스 시스템에서 텔넷을 통해 접속한 사용자의 계정과 PID, 접속 시간, 로그인한 터미널 등을 분석하고자 한다. 이 때 꼭 살펴봐야할 로그 파일 2개 절대 경로
        • /var/log/secure
        • /var/log/messages
    • syslog 포맷
      •  facility(서비스종류).priority(우선순위)      action(logfile 위치)
      • 서비스 종류
        • *: 모든 서비스에 의하여 발생되는 메시지
        • Auth: 로그인 및 su 처럼 사용자 인증에 관련된 메시지
        • Authpriv: 선택된 사용자만 읽을 수 있는 파일에 로그를 남김(그 외 auth와 동일)
        • Console: 콘솔에 일방적으로 나타나는 메시지
        • Cron: 시스템 스케줄러에서 보내는 메시지
        • Daemon: 별도의 핸들러가 없는 모든 시스템 데몬의 로그
        • ftp: ftp 데몬의 전송을 로그로 남기도록 설정 가능
        • Kern: 커널 메시지
        • Lpr: 프린터 데몬인 lpd에 의해 발생되는 메시지
        • Mail: Sendmail, pop 등 메일 시스템에서 오는 메시지
        • News: lnnd와 같은 인터넷 뉴스 데몬에서 보내는 메시지
        • Ntp: Network Time Protocol이 보내는 메시지
        • Security: 각종 보안 시스템이 보내는 메시지
        • User: 사용자 프로그램에 대한 로깅
        • uucp: Unix to Unix Copy 프로토콜이 보내는 로그
      • 우선순위 종류
        • 0.none: 어떤 메시지도 남기지 않음
        • 1.Emerg: 시스템이 비정상적인 상태(멈췄거나 매우 불안정)로 매우 위험한 상황의 메시지
        • 2.Alert: 시스템을 계속 가동시킬 수는 있으나 즉각적인 조치가 필요한 상황의 메시지
        • 3.Crit: 급한 상황은 아니지만 치명적인 HW, SW 문제 발생 메시지(HDD bad 블록)
        • 4.Err: 고쳐야하지만 시스템을 망가뜨릴 정도는 아닌 수준의 에러로 인한 메시지
        • 5.Warning: 주위를 요하는 경고성 메시지
        • 6.Notice: 에러가 아닌 알림성 메시지
        • 7.Info: 단순한 정보성 메시지
        • 8.Debug: 프로그래머가 디버그 용도로 남기는 메시지(사용자 프라이버시 침해 정보 포함될 수 있음(
        • 9.*: 모든 상황의 메시지

 

 

  •  

 

  1. 시스템 보안
    • 시스템 시작/종료
      • Run Level: 시스템 운영상태 표시, init 프로세스 /etc/inittab 파일에 정의된 run level에 따라 /etc/rc.d/rc[run.level].d에 나열된 스크립트를 실행해 운영 상태 구성
      • init X 명령을 사용해서 Run Level 변경
        • Run Level 0: PROM mode(Programmable Read-Only Memory)
        • Run Level S,s: 시스템 싱글 유저 모드(로컬 File system 마운트 x)
        • Run Level 1: 시스템 싱글 유저 모드(로컬 File system 마운트o)
        • Run Level 2: 멀티 유저 모드(nfs 클라이언트 모드)
        • Run Level 3: 멀티 유저 모드(nfs 서버 모드, 유닉스 디폴트)
        • Run Level 4: 사용 x
        • Run Level 5: 시스템 power off 모드
        • Run Level 6: 시스템 리부팅
    • 사용자 관리
      • 계정 추가
        • Useradd 명령어 사용(root만 사용 가능)
        • /etc/passwd에 사용자 정보 추가됨
        • /etc/group에 그룹 정보 추가
        • 홈디렉토리, 쉘 설정
      • 계정 삭제
        • Userdel 명령어 사용(root만 사용 가능)
        • option: -r
          • 계정 + 홈 디렉터리 삭제
      • 그룹 추가
        • groupadd 명령어 사용
        • option: -g, gid
          • 명시한 gid로 그룹 생성
      • 그룹 삭제
        • groupdel 명령어 사용
    • 파일시스템 관리
      • mount
        • 보조기억장치에 설치된 파일시스템을 유닉스 시스템이 인식하도록 특정 디렉토리에 논리적으로 연결하는 것
        • mount src dest(src를 dest에 연결)
          • option -a: /etc/fstab 파일을 기반으로 mount
        • /etc/mtab에 마운트 정보 기록
      • umount
        • mount된 파일시스템의 연결을 해제함
        • 사용중이거나 사용자가 파일시스템에 있는 디렉토리에 있는 경우 메시지 출력과 함께 실패
        • /etc/mtab에 있는 마운트 정보 삭제
        • umount X (X에 연결된 파일시스템 연결 해제)
        • option
          • -a: 모든 파일시스템을 unmount함
          • -f: 해당 파일시스템을 사용하는 프로세스를 강제 종료하고 파일시스템을 umount
      • du
        • 하드디스크 사용량 확인 가능
        • option
          • -a: 하위 파일에 대한 정보도 보여줌
          • -s: 현재 디렉토리가 차지하는 총 용량만 출력
          • -k: kilobyte 단위로 출력
      • df
        • 파일시스템의 전체 공간, 사용 가능 공간을 확인하기 위해 사용하는 명령어
        • df [file/filesystem]
        • option
          • -k: 통계 데이터를 1024바이트 블록 단위로 출력
          • -i: 사용 가능한, 사용중인 i-node 정보를 출력
      • 프로세스 스케줄 관리
        • 정기적 스케줄 관리(cron)
          • cron 데몬 프로세스는 정기적인 작업을 지정시간에 처리하기 위해 사용
          • 필요 구성요소
            • crontab 파일: 작업목록
            • crontab 명령: crontab 파일 제어

'ETC' 카테고리의 다른 글

정보보안기사 실기 키워드  (0) 2021.05.09
리눅스마스터 1급 필기 정리  (0) 2021.01.31
[Python] Database 조작 간략히  (0) 2020.06.03