별이의 IT이야기/정보보안기사공부

[2 days] 정보보안기사(유닉스 시스템 로그 관리)

별이세상 2013. 1. 25. 01:14
반응형

안녕하세요. 꿈꾸는 별이입니다.

 

하루 하루 글을 적는다는것은 참으로 힘든것 같지만, 최선을 다해 글도 남기고 자격증 공부도 하려고 합니다.

 

유닉스 시스템 로그 관리란?

 

첫째, 유닉스 시스템 로그관리에서 가장 중요한 것은 명령어 를 습득 하는것 인것 같습니다.

 

 

 로그파일명

 설명

 acct/pacct

 사용자 별로 실행되는 모든 명령어를 기록

 .history

 사용자별 명령어를 기록하는 파일로 csh,tcsh,ksh,bash 등 사용자들이 사용하는 쉘에따라 .history, .bash_history 파일등으로 기록

 lastlog

 각 사용자의 최종 로그인 정보

 logging

 실패한 로그인 시도를 기록

 messages

 부트 메시지 등 시스템의 콘솔에서 출력된 결과를 기록하고 sysload에 의해 생성된 메시지도 기록

 sulog

 switch user(su 명령어) 관련기록

 syslog

 운영체제 및 응용 프로그램의 주요 동작내역

 utmp

 현재 로그인한 각 사용자의 기록

 wtmp

 사용자의 로그인, 로그아웃 시간과 시스템의 종료시간, 시스템 시작 시간등을 기록

 

둘째, 유닉스 시스템 백업 및 복구 보안

 

침입자에 의해 시스템의 데이터가 변조되거나 파괴되었을때, 가장 안전하고 정확한 복구 방법은 백업 및 복구대책이다.

 

(1) 백업대책

 

- 백업대상 분류 : 전체, 중요 파일, 로그파일 등 기준에 의하여 백업 대상을 지정하는것

- 백업 주기: 현재 수행하고 있는 백업의 주기는 일/주/월 단위 및 수시 백업으로 분류

- 백업종류: Full backup, Differntial Backup/incremental Backup, day zero Backup,Real Time Backup,

  Scheuled Backup 등이 있다.

 

(2) 복구대책

 

- 복구 우선순위: 본질적 업무 기능(30분 이내), 중요 업무기능(24시간 이내), 부가업무기능(48시간 이내)

  등으로 분류

- 목표 복구 수준: 특정 백업 시점, 전일 백업 시점의 데이터로 복구

  * 특정 백업 시점(I), 전일백업 시점(D)

- 목표 복구 시간: 30분이내, 3시간 이내, 24시간 이내, 48시간 이내로 분류

 

(3) 백업과 복구 유닉스 명령어

#ufsdump options : 백업

 

0-9 : 0:Full dump,1~9: incremental backup

u: /etc/dumpdates에 write, incremental backup 가능하도록 처리

f : device 장치명시, 디폴트는 tape

v : view

 

# ufsrestore : 복구

 

(4) 불필요한 서비스의 제거

 

시스템 운영에서 불필요한 서비스 제거를 위하여 다음절차를 수행한다.

-#netstat -an을 통하여 현재 사용, 준비하고 있는 서비스 포트를 확인한다.

 

 명령어의 실행결과에서 Listen 으로 응답하는 포트는 외부사용자가 접속할수 있는 경로를 제공하는 서비스 포트로서, 현재 사용중임을 의미한다. 따라서 반드시 사용유무를 확인하여 제거해야한다.

 

- "#netstat -an"의 처리결과 Listen 상태인 서비스 포트의 내용을 /etc/services 파일의 내용과 비교하여 서비스 포트의 내용을 참조한다. 그리고 /etc/inetd.conf 파일에서 해당서비스 항목의 첫 라인에 주석처리한다

(#을 해당라인에 삽입)

 

- "ps -ef | grep inetd"의 명령어를 사용하여 현재 사용중인 서비스 포트들을 총괄적으로 관리하는 인터넷

슈퍼데몬의 프로세스 ID 를 확인한다.

 

- "kill -HUP 318(inetd's process ID)" 인터넷 슈퍼 데몬을 재수행하여 /etc/inetd.conf 파일에서 사용을 금지하도록 설정한 서비스 포트의 상태를 재인식하도록 명령함.

 

- "#netstat -an" 명령어를 사용하여 해당 서비스 포트에 대한 결과 값이 나타나지 않았다면 조치가 완료됨

 

셋째, 유닉스 배치 작업(at, cron)

(1) at설정

 

# at 1045

  10시 45분 특정한 job(shell_script_file)을 수행하도록 처리함

# var/spool/cron/crontabs 파일을 수정하여 주기적으로 job을 수행하도록 한다.

[참고] 명령어는 Full path 를 지정해야한다.

 

(2) cron 설정

crontab 파일 구문(syntax)은 "minute hour day_of_month month weekday command" 이다.

 

o crontab 파일 구문- minute(분) : 0 ~ 59 - hour(시) : 0 ~ 23 - day_of_month (일) : 1 ~ 31
- month(월) : 1 ~ 12 - weekday(요일) : 일요일부터 토요일까지를 나타내는 0 ~ 6
- command(명령) : 실행 명령
예를 들어, “0 0 * * 0 /bin/myjob.sh” 은 매월 일요일 0시 0분에 /bin/myjob.sh 명령어를 실행하라는
뜻이다.

 

오늘은 여기까지 하고 다음에 더 상세히 추가 보완 할것이다.