9. rsyslog

 

 

 

 

centos 5.x ---> centos 6.x

syslog rsyslog

 

 

■ LOG(rsyslog) Server on CentOS 7.X

---------------------------------

● Program: rsyslog

● Daemon & Port & Protocol: rsyslogd(514/tcp/udp)

● Configuration File(s): /etc/rsyslog.conf

● Sub Configuration File(s): /etc/rsyslog.d/*.conf

● Service: rsyslog.service

---------------------------------

● 추가 정리 부분은 : 기능

---------------------------------

 

 

 

로그 파일 분석

리눅스 기본 로그 체계(ls /var/log)

* OS 로그

* /var/log/messages

* /var/log/secure

* /var/log/{boot.log|dmesg}

* /var/log/{wtmp|btmp}

* /var/run/utmp

* /var/log/yum.log

* /var/log/cron

* 서비스 로그

* DNS(named: /var/log/messages)

* WEB(apache httpd: /var/log/httpd/{access_log,error_log})

* FTP(vsftpd: /var/log/secure, /var/log/xferlog)

* MAIL(sendmail: /var/log/maillog)

* NFS(nfsd: /var/log/messages)

* SMB(samba: /var/log/samba/log.*)

 

 

 

rsyslogd 체계

* rsyslogd (/etc/rsyslog.conf, /etc/rsyslog.d/*.conf)

* 메세지 종류, 메세지 레벨, 메세지 기록 위치

 

 

 

로그 파일 분석 기법

(로그 파일 예) /var/log/messages

(로그 내용 예) Apr 16 14:04:42 linux249 smbd[6580]: prs_grow: Buffer overflow - unable to expand buffer by 2 bytes.

# alias grep='grep -i --color'

# alias egrep='egrep -i --color'

* 날짜/시간/기간

# grep "Apr 16" /var/log/messages

# grep "Apr 16 14:" /var/log/messages

# grep "Apr 16 14:04:" /var/log/messages

* 로그 생성 서버/IP

# grep linux249 /var/log/messages

# grep 172.16.6.25 /var/log/messages

* 검색 단어/키워드

# grep smbd /var/log/messages

* 로그 난이도(warn|error|crit|alert|emerg|fail)

# egrep 'warn|error|crit|alert|emerg' /var/log/messages

* 응용(시간 + 메세지 난이도 + 키워드)

# date +'%b %-d'

# grep "$(date +'%b %-d')" /var/log/messages

# grep "$(date +'%b %-d')" /var/log/messages | egrep -i 'warn|error|crit|alert|emerg|fail'

# vi /root/bin/chklog.sh (# chklog.sh /var/log/messages)

--------------------------------------

#!/bin/bash

DATE=$(date +'%b %-d')

grep "$DATE" $1 | egrep -i --color 'warn|error|crit|alert|emerg|fail'

--------------------------------------

# chmod 700 /root/bin/chklog.sh

# /root/bin/chklog.sh /var/log/messages

 

 

 

 

로그 파일 관리

* OS 로그 파일 관리

* 서비스 로그 파일 관리

* logrotate CMD(/etc/logrotate.conf, /etc/logrotate.d/*)

=> OS 로그 파일 관리 + 일부 서비스 로그 파일 관리

=> (로그 파일 이름이 고정 되어 있는 경우) ex) server.log, messages, ...

* 로그 파일 수동 관리(find CMD + crontab CMD)

=> 일부 서비스 또는 관리자가 만든 서비스 로그 기록

=> (로그 파일 이름이 고정 되어 있지 않은 경우) ex) server_1006.log

# find /Log_dir -name "*.log" -type f -mtime +30 -exec rm -f {} \;

 

 

 

 

[실습1] 기본 체계 실습 - /var/log/secure (ssh, telnet, su, ...)

[실습2] 기본 체계 실습 - /var/log/maillog (mail/mailx, ...)

[실습3] 기본 체계 실습 - /var/log/cron (crontab)

[실습4] rsyslogd 이용한 새로운 로그 파일 생성 - /var/log/file.log

# vi /etc/rsyslog.d/test.conf

local0.notice /var/log/file.log

# systemctl restart rsyslog

# logger -p local0.notice "test notice messages"

 

 

[실습5] 스크립트 제작시 로그 직접 생성

 

[실습6] 로그 서버 구축하기

* linux2XX -- log --> linux1XX(Log Server)

 

(on linux1XX)

# vi /etc/rsyslog.conf

---------------------------------

# Provides TCP syslog reception

$ModLoad imtcp <-- 주석 제거

$InputTCPServerRun 514 <-- 주석 제거

---------------------------------

 

# vi /etc/rsyslog.d/test.conf

local0.notice /var/log/file.log

# touch /var/log/file.log

# chmod 600 /var/log/file.log

# systemctl restart rsyslog

 

# tail -f /var/log/file.log

 

(on linux2XX)

# vi /etc/rsyslog.conf

---------------------------------

# Provides TCP syslog reception

$ModLoad imtcp <-- 주석 제거

$InputTCPServerRun 514 <-- 주석 제거

---------------------------------

 

# vi /etc/rsyslog.d/test.conf

local0.notice @@172.16.6.1XX

# systemctl restart rsyslog

# logger -p local0.notice "Notice message from linux2XX"

 

 

 

 

[실습7] 로그 서버 구축하기2

(on linux1XX)

# vi /etc/rsyslog.d/test.conf

local0.crit /var/log/file.log

# systemctl restart rsyslog

# tail -f /var/log/file.log

 

(on linux2XX)

# vi /etc/rsyslog.d/test.conf

local0.notice /var/log/file.log

local0.crit @@172.16.6.149

# systemctl restart rsyslog

# tail -f /var/log/file.log

 

[TERM2]

# logger -p "local0.notice" "Notice Messages Test from linux2XX"

# logger -p "local0.crit" "Critical Messages Test from linux2XX"

 

 

 

 

 

(실무예)

WIN ----+

LINUX ----+

UNIX ----+---> Linux(rsyslogd)

Network Device ----+

Security Device ----+

Storage Device ----+

 

eventlog-to-syslog Log Analyzer

 

 

 

 

 


 

 

 

 

 

9. DHCP(Dynamic Host Configuration Protocol)

 

 

 

 

용어

* 고정 IP/유동 IP

* 공인 IP/사설 IP

 

 

■ DHCP(dhcpd) Server on CentOS 7.X

---------------------------------

● Program: dhcp

● Daemon & Port & Protocol: dhcpd(67/udp)

● Configuration File(s): /etc/dhcp/dhcpd.conf

● Sub Configuration File(s):

● Service: dhcpd.service

---------------------------------

● 추가 정리 부분은 : 기능

---------------------------------

 

 

 

 

[실습1] DHCP 서버 구성(linux2XX)

# yum install dhcp

# cp /usr/share/doc/dhcp-*/dhcpd.conf.example /etc/dhcp/dhcpd.conf

# vi /etc/dhcp/dhcpd.conf

-----------------------------------------

option domain-name "linux2XX.example.com";

option domain-name-servers 192.168.10.2XX;

default-lease-time 600;

max-lease-time 7200;

authoritative;

log-facility local7;

subnet 172.16.6.0 netmask 255.255.255.0 {

}

subnet 192.168.10.0 netmask 255.255.255.0 {

range 192.168.10.100 192.168.10.199;

option domain-name-servers 192.168.10.2XX;

option domain-name "linux2XX.example.com";

option routers 192.168.10.2;

option broadcast-address 192.168.10.255;

default-lease-time 600;

max-lease-time 7200;

}

-----------------------------------------

# systemctl enable dhcpd

# systemctl restart dhcpd

 

 

 

 

[실습2] DHCP 클라이언트 구성(linux1XX)

 

 

 

 

 

 

 

 

 

728x90

+ Recent posts