외로운 Nova의 작업실

정보보안기사 필기 - 16(서버 보안 관리) 본문

Certification/정보보안기사

정보보안기사 필기 - 16(서버 보안 관리)

Nova_ 2022. 11. 22. 15:21

- 서버 관리자의 업무

<시스템 관리자 계정으로 작업하기>

직접 root 계정으로 로그인하는 방식은 시스템에 침입하려는 악의적인 해커들의 타깃으로 위험하다 따라서 root로 직접 로그인 하는 것은 막아 놓고 일반 사용자로 로그인한 후 su(switch user) 명령어를 사용해 관리자 계정으로 변경하는 것이 좋습니다.

 

<사용자 계정관리>

  • 원격 접근권한 제거 : /etc/password 파일에서 /bin/bash와 같은 로그인 셸 삭제해야합니다
  • 계정 사용기간 설정 : /etc/shadow 파일에서 사용기간 또는 만료일 설정해야합니다.

 

<자원 관리>

  • 프로세스 관리 : ps, killl, sait, su 등을 이용한 프로세스 관리합니다.
  • 메모리 관리 : free 명령어(메모리 사용현황 확인)로 메모리 관리합니다.
  • 메일, 디스크 관리 : du(디스크 파일 사용량 확인) 명령어로 디스크 관리합니다.

 

<네트워크 관리>

  • ifconfig : 통신 디바이스 상태를 보여줍니다.
  • netstat -an : 현 시스템에 사용되는 통신 서비스의 상태를 보여줍니다.
  • top : 시스템 자원등의 사용현황을 보여줍니다.
  • ps -elf(-aux) : 현 시스템에서 수행중인 프로그램과 데몬 상태를 보여줍니다.
  • who, w : 로그인 되어있는 사용자를 보여줍니다.
  • snoop : 네트워크를 흐르는 패킷을 캡처하여 분석합니다.
  • nslookup : 도메인에대한 ip정보 및 여러 검색이 가능합니다.
  • hostname : 현 시스템에 할당된 호스트 이름을 보여줍니다.
  • traceroute : 특정 호스트까지의 네트워크 라우팅 경로 및 경유하는 ip를 보여줍니다.
  • inetd : 네트워크 슈퍼데몬인 inetd를 실행합니다.

 

 

- 시스템 로그 분석

윈도우는 이벤트라는 중앙 집중화된 로그를 수집하여 저장하여 관리가 편합니다. 하지만 공격자가 한 로그만 삭제하면 되므로 위험하고 보안 수준역시 낮은 편입니다. 유닉스는 윈도우와 반대로 여러곳에서 산발적으로 로그가 발생하고 저장됩니다. 여러곳에 저장된 로그는 초바자의경우 찾는 것조차 쉽지않아 공격자도 로그를 찾아 지우기가 쉽지 않습니다.

 

<윈도우 시스템 이벤트 로그 종류>

  • 윈도우 시스템은 응용 프로그램 로그, 보안 로그, 시스템 로그와 같은 세가지 로그를 이벤트에 기록합니다. os 구성에따라서 디렉터리 서비스 로그, 파일 복제 서비스로그, DNS 서버 로그가 추가될 수 있습니다.
  • 응용 프로그램 로그 : 응용프로그램이 기록한 다양한 이벤트가 저장되며 기록되는 이벤트는 소프트웨어 개발자에 의해 결정됩니다. AppEvent.Evt 파일에 저장됩니다.
  • 보안 로그 : 로그인 시도 및 파일 생성, 열람, 삭제 등의 리소스 사용에 관련된 이벤트를 기록합니다. secEvent.Evt파일에 저장됩니다.
  • 시스템 로그 : window 시스템 구성요소거 기록하는 이벤트로 구성요소의 오류를 이벤트에 기록합니다. SysEvent.Evt 파일에 저장합니다.
  • 디렉터리 서비스 로그 : windows active directory 서비스에서 발생하는 이벤트를 기록합니다.
  • 파일 복제 서비스 로그 : windows 파일복제 서비스에서 발생하는 이벤트를 기록합니다.
  • DNS 서버로그 : Winbdows DNS 서비스에서 발생하는 이벤트를 기록합니다.

<윈도우 감사 정책>

감사 정책이란 어떤 로그를 남길지 정의한 규칙을 말합니다. 감사 정책에 의해 지정된 이벤트 범주에대해서 로그가 남게됩니다. 아래는 윈도우 감사 정책의 종류입니다.

  • 개체 액세스 감사 : 특정 파일이나 디렉터리, 레지스트리 키, 프린터 등과 같은 객체에 대하여 접근을 시도하거나 속성 변경등을 탐지합니다. 감사를 안하는 것을 추천합니다.
  • 계정 관리 감사 : 도메인 계정에대해 신규 사용자, 그룹의 추가, 사용자 그룹의 변경, 패스워드 변경등을 감사합니다. 실패시 기록되게 하는 것을 추천합니다.
  • 계정 로그인 이벤트 감사 : 로컬 계정의 로그인에대한 사항을 계정 관리 검사 처럼 감사합니다. 성공과  실패시 기록되게 하는 것을 추천합니다.
  • 권한 사용 감사 : 권한 설정 변경이나 관리자 권한이 필요한 작업을 수행할때 감사합니다. 실패시 기록되게 하는 것을 추천합니다.
  • 로그인 이벤트 감사 : 로컬 계정의 접근시 생성되는 이벤트를 감사합니다. 다계정 로그인 이벤트감사에 비해 다양한 종류의 이벤트를 확인 할 수 있습니다. 성공과 실패시 기록되게 하는 것을 추천합니다.
  • 디렉터리 서비스 액세스 검사 : 시스템 액세스 제어 목록(SACL)이 지정되어있는 액티브 디렉터리 객체에 접근하는 사용자에대한 감사 로그를 제공합니다. 실패시 기록되게 하는 것을 추천합니다.
  • 정책 변경 감사 : 사용자 권한 할당 정책 , 신뢰 정책의 변경과 관련된 사항을 감사합니다. 성공과 실패시 기록되게 하는 것을 추천합니다.
  • 프로세스 추적 감사 : 프로세스를 시작하거나 중지할때 해당 이벤트가 발생합니다.
  • 시스템 이벤트 감사 : 시스템의 시동과 종료 보안 로그 삭제등 시스템의 주요한 사항에대한 이벤트를 남깁니다.

<윈도우 로그 정책 설정 및 파일>

윈도우의 로그 정책 설정은 로컬 보안 정책 - 감사 정책에서 설정할 수 있습니다. 윈도우의 경우에는 로깅하는데 시스템 자원이 많이 소모되므로 모든 정보를 로깅하도록 설정하는 것은 바람직하지 않습니다.

이벤트 로그 파일은 %Windows%\system32\config 폴더 아래에 있는 .evt 확장자를 가진 파일이며 바이너리 형식이기때문에 제어판-관리도구-이벤트 뷰어를 통해 로깅 정보를 확인 할 수 있습니다.

  • 응용 프로그램 로그 :  AppEvent.Evt 파일에 저장됩니다.
  • 보안 로그 :  secEvent.Evt파일에 저장됩니다.
  • 시스템 로그 : SysEvent.Evt 파일에 저장합니다.

 

- 유닉스/리눅스 로그 분석과 설정

유닉스에는 로그를 집중적으로 관리하는 syslog 데몬이 있지만 각 데몬이 로그를 별도로 남기는 경우가 많습니다. 다양한 로그를 바탕으로 해커를 추적할 수 있습니다. 시스템마다 로그가 저장되는 경로가 다르고 두개 이상의 경로에 로그가 나누어서 저장되기도 합니다. 아래는 로그들에대한 설명입니다.

  • /var/log/utmp(x) 로그 :유닉스의 가장 기본적인 현재 시스템에 로그인한 사용자의 상태를 utmp 데몬이 로그로 남깁니다. utmp 로그는 utmp.h에서 정의된 구조체로 데이터가 저장되며 바이너리 형태로서 파일을 직접열어보지 않고 명령어를 통해 로그를 확인합니다. 명령어는 w, who, users, whodo, finger등이 있습니다.
  • /var/log/wtmp(x) 로그 : utmp.h 파일의 구조체를 그대로 사용하며 사용자의 로그인, 로그아웃, 시스템 재부팅 정보들이 로그에 있습니다. 바이너리 형태로 last 명령어를 통해 로그를 확인할 수 있습니다.
  • /var/adm/sulog(unix/sunos) : 권한 변경에대한 로그로 /var/adm/sulog 파일에 텍스트 형식으로 남습니다. 권한은 600으로 관리자만이 해당 파일을 열어 확인할 수 있습니다. 출력형식은 아래와 같습니다. 만약 권한 변경 실패를 여러번 한다면 여러개의 [-]로 저장되어 패스워드 추측 공격을 수행한 계정을 추적할 수 있습니다.
  • [날짜] [시간] [+(성공) -(실패)] [터미널종류] [권한 변경 전 계정 - 권한 변경 후 계정]
  • acct/pacct 로그 : pacct(process account) 로그는 사용자가 수행한 프로그램에 대한 정보를 저장하는 로그입니다. 사용자가 사용한 터미널의 종류와 시간, 명령어등을 로깅합니다. 다만 시스템 자원을 비교적 많이 소모하여 해커를 추적하려는 목적으로 쓰징낳고 각 사용자에대한 요금을 부과하기위해 사용됩니다. /usr/adm/pacct 로그파일은 바이너리 형태로 저장되며 acctcom, lastcomm 명령을 통해 로그를 확인할 수 있습니다.
  • .sh_history 또는 . bash_history : 유닉스에서는 실행한 명령에대한 기록이 [셸의 종류]_history 형식으로 각 계정의 홈 디렉터리에 저장됩니다. hisotry 명령을 내리면 실행한 명령어들의 로그를 확인할 수 있습니다. 텍스트 형태로 저장되며 cat이나 more 명령으로 확인이 가능하며 권한은 600으로 파일 소유자가 읽을 수 있습니다.
  • /var/adm/loginlog(unix/sunos) : 5회 이상 로그인에 실패한 로그를 남깁니다. /var/adm/loginlog에서 확인 가능하며 텍스트 파일로 되어있어 vi등의 편집기를 통해 확인할 수 있습니다.
  • /var/log/btmp(Linux) : 로그인에 실패한 모든 로그를 남깁니다. /var/log/btmp에 바이너리 형태로 되어있어 lastb 명령어로 로그를 확인 할 수 있습니다.
  • /var/log/lastlog, /var/adm/lastlog : 가장 최근에 성공한 로그인 기록을 담고 있는로그 파일입니다. 바이너리 형태로 저장되어 있어 lastlog(linux), finger(unix/sunos/linux) 명령어를 사용하여 로그를 확인합니다.
  • HTTPD 로그 : 웹 서비스에대한 로그는 /usr/local/apache/logs 디렉터리에 Access_log, Error_log 등과 같은 로그파일로 남습니다.
  • xferlog(FTP 파일 전송 로그) : FTP 로그 파일로서 proftpd 또는 vsftpd 데몬들의 서비스 내역을 기록하는 파일입니다. 공격자가 FTP 서비스를 이용해  어떤 파일을 복사하고 파일을 전송한 날짜와 시간 접근 시스템의 IP 전송한 파일을 확인할 수 있습니다.  /var/log/xferlog에서 확인이 가능합니다. 아래는 로그의 예시이며 그에대한 설명입니다.
Thu Feb 3 18:43:46 2011 1 192.168.1.1 861486 /tmp/12-67-ftp1.bmp b - o r nova ftp 0 * c 861486 0
  • 861486 : 파일의 크기입니다.
  • /tmp/12-67-ftp1.bmp : 전송된 파일의 이름
  • b : 전송방법으로 b는 바이너리 a는 아스키 코드로 전송한 것을 뜻합니다.
  • - : 특수 동작으로 C면 파일의 압축, U면 파일의 압축해제, T면 파일이 묶이는 것을 뜻합니다.
  • o : 방향으로 o는 클라이언트가 서버에게 파일을 복사한 경우 i면 클라이언트가 서버의 파일을 복사한 경우를 뜻합니다.
  • r nova : 접근 계정으로 a면 익명 계정, g면 게스트 계정, r이면 r [사용자계정]인 인증된 사용자를 뜻합니다.
  • ftp : 서비스이름입니다.
  • 0 : 인증서버 사용여부로 0은 인증서버가 없는경우 1은 RFC 931을 이용한 인증을 수행합니다.
  • * : 인증 사용자 ID로 *는 인증된 사용자 ID를 사용할 수 없다는 의미입니다.
  • c : 파일 전송 성공 여부로 c는 성고 i는 실패 또는 오류를 의미합니다.

- 유닉스/리눅스 시스템 로그 설정

보통 유닉스에서는 syslog라는 오래된 표준 인터페이스에 의해 로그를 생성하고 관리합니다. syslogd 데몬은 운영체제의해 자동으로 시작됩니다. 시작 시에 /etc/syslog.conf 파일을 읽어서 어떤 로그를 어디에 남길지 결정하게됩니다. 아래는 syslog.conf 파일의 포맷에 대한 설명입니다. 어떤 서비스(facility)에서 로그 레벨(priority)에 맞는 오류가 발생하면 location 로그파일에 저장한다는 의미입니다.

facility.priority			action(location)

<facility(서비스 이름, 메시지이름) 종류>

  • * : 모든 서비스를 의미합니다.
  • console : 콘솔을 의미합니다.
  • ftp : ftp 입니다.
  • kern : 커널입니다.
  • ntp : network time protocol 서비스 입니다.
  • uucp : unix-to-unix 프로토콜 서비스입니다.
  • mark : 실제 로그가 이난 로그에 20분마다 단순히 통보하는 서비스입니다.
  • user : 사용자 프로그램 서비스입니다.
  • syslog : 로그 시스템 서비스입니다.
  • security : 각종 보안 시스템 서비스입니다.

 

<priority(메시지 우선순위, 로그 level) 종류> - 위는 레벨이 높고 아래로 갈수록 레벨이 낮아집니다.

  • emergency(emerg) : 시스템이 멈추고 전체 공지가 필요한 상황입니다.
  • alert(alert) : 시스템 가동가능 하지만 즉각 조치해야합니다.
  • critical(crit) : 치명적오류 조치가 필요합니다.
  • error(err) : 고쳐야하지만 시스템을 망가뜨릴 정도는 아닙니다.
  • warning(warning) : 경고 메시지입니다.
  • notice(notice) : 관리자의 조치가 필요한 상황입니다.
  • information(info) 일반적인 시스템 정보입니다.
  • debug(debug) : 보통 프로그래머가 사용합니다. 

 

<action 종류>

  • 로그파일 : 파일 경로 지정
  • 콘솔 : /dev/console로 지정시 콘솔로 출력합니다.
  • 원격 로그 서버 : @192.168.197.133와 같이 쓰면 지정한 호스트에게 보냅니다.
  • user: 사용자의 스크린으로 메시지를 보냅니다.
  • * : 모든 사용자의 스크린으로 메시지를 보냅니다.

 

<예시>

  • #Kern.*   /dev/console : 커널 서비스의 모든 로그를 콘솔로 뿌려주라는 의미로 #은 주석처리로 없앤다음 syslogd 데몬을 재시작하면 됩니다.
  • *info;mail.none    /var/log/messages : 모든 서비스의 info 수준 이상의 로그를 messages에 로깅하고 mail서비스에대한 로그는 기록하지 말라는 의미입니다. ;는 or을 의미합니다.

 

- 로그 순환

여러 로그 파일들을 순환하며 압축, 메일 발송을 해주는 리눅스 시스템 로그 파일 관리기가 있는데 이를 logrotate라고 합니다. /usr/sbin/logrotate 프로그램으로 실행하며 /etc/logrotate.conf 파일을 통해 설정이 가능합니다. /var/lib/logrotate.status 파일에 logrotate가 작업한 내용을 로깅합니다.

 

- ISS 웹 서버 로그

윈도우의 IIS(internet information services) 웹서버에서 로그는 기본 W3C 형식으로 남도록 설정되어있습니다.  먼저 제어판->프로그램_>window 기능 사용/사용안함->인터넷 정보서비스 체크 를 하여 인터넷 정보 서비스(IIS)를 켠 후에 제어판->시스템->관리도구->IIS 관리자에서 로그 파일의 경로를 확인할 수 있습니다. 아래는 로그파일의 필드의 일부입니다.

  • cs-uri-steam : www.xxx.com/bs/bs.asp?id=23 를  /bs/bs.asp를 의미합니다. 
  • cs-uri-query : www.xxx.com/bs/bs.asp?id=123 에서 id=123을 의미합니다.

 

<로그 예제>

2019-06-03 09:53:12 195.168.137.128 GET /XSS/GetCookie.sap?cookie=ASPSESSIONIDQQCAQDDA
	80 - 192.168.137.1 Mozila/5.0+(cimpatible;+MEIE+9.0+windows_NT_6.1;) 200 0 0 225
  • 2019-06-03 09:53:12 : 날짜와 시간입니다.
  • 195.168.137.128  : 서버 IP입니다.
  • GET /XSS/GetCookie.sap?cookie=ASPSESSIONIDQQCAQDDA : HTTP 접근 방법과 접근 URL입니다.
    80 : 서버 포트입니다.
  • 192.168.137.1  : 클라이언트 IP입니다.
  • Mozila/5.0+(compatible;+MEIE+9.0+windows_NT_6.1;)  : 클라이언트의 웹 브라우저 입니다.
  • 200 : 실행 결과 코드입니다.
  • 0  : 서버에서 클라이언트로 전송한 데이터의 크기입니다.
  • 0  : 클라이언트에서 서버로 전송한 데이터의 크기입니다.
  • 225 : 처리 소요 시간입니다.

 

- Apache 웹 서버 로그

리눅스에서 웹서버가 응답한 내용은 액세스 로그(Access log) 파일에 기록되고 웹서버에 오류가 발생했을경우에는 에러 로그(error log)파일에 기록됩니다. 아파치 웹 서버는 httpd.conf 파일에서 LogFormat을 확인할 수 있습니다. 아래는 LogFormat 형식의 종류입니다.

  • LogForamt "%h %l %u %t "%r" %>s %b" : 가장 일반적인 로그 기록입니다.
  • LogFormat "{Referer}i -> %U : 현재 아파치 서버에 접속하기 이전에 머물렀던 URL을 기록합니다.
  • LogFormat "%{User-agent}i" : 접속자의 웹 브라우저(os포함) 종류를 기록합니다.

<인자의 따른 내용>

  • %b : 헤더 정보를 제외하고 전송된 데이터의 크기
  • %h : 클라이언트의 도메인 또는 ip 주소
  • %l : inetd를 사용하고 있을때 클라이언트의 로그인 명(100% 신뢰불가)
  • %r : HTTP 접근 방법과 접근 URL
  • %s : HTTP 실행 결과 코드
  • %{Referer}i : 요청된 URL이 참조되거나 링크된 URL
  • %{User-Agent}i : 접속한 클라이언트의 OS 및 브라우저
  • %T : 웹서버가 요청하는데 소요된 시간
  • %u : 클라이언트 사용자(100% 신뢰불가)
  • %U : 요청된 URL 경로

<Access log 파일 예시>

192.168.137.1 - - [06/JUN/2015:05:48:28 +0900] "GET /HTTP/1.1" 403 4609 "-" 
	"Mozila/5.0 (compatible; MSIE 9.0; windows NT 6.1 WOW64; trident//5.0)"
  • 192.168.137.1(%h) : 클라이언트 IP
  • - (%l) : 클라이언트 로그인 명
  • - (%u) : 클라이언트 사용자 명
  • [06/JUN/2015:05:48:28 +0900](%t) : 날짜와 시간 
  • "GET /HTTP/1.1" (%r) : HTTP 접근 방법과 접근 URL
  • 403 (%s) : 실행결과 코드
  • 4609 (%b) : 서버에서 클라이언트로 전송한 데이터 크기
    "Mozila/5.0 (compatible; MSIE 9.0; windows NT 6.1 WOW64; trident//5.0)"(%i) : 클라이언트 웹브라우저

 

- 크래킹

해킹과 비교하여 악의적인 목적을 가지고 시스템에 침입하는 행위를 크래킹이라고 합니다.

 

<크래킹 s/w>

  • John the Ripper : 패스워드 점검도구입니다.
  • pwdump : 윈도우에서 패스워드를 덤프할 수 있는 도구 입니다.
  • L0phtCrack : 패스워드 취약점 점검도구입니다.
  • ipccrack : 패스워드를 원격지에서 추측하여 취약점을 점검하는 도구입니다.
  • chntpw : 물리적 접근이 가능한 시스템에서 패스워드를 리셋시키는 프로그램입니다.
  • ERD commander : 윈도우 시스템에서 패스워드를 복구해야하는 경우에 사용합니다.

 

- 서버 보안용 취약점 분석 도구

  • SATAN(security analysis tool for auditing networks) : 해커와 똑같은 방식으로 시스템에 침입하여 보상의 약점을 찾아 보완할 수 있는 네트워크 분석용 보안 관리 도구입니다. 그래픽 모드로 되어있고 인터넷에 공개되어 무료로 사용가능합니다.
  • SARA : SATAN을 기반으로 개발된 취약점 분석도구로 네트워크 기반의 컴퓨터, 서버, 라우터 IDS에대한 취약점 분석, 유닉스 플랫폼에서의 동작, HTML 형식의 보고서 기능이 있습니다.
  • SAINT : 유닉스 플랫폼에서 동작하는 네트워크 취약점 분석도구로 원격에서 취약점을 점검하는 기능이 있고 HTML 형식의 보고서 기능이 있습니다.
  • COPS : 유닉스 플랫폼에서 시스템 내부에 존재하는 취약점을 점검하는 도구로 취약한 패스워드를 체크합니다.
  • Nessus : GUI 형태로 클라이언트-서버 구조에서 클라이언트가 nessus 데몬에 접속하여 대상 시스템에대한 취약점 점검을 실시하고 결과는 txt, html, pdf 등 다양한 포맷으로 저장합니다.
  • nmap : 포트 스캐닝 도구로 TCP 방식 뿐만아니라 관리자에게 취약점을 들키지 않는 stealth 모드로 포트 스캐닝 하는 기능을 포함합니다.

- 무결성 점검 도구

  • tripwire : 유닉스/리눅스 환경에서 파일시스템의 무결성을 점검하는 대표적인 도구입니다. 다양한 해시함수를 지원하여 변조 여부를 판별합니다. 동작방식은 최초 설정파일에 등록된 파일의 해시값을 생성하여 데이터베이스에 저장하고 주기적으로 tripwire가 동작하면서 데이터베이스 해시값과 현재 해시값을 비교합니다. 만약 다르다면 리포트하여 관리자가 확인하게됩니다. 이때 데이터 파일의 경우 자주 변경되기에 데이터파일 무결성 점검은 적절하지 않습니다. 이외에 Fcheck, AIDE 등이 있습니다.

- 스캔 탐지 도구

  • mscan : 도메인 내에 있는 주요 취약점을 한번에 스캔 할 수 있는 해킹 도구 입니다.
  • sscan :mscan을 업데이트하여 유닉스/윈도우 네트워크를 통하여 취약점 점검을 수행할 수 있는 도구입니다.
  • portsentry : 실시간으로 포트 스캔을 탐지하고 대응하기위한 프로그램으로 정상 스캔과 stealth 스캔을 탐지할 수 있으며 공격 호스트를 /etc/host.deny 파일에 기록하여 자동방어하는 기능이 있습니다.

 

-네트워크 모니터링 및 침입 탐지 도구

  • Snort : 실시간 트래픽 분석과 패킷 처리를 담당하는 공개 소스 네트워크 침입 탐지시스템(IDS)입니다. 다양한 공격을 감지하며 실시간 경고 기능도 지원합니다.

 

- 방화벽

  • TCPWrapper : 유닉스 기반의 방화벽 툴로 호스트가 서비스 요청을 해오면 접속을 허용한 시스템인지 확인하고 통과시켜주는 도구입니다.
  • IPchain/IPtable : IPTable은 패킷 필터링 방화벽으로 패킷 필터란 패킷이 어디서 왔는지 어디로 향하는지 어떤 프로토콜을 이용하는지 확인하고 통과시켜주는 도구입니다.

- Logrotate

logrotate 설정 파일인 /etc/logrotate.conf에서 사용할 수 있는 주요 옵션들은 다음과 같습니다. 이러한 옵션들은 로그 파일의 회전, 압축, 삭제 등과 관련된 동작을 제어합니다.

weekly, daily, monthly:

로그 파일을 얼마나 자주 회전시킬지를 결정합니다. 주, 일, 월 중 하나를 선택할 수 있습니다.

rotate <count>
rotate <count>:

로그 파일을 몇 번 회전시킬지를 설정합니다. 지정된 회전 횟수 이후에는 가장 오래된 로그 파일이 삭제됩니다.
create:

새로운 로그 파일을 생성하는 옵션입니다. 보통 create 뒤에 로그 파일의 퍼미션이나 소유자, 그룹을 지정합니다.

create <mode> <owner> <group>
size <size>:

로그 파일의 크기가 지정된 크기에 도달하면 회전시킵니다. 크기는 바이트 단위로 지정됩니다.
compress 또는 nocompress:

압축 사용 여부를 설정합니다. compress는 로그 파일을 압축하고, nocompress는 압축하지 않습니다.
delaycompress:

압축된 로그 파일을 한 사이클 뒤에 압축합니다. 이렇게 하면 다른 로그 파일이 압축되지 않은 상태에서 읽을 수 있습니다.
missingok:

로그 파일이 존재하지 않아도 오류를 발생시키지 않습니다.
notifempty:

로그 파일이 비어있을 때만 회전시킵니다.
dateext:

압축된 로그 파일에 날짜 확장자를 추가합니다.
dateformat:

dateext를 사용할 때 날짜 포맷을 지정합니다.
prerotate 및 postrotate:

로그 파일을 회전하기 전/후에 실행할 명령을 지정합니다. 예를 들어, 로그 파일을 잘라내거나 추가 작업을 수행할 수 있습니다.
옵션들은 보다 자세한 설정과 함께 사용될 수 있으며, 각각의 옵션은 man logrotate 명령어를 사용하여 logrotate 매뉴얼 페이지에서 자세한 설명을 확인할 수 있습니다.

 

Comments