2019/01/11

주기적 검사 cron

파일 추가 /etc/cron.daily
 fcheck_test.cgi
 mlocate.cron
 Prelink

Prelink는 프로그램이 시작할 때 소요되는 시간을 감소시킴으로써 시스템의 속도를 증가시킨다.
스타트업 스크립트중에 보면, readahead, readahead_early가 있다.
특정한 파일이 필요하기 전에 미리 메모리에 불러 들여서, 속도 향상에 도움이 된다.

readahead()는 파일의 데이터로 페이지 캐시를 채워서 이후 그 파일에서 읽을 때 디스크 I/O 대기를 하지 않게 한다.
fd 인자는 읽을 파일을 가리키는 파일 디스크립터이다.
offset 인자는 데이터를 읽을 시작점을 지정하며 count는 읽어들일 바이트 수를 지정한다.
 I/O는 페이지 단위로 이뤄지며, 따라서 페이지 경계에 맞춰 offset을 내림 하고, (offset+count)와 같거나 그보다 큰며 다음 페이지 경계까지의 바이트들을 읽어들인다.
  readahead()는 파일 끝 너머는 읽지 않음.
  readahead()는 지정한 데이터를 읽을 때까지 대기. fd가 가리키는 열린 파일의 현재 파일 위치는 변경하지 않음.

apt-get install Prelink
apt-get install ureadahead 우분투에서는 이 패키지로 변경된다.
apt-get install preload
apt-get install readahead-fedora  페도라 방식으로 설치시

일별 파일 체크
cd /etc/cron.daily
cat fcheck
#!/usr/bin/perl

############################################################################
#                              add  program                                #
############################################################################
$TASK = `/usr/local/fcheck/fcheck -a|grep Inode`;
$HOSTNAME = `/bin/hostname`;
$HOSTNAME =~ s/\n//g;
$TO_EMAIL = 'leejh@l-ht.com';
$SUBJECT = "$HOSTNAME 파일변조 확인";
$MAIL_PROGRAM = "/usr/sbin/sendmail";

if ($TASK){
    $TASK_CONFIRM = `/usr/local/fcheck/fcheck -a`;
    &task_confirm;
}

sub task_confirm {
open(MAIL,"|$MAIL_PROGRAM -t");
    print MAIL"To: $TO_EMAIL \n";
    print MAIL"Subject: $SUBJECT \n\n";
    print MAIL"Host: $HOSTNAME \n";
    print MAIL"$TASK_CONFIRM \n";

close(MAIL);
}

참고:
위에 방식도 있지만 패키지를 사용하는 방식도 있음.
apt-get install fcheck
cd /etc/cron.d/

일주일 루트키 확인.
cd /etc/cron.weekly
cat rkhunter.cron
#!/bin/sh
IP=$(/sbin/ifconfig eth0| head -n2 | awk '/inet.*Bcast/ {print $2}'| cut -f 2 -d':')
(
/usr/local/bin/rkhunter --versioncheck
/usr/local/bin/rkhunter --update
/usr/local/bin/rkhunter --cronjob --report-warnings-only
) | /bin/mail -s "rkhunter Daily Run - $IP" linuxleejang@gmail.com

댓글 없음:

댓글 쓰기