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)
'정보보안공부 > 정보보안전문과정' 카테고리의 다른 글
정보보안 과정 Day24 : NTP 서버 (0) | 2020.10.12 |
---|---|
정보보안 과정 Day23 : DHCP / SSH / DB 서버 (0) | 2020.10.07 |
모의해킹 침해대응 정보보안 전문가 양성과정 Day21 (0) | 2020.10.05 |
모의해킹 침해대응 정보보안 전문가 양성과정 Day20 (1) | 2020.09.29 |
모의해킹 침해대응 정보보안 전문가 양성과정 Day19 (0) | 2020.09.28 |