강의 컨설팅 트레이닝 무료진단 무료책자 마케팅편지 마케팅정보공유 다이어리 서비스제휴 고객센터

log 분석
작성자 : 13 김영철
등록날짜 : 2009.01.14 23:14
5,635
로그분석』<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><?XML:NAMESPACE PREFIX = O />

- /var/ è 시스템에서 발생하는 메제지들을 저장하는곳

- /tmp è 시스템에서 디렉토리와 디렉토리간의 데이터가 오고가거나 프로그램설치시

          그에 필요한 데이터를 임시로 저장하는곳

 

/var , /tmp 는 리눅스 설치시 따로 파티셔닝 해주는 것이 관례이며 넉넉한 용량으로 잡아주는 것이 좋다.(대용량 서버에서 반드시 중요하다)

 

/var/log

-lastlog cat이나 vi로 열어볼수 없다 바이너리 형식이기때문이다..

 

 

[root@edu1 kisssulran]# lastlog

사용자명        포트    ~로부터         최근정보

root             pts/218  192.168.100.254  12 13 <?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" /><?XML:NAMESPACE PREFIX = ST1 />13:28:18 +0900 2005

bin                                        **한번도 로긴한적이 없습니다**

daemon                                     **한번도 로긴한적이 없습니다**

adm                                        **한번도 로긴한적이 없습니다**

lp                                         **한번도 로긴한적이 없습니다**

sync                                       **한번도 로긴한적이 없습니다**

shutdown                                   **한번도 로긴한적이 없습니다**

halt                                       **한번도 로긴한적이 없습니다**

mail                                       **한번도 로긴한적이 없습니다**

news                                       **한번도 로긴한적이 없습니다**

uucp                                       **한번도 로긴한적이 없습니다**

operator                                   **한번도 로긴한적이 없습니다**

games                                      **한번도 로긴한적이 없습니다**

gopher                                     **한번도 로긴한적이 없습니다**

ftp                                        **한번도 로긴한적이 없습니다**

nobody                                     **한번도 로긴한적이 없습니다**

rpm                                        **한번도 로긴한적이 없습니다**

 

-lastlog 사용자 지정 옵션

[root@edu1 kisssulran]# lastlog -u kisssulran

사용자명        포트    ~로부터         최근정보

kisssulran                                 **한번도 로긴한적이 없습니다**

-lastlog 날짜별로 지정

[root@www log]# lastlog -t [days]

 

[root@edu1 kisssulran]# last

1)     몇시에 어떤 계정이 어떤 IP로 언제부터~언제까지 들어왔는지 알수 있다.

2)     Reboot을 햇는지 여부를 알 수 있다.

/var/log/wtmp è 바이너리 형식으로 역시 vicat으로 열수 없다. last로 확인가능하다

[root@edu1 kisssulran]# last

root     pts/218      192.168.100.254  Tue Dec 13 13:28 - 13:48  (00:19)

root     pts/217      192.168.100.1    Tue Dec 13 13:18 - 13:18  (00:00)

root     pts/216      192.168.100.254  Tue Dec 13 13:17   still logged in

root     pts/215      192.168.100.254  Tue Dec 13 13:13 - 13:13  (00:00)

root     pts/214      192.168.100.254  Tue Dec 13 12:48 - 13:07  (00:18)

root     pts/213      192.168.100.254  Tue Dec 13 12:45 - 12:51  (00:05)

root     pts/212      192.168.100.254  Tue Dec 13 12:45 - 12:55  (00:10)

root     pts/211      192.168.100.254  Tue Dec 13 12:38   still logged in

root     pts/210      192.168.100.254  Tue Dec 13 12:32 - 12:32  (00:00)

 

-last 계정명  (계정에 대한 자세한 정보)

[root@edu1 kisssulran]# last kisssulran

kisssulr ftpd27443    127.0.0.1        Mon Dec 12 16:15 - 16:16  (00:01)

kisssulr ftpd27366    127.0.0.1        Mon Dec 12 16:11 - 16:12  (00:00)

 

wtmp begins Sat Dec  3 10:40:51 2005

 

kisssulran이란 계정이 로컬에서 ftp로 접속을 해왔다는 것을 알수 있다.

 

last는 파일을 통하여 검색된 정보들을 /var/log/wtmp파일을 통하여
검색된 정보들을
/var/log/wtmp
파일이 생성되는 순간부터 사용자의 로그인과 로그아웃한 정보들을 보여준다

 

 

 

 

 

 

 

 

 

 

 

 

『나에게 접근하지 않고 비정상적으로 접근하는 것들에 대한 대처방안』

 

/var/log/btmp

lastb라는 명령어로 확인 할 수 있다. 이 파일에 저장되게 된다

btmp 파일은 리눅스 시스템상에서의 로그인이 실패될 경우 일반적으로 이 파일은 생성되어 있지 않은 관계로 직접 생성 시켜주어야 한다

[root@edu1 kisssulran]#lastb

root     ssh:notty                   210.123.x.x.      MonDec 12       11:29-11:27       (00.00)

                                                                                               로그인한적이없                                                                                        다는것.

만약에 위의 확인 사항에서 의심스러운 즉.. 해를끼치진 않았지만 비정상적으로 접근 하려는 아이피를

[root@edu1 kisssulran]#whois  <상대ip>로서 도메인정보를 알아보고 그로인하여

블랙리스트를 만들수도 있고 상대방에게 경고장을 날릴 수 있다.

 

[root@www log]# lastb
sss pts/0 xxx.191.99.81 Sat Sep 28 15:34 - 15:34 (00:00)
root pts/0 xxx.191.99.81 Sat Sep 28 15:34 - 15:34 (00:00)
root pts/0 xxx.191.99.81 Sat Sep 28 15:34 - 15:34 (00:00)
root pts/0 xxx.191.99.81 Sat Sep 28 15:34 - 15:34 (00:00)

btmp begins Sat Sep 28 15:34:38 2002
위를 보면 xxx.191.99.81아이피를 가진 침입자가

sss
란 계정과 root계정으로 침입시도한 흔적을 알수있다

 

Messages è /var/log/messages 시스템에 로그인 / 설정 / 장치에 대한 정보를 담고있다.

 

[root@edu1 kisssulran]# tail -f /var/log/messages

Dec 13 14:06:10 edu1 sshd(pam_unix)[16802]: 2 more authentication failures; logname= uid=0 euid=0 tty=NODEVssh ruser= rhost=192.168.100.254  user=root

Dec 13 14:08:39 edu1 init: Id "x" respawning too fast: disabled for 5 minutes

Dec 13 14:13:41 edu1 init: Id "x" respawning too fast: disabled for 5 minutes

Dec 13 14:14:47 edu1 sshd(pam_unix)[16949]: authentication failure; logname= uid=0 euid=0 tty=NODEVssh ruser= rhost=192.168.100.254  user=root

Dec 13 14:15:29 edu1 sshd(pam_unix)[16949]: 2 more authentication failures; logname= uid=0 euid=0 tty=NODEVssh ruser= rhost=192.168.100.254  user=root

-f옵션은 지속적인 갱신을 보여줄 수 있다.

 

wtmp,utmp

wtmp,utmp파일은 같은 맨 페이지를 가지며 모두 바이너리 현태여서 텍스트 편집기론 볼 수 없다
wtmp
형식은 사용하지 않은 사용자의 로그아웃 정보를 나타내는 것을 제외하고는 utmp형식과 같다 wtmp파일은 /var/log/wtmp에 위치하며 utmp파일은 /var/rum/utmp
/etc/utmp
에 위치하게 된다
먼저 wtmp파일부터 보면 wtmp파일은 지금까지 사용자들이 로그인과 로그아웃 정보들을 가지고 있다. 또한 시스템의 종료,리붓 히스토리까지 포함을 하고 있어 wtmp파일은 피해시스템 분석에 있어서 매우 중요한 부분이라 할 수 있다 다음으로 utmp파일은 최근 누가 시스템을 사용했는지에 대해 정보를 나타낸다. w,who명령어가 utmp파일을 참조하여 이 파일 또한 시스템 분석에 있어서 중요한 부분이라 할 수 있다. 하지만 요즘 많은 침입자들이 수퍼 유저 권한을 획득한 다음 로그 클리너 프로그램으로 utmp,wtmp에 있는 자신의 정보들을 지우고 간다

이럴 땐 w,last,who등으로도 현재 시스템의 접속된 정보와 로그아웃 정보들을 알 수 없어 혼란을 주게 된다 따라서 로그 파일에 대한 백업장치 마련과 아니면 비용이 좀 더 들더라도 따로 로그 서버를 운영하는것이 바람직하다

secure

-         /var/log/secure  telnet / ssh 에대한 로그사항.

Xorg.log

-         xwindows에 대한 로그

boot.log

-         부팅할때의 error에 대한 로그

dmesg

-         부팅시 기록되는 로그

Cron

-         스케줄러 프로그램에 대한 로그 (백업,로그저장..)

Anaconda

-         installer프로그램에 관한 즉 프로그램 인스톨과정에 대한 로그를 담고있다.

-         사내에서 사수가 일언반구 없이 Linux서버를 셋팅하고 나가버린경우

-         내가 나중에 무었이 필요하고 어떤 어떤 것이 설치되어 있는지 알기위해 필요하다.

Rpmpkgs

-         새로 설치된 rpm + os설치시 설치된 rpm 패키지의 목록

 

 

syslog

[root@www /root]# cat /etc/syslog.conf
# Log all kernel messages to the console.
# Logging much else clutters up the screen.
#kern
장치의 모든 메시지(*)를 콘솔에러 기록한다

#kern.* /dev/console

#
모든 장치(*)의 비상상태(emerg)의 메시지를 kisssulran원격 호스트로 보낸다

#*.ernerg @kisssulran

# Log anything (except mail) of level info or higher.
# Don't log private authentication messages!
#
뉴스,메일 인증을 제외한 엄격도가 정보(info)이상한 메시지를 messages에 기록한다


*.info;mail.none;authpriv.none;cron.none /var/log/messages

#
커널을 제외하고 모든 alert의 메시지를 kisssulran파일로 저장

#*.=alert;kern.none /var/log/kisssulran
#
데몬,lpr waming 메시지를 제외한 모든 메시지를 모든 사용자에게로 전달한다

#lpr,daemon.*;lpr,daemon.!=warning *

# The authpriv file has restricted access.
authpriv.* /var/log/secure

# Log all the mail messages in one place.
mail.* /var/log/maillog


# Log cron stuff
cron.* /var/log/cron

# Everybody gets emergency messages
*.emerg *

# Save news errors of level crit and higher in a special file.
#uucp
뉴스 장치에서 위급한상태(crit)이상인 메시지를 spooler에 전달한다

uucp,news.crit /var/log/spooler

# Save boot messages also to boot.log
local7.* /var/log/boot.log

위의 예제처럼 설정방식이 있는데 액션 필드의@는 호스트를 뜻하고 그대로 적는다면 로컬 사용자를

뜻한다 위의 예제 말고도 파이프 로 시작하면 파이프로 데이터를 보내어 다른 프로그램이 파이프로

부터 데이터를 읽을 수 있게 한다
.
단일의 엄격도가 필요할 경우 = 기호를 쓰고 제외시킬 경우 ! 기호를 사용한다

이처럼 syslog.conf 파일은 syslogd가 실행되기 위한 설정파일이므로, 시스템 관리자는

시스템 상태에 맞게 잘 설정하여야 된다


장치 이름 설명

auth (LOG_AUTH)
인증시스템 메시지
(su,login,etc.)
authpriv (LOG_AUTHPRIV) auth
와 비슷하다 맨 페이지에선 auth를 쓰기를 권장한다
auth . auth .
cron (LOG_CRON)
리눅스 cron 시스템 메시지

daemon (LOG_DAEMON)
다른 시스템 데몬들 메시지

kern (LOG_KERN)
커널 메시지

local0-7 (LOG_LOCAL0-7)
로컬 사용을 위한 예비 메시지

lpr (LOG_LPR)
라인 프린터 시스템 메시지

mail (LOG_MAIL)
메일 시스템 메시지

news (LOG_NEWS)
유즈넷 뉴스 시스템 메시지

syslog (LOG_SYSLOG) syslog
데몬에 의한 내부 메시지

user (LOG_USER)
일반적인 사용자 레벨 메시지

uucp (LOG_UUCP) UUCP(Unix to Unix CoPy)
시스템


엄격도는 메시지의 중요성을 결정한다. 밑에 표는 엄격한 순서대로 적어 두었다


엄격도 설 명

emerg (LOG_EMERG)
시스템을 사용할 수 없을 정도의 비상사태 (ex.시스템 충돌
)
alert (LOG_ALERT)
즉시 조치가 필요한 상태 (ex.변조된 시스템 데이터베이스
)
crit (LOG_CRIT)
위급한 상태 (ex.하드웨어 에러
)
err (LOG_ERR)
일반적인 에러 상태

warning (LOG_WARNING)
경고 상태 (ex.시스템 요구 상황 에러
)
notice (LOG_NOTICE)
정상적인 상태이지만 중대한 상황

info (LOG_INFO)
정보 메시지

debug (LOG_DEBUG)
디버그 메시지(ex.실행중인 프로세서의 디버깅 정보)

출처 : Tong - mbkim37님의 PHP통

"쇼핑몰·홈페이지·오픈마켓
블로그·페이스북·이메일 등의 각종 마케팅 글쓰기,
각종 광고, 영업, 판매, 제안서, 전단지
반응율 3배×10배 이상 높이는 마법의 8단계 공식"
자세히보기

Comments

번호 제목 글쓴이 날짜 조회
3285 세션정보를 DB에 넣고 중복로그인 막고 사이트 통합로그인 13 김영철 01.13 16911
3284 [html] Form - 라디오버튼에서 value값 넘기기 99 단국강토 02.05 14690
3283 제가 사용하고 있는 마케팅프로그램입니다 댓글1 3 천지인 05.23 13188
3282 네이버 관련 바이럴마케팅 프로그램 총집함(카페/블로그/지식인 등) 3 천지인 05.15 13092
3281 관공서/회사접속 차단 해제 댓글8 3 초이스 05.13 12772
3280 엑셀 파일 합치기 매크로 댓글17 2 coruscate 09.14 11104
3279 파일1입니다 url helper 댓글1 2 비비드바비 04.29 10856
3278 파일2입니다 2 비비드바비 04.29 10474
3277 [펌] 제11강 - ADO(Active Database Object) - Database Access Component Cobol vs C#-1 M 최고의하루 12.23 9483
3276 Aqua data studio 한글 깨짐 설정 13 김영철 01.29 9020
3275 history.back() 시 폼데이터 유지하기 13 김영철 01.15 7583
3274 [ ASP ] url 정보의 파라메터 및 쿼리스트링 자유롭게 조정하는 함수 M 최고의하루 12.19 7465
3273 플래시에서 책장 넘기는 효과 내는 학습 자료 M 최고의하루 12.26 7418
3272 MBTI 테스트지 + 테스트파일 + 결과 댓글35 2 비비드바비 04.29 7230
3271 XML을 해야 하는 이유 13 김영철 01.29 6997
3270 gva.bgdb 인증크랙 댓글4 M 최고의하루 12.18 6791
3269 테이블 넓이 고정 태그:자동 줄 바꿈(break-all, nowrap, fixed) 99 단국강토 02.05 6586
3268 PHP 답변형 게시판 / 자료실 /PHP강좌 13 김영철 01.13 6168
3267 PDF-Pro 4 free 2 춘몽 11.22 6128
3266 award bios 어워드 바이오스 설정법 M 최고의하루 12.18 5896
3265 퍼지는 빛 만들기 | 포 토 샵 [중급] 10 액션쟁이 01.05 5763
3264 ntdll.dll 오류 해결방법 M 최고의하루 01.12 5728
3263 Edit Plus html 내보내기 예제 M 최고의하루 12.20 5727
3262 [ MySQL ] MySQL 5 한글 UTF8 한글 깨짐 분석 (Windows 용) M 최고의하루 12.04 5726
3261 ASP의 EXECUTE, EVAL 사용하기 M 최고의하루 12.23 5682
열람중 log 분석 13 김영철 01.14 5636
3259 메일 수신 확인 체크 소스입니다 13 김영철 01.13 5624
3258 화면캡쳐하는 방법, 동영상 이나오는 화면 캡쳐시 안보이는 부분 나오게 하는 방법 M 최고의하루 12.26 5590
3257 The Oracle + PHP Cookbook :: Oracle/PHP 환경의 LOB 처리 13 김영철 01.14 5588
3256 엑셀 자동달력 서식 댓글5 M 최고의하루 12.18 5541
마케팅
특별 마케팅자료
다운로드 마케팅자료
창업,경영
기획,카피,상품전략
동기부여,성취