유저 권한으로 실행 스케줄 crontab 걸기 Linux



스크립트 스케줄을 잡아줄 때 유저권한으로 파일을 실행할 경우가 있다.

그때는 해당 유저의 권한으로 잡아주고 실행하도록 설정하여야 한다.

그럴때 crontab에 잡아주는 부분이 다음과 같다.

04 4 * * * su -l oracle -c "/파일경로"

권한을 얻는 su 명령어를 사용한다.

su
-ㅣ 옵션 : 사용자 로긴 스크립트 파일을 읽어 사용자의 환경으로 변경한다.
- c 옵션 : 한개의 명령만 실행하도록 한다.

일케 잡아주면 되겠다.

== 혁진이 힘들어요~ㅠ_ㅠ ==

Whistl_Linux 휘슬 Linux


한국정보보호진흥원에서 신청하면 만들어 주는거다.
신청하는 거는 검색하면 정말 마니 나온다. 양식에 맞춰 신청하면 된다.

whistl은 웹쉴이 도는 의심되는 파일을 찾아내는 것으로 유용하게 쓰이는 툴이다.
신청하는 곳에 아이디/패스워드 신청을 하는데 그거 잘 기억해야한다;;;
잊어먹음 곤란하다는 ^^;;

파일을 받아 압축을 풀면 여러 파일이 있다.

README.txt  pattern.bin  usage.dat  whistl.log  whistl_kernel_2.4 whistl_kernel_2.6
validate.bin

README.txt 파일을 보면 한글로 잘 설명이 되어있다. 그걸 꼭 읽고 참고하자!!

실행하기전에 커널버전에 따른 실행파일을 선택한다.
whistl_kernel_2.4 / whistl_kernel_2.6  이 두파일인데 커널버전에 맞게 실행권한을 준다.
난 커널이 2.6버전이라 whistl_kernel_2.6에 실행권한을 부여하였다.

또 바로 실행한다고 되는 것이 아니라 설정을 해야한다.

./whistl_kernel_2.6 -c

이라고 하면 다음과 같은 설정이 나온다.

===================================================================
Choose Menu : s

        [1] Checking Directory : /home                                                 <= 체킹위치
        [2] Inspection Center directory : /tmp                                         
        [3] Extension of php     : inc,php,php3,php4,php5,ph,txt,html,htm <= php에서 찾을 파일명들
        [4] Extension of jsp     : jsp,js                                                  <= jsp에서  찾을 파일명
        [s] save                                                                                 <= 저장
        [q] quit                                                                                   <= 나가기
====================================================================

이렇게 해서 나와 실행을 하면 해당 체킹경로에 대해 웹쉘의심 체크를 한다.

./whistl_kernel_2.6

실행을 하면 아이디/패스워드 입력란이 나오고 신청한 아이디/비번을 입력한다.

돌아가기 시작하면 시간이 좀 거리는 편이다.
마친 상태는 아래와 같다.
=================================================================================
id : nanuminet
pwd : nanuminet!
Checking the configration
        [Config] Checking directory : /home
        [Config] Inspection Center directory : /tmp

Checking the update status
        [INFO] Pattern Update Finished


Checking /home directory
        [1 Found] /home/hyukjin/경로/파일명
        [1 Found] /home/hyukjin/경로/파일명
        [1 Found] /home/hyukjin/경로/파일명

Check Result
        [INFO] 7365 Files checked
        [INFO] 9 Suspected WebShell
        [INFO] Time cost : 00:53:12
        [INFO] Finish sending the checking result

[Press <ENTER> to continue]
        [1] [1 Found] /home/hyukjin/경로/파일명
        [2] [1 Found] /home/hyukjin/경로/파일명

[ view result(v), select (hit num), quit(q) ] : q
=================================================================================

q 누르고 나와서

해당 내용이 whistl.log 에 로그로 기록이 되어 있으니 확인하면 되겠다.
체크된 파일은 의심파일이니 꼭 확인하여 내용을 수정 또는 삭제를 해야한다.


rootkit hunter (rkhunter) 설치 Linux


다운

http://sourceforge.net/projects/rkhunter/ 에서 받아도 되고
바고 받는 것은
wget http://downloads.sourceforge.net/project/rkhunter/rkhunter/1.3.4/rkhunter-1.3.4.tar.gz?use_mirror=cdnetworks-kr-1


rkhunter의 압축을 풀고 
./installer.sh  --layout /usr/local --install 옵션으로 플렛폼 독립적인 /usr/local에 설치할수 있다.
installer.sh만 실행하여 여러 옵션을 볼 수 있다.


보통 기본값으로 설정은
./installer.sh -layout default -install

=================================================================
Checking system for:
 Rootkit Hunter installer files: found. OK
 Available file retrieval tools:
    wget: found. OK
Starting installation/update

Checking PREFIX /usr/local: exists, and is writable. OK
Checking installation directories:
 Directory /usr/local/share/doc/rkhunter-1.3.4: creating: OK.
 Directory /usr/local/share/man/man8: exists, and is writable. OK
 Directory /etc: exists, and is writable. OK
 Directory /usr/local/bin: exists, and is writable. OK
 Directory /usr/local/lib: exists, and is writable. OK
 Directory /var/lib: exists, and is writable. OK
 Directory /usr/local/lib/rkhunter/scripts: creating: OK.
 Directory /var/lib/rkhunter/db: creating: OK.
 Directory /var/lib/rkhunter/tmp: creating: OK.
 Directory /var/lib/rkhunter/db/i18n: creating: OK.
 Installing check_modules.pl: OK.
 Installing check_update.sh: OK.
 Installing check_port.pl: OK.
 Installing filehashmd5.pl: OK.
 Installing filehashsha1.pl: OK.
 Installing showfiles.pl: OK.
 Installing stat.pl: OK.
 Installing readlink.sh: OK.
 Installing backdoorports.dat: OK.
 Installing mirrors.dat: OK.
 Installing os.dat: OK.
 Installing programs_bad.dat: OK.
 Installing programs_good.dat: OK.
 Installing defaulthashes.dat: OK.
 Installing md5blacklist.dat: OK.
 Installing suspscan.dat: OK.
 Installing rkhunter.8: OK.
 Installing ACKNOWLEDGMENTS: OK.
 Installing CHANGELOG: OK.
 Installing FAQ: OK.
 Installing LICENSE: OK.
 Installing README: OK.
 Installing WISHLIST: OK.
 Installing language support files: OK.
 Installing rkhunter: OK.
 Installing rkhunter.conf: OK.
Installation finished.
==============================================================> 설치과정

현재 최근버전은 1.3.4이고 tar.gz 형식으로 제공하나 rpm 사용이 가능한 시스템은 rpm으로 만들수도 있다.
=> rpm -ta  rkhunter-1.3.4.tar.gz 명령으로 /usr/src/redhat/RPMS/noarch/rkhunter-1.3.4-1.noarch.rpm

rkhunter을 실행한다.

rkhunter -c

엔터를 치며 결과를 확인하고 다음 체킹으로 넘겨준다.
/var/log/rkhunter.log => 체킹결과는 이곳에 로그로 저장이 된다.

다른 옵션들

rkhunter --configfile = 설정 파일 경로 설정
rkhunter --append-log = 로그파일을 갱신 하지 않고 덧붙임, 이전로그와 함께 보관
rkhunter -c, --check = 시스템 체크 
rkhunter --sk, --skip-keypress = 기본적으로 각 테스트후 사용자 입력을 기다리나 이 옵션으로 계속 체크 가능
rkhunter --rwo, --report-warnings-only = 경고 메세지만 출력
rkhunter --display-logfile = 실행 종료후 로그파일 출력








WEBALIZER 설치하기 Linux

웹얼라이져 설치하기!!
webalizer


yum으로도 설치가 가능하지만 한글로 나오게 하려면 한글 korean옵션을 주어야 하기에 소스컴파일로 설치한다.

먼저 필요한 것을 설치한다. 

yum install zlib-devel libpng-devel gd-devel 

그리고 소스를 다운받는다. 공식사이트 가서 다운 받으면 되겠다.


일케 wget을 이용하여 바로 다운을 받는다.

다운을 받아 압축을 푼다.

tar xfz webalizer-2.21-02-src.tgz 

그리고 소스컴파일 한다.

./configure --prefix=/usr/local/webalizer --with-language=korean 

prefix로 한곳에 몰아주고 언어를 한국어 옵션 달아준다.

make

make install 

pre픽스로 파일을 몰아 설치하였기에 환경변수 등록해 준다. 명령어 먹히도록!!

echo “export PATH=$PATH:/usr/local/webalizer/bin”>> /etc/profile 

source /etc/profile   적용!!


다음은 webalizer.conf 파일을 만드는 것이다.
기본적으로 제공되는 샘플이 있긴 하지만 원하는 경로에 파일을 두고 실행하면 적용이 될것이다.
그럼 계정별 웹얼라이져 분석화면이 만들어 지는 것이다.

도메인.webalizer.conf 이런식으로 이름을 달리하여 관리,

기본 conf를 사용하여도 되고 이건 개인적인 conf설정이다.

========================================================================================
LogFile         /var/log/httpd/도메인-access_log     ### 아파치 access로그 경로
OutputDir       /home/웹얼라이져 웹 생성경로/public_html/webalizer
HistoryName     /var/lib/webalizer/도메인-webalizer.hist        ###웹얼라이져 해당 도메인 히트파일 경로
Incremental     yes
IncrementalName /var/lib/webalizer/도메인-webalizer.current
HostName        bluelife.co.kr
PageType        htm*
PageType        php*
PageType        cgi
PageType        pl
HideSite        bluelife.co.kr
HideSite        www.bluelife.co.kr
HideReferrer    Direct Request
HideReferrer    bluelife.co.kr
HideReferrer    www.bluelife.co.kr
HideReferrer    web.bluelife.co.kr
#HideURL                *.css
#HideURL                *.CSS
#HideURL                *.js
#HideURL                *.JS
#HideURL                *.gif
#HideURL                *.GIF
#HideURL                *.jpg
#HideURL                *.JPG
#HideURL                *.jpeg
#HideURL                *.JPEG
#HideURL                *.png
#HideURL                *.PNG
#HideURL                *.swf
#HideURL                *.SWF
#HideURL                *.ra
#HideURL                *.RA
#HideURL                *.asf
#HideURL                *.ASF
#HideURL                *.wma
#HideURL                *.WMA
#HideURL                *.wmv
#HideURL                *.WMV
SearchEngine    yahoo.com       p=
SearchEngine    altavista.com   q=
SearchEngine    google.com      q=
SearchEngine    eureka.com      q=
SearchEngine    lycos.com       query=
SearchEngine    lycos.co.kr     query=
SearchEngine    hotbot.com      MT=
SearchEngine    msn.com         MT=
SearchEngine    infoseek.com    qt=
SearchEngine    webcrawler      searchText=
SearchEngine    excite          search=
SearchEngine    netscape.com    search=
SearchEngine    mamma.com       query=
SearchEngine    alltheweb.com   query=
SearchEngine    northernlight.com       qr=
SearchEngine    empas.com       q=
SearchEngine    naver.com       query=
===================================================================================


원하는 경로에 있는 webalizer.conf 파일을 바로 적용하는 명령어이다.

webalizer -c /etc/webalizer/{도메인명}-webalizer.conf 

이거 실행후 http://도메인/webalizer 웹으로 확인하면 됨.

바로 적용하면 access_log 가 그닥 없기때문에 바로 통계가 안나온다.

예전기록들을 적용하면 통계가 바로 즉시 적용된다.

/var/log/httpd/access_log 외에도 access_log.1 access_log.2 access_log.3 이런식으로

예전 로그파일들이 있다.

webalizer.conf의 access_log부분을 예전파일들을 읽도록 잡아주고

LogFile         /var/log/httpd/도메인-access_log.1

다시한번 실행하여 주면된다.

webalizer -c /etc/webalizer/{도메인명}-webalizer.conf 

그리고 마지막에 다시 webalizer.conf 에다가 현재 access_log파일인 

LogFile         /var/log/httpd/도메인-access_log

로 꼭 변경을 다시 해 줘야된다.

아파치 실제 접속자 수 구하기 Linux

아파치는 기본 세션으로 5개의  프로세스를 구동하여 1명의 유저를 받아드린다.


프로세스가 100개 떠있으면 100명이 아니라는것이다..


물론 서버마다 설정하기 달렸지만 필자는 모니터링 프로그램을 개발하다가 프로세스체크가 비효율적인것이라 판단되어


 


netstat -na |grep :80 |awk '{print $5}' | sed 's/::ffff://g' |awk -F ":" '{print $1}' |sort |uniq |wc -l


 


위와같은 방식으로 카운팅을 해버렸다.(허용오차 ±3)

출처 : juunoya


1 2 3 4 5 6 7 8 9 10 다음



clustrmaps