출처: http://dante2k.tistory.com/487


우분투는 데비안 계열이기때문에 dpkg 를 이용하여 .deb 으로 배포되는 배포파일을 설치합니다. 그런고로 그냥 .rpm 배포판을 설치할 수 없는데 rpm 파일을 deb 파일로 변환해서 설치하면 가능합니다.


 변환에 사용하는 프로그램은 alien 이라는 프로그램으로 다음과 같이 설치가 필요합니다.


$ sudo apt-get install alien


 이후 변환하고 싶은 rpm 파일을 deb로 변환하는 명령어는 다음과 같습니다.


$ sudo alien -c <변환할파일명>.rpm


 위 명령어를 입력후 프로그램마다 걸리는 시간이 좀 다른데 용량이 크면 오래걸립니다. 잠시 기다리면 변환할 파일명과 동일한 deb 파일이 생성이 되고 이는 다음 명령어를 이용하여 설치하면 됩니다.


$ sudo dpkg -i <변환된파일명>.deb


 이렇게 해서 rpm 패키지로 배포되는 프로그램을 우분투에서 설치하는 방법을 알아보았습니다. 끝.

출처: http://dondon2i.tistory.com/289


This virtual machine is configured for 64-bit guest operating systems. However, 64-bit operation is not possible.


This host supports Intel VT-x, but Intel VT-x is disabled.


Intel VT-x might be disabled if it has been disabled in the BIOS/firmware settings or the host has not been power-cycled since changing this setting.


(1) Verify that the BIOS/firmware settings enable Intel VT-x and disable 'trusted execution.'


(2) Power-cycle the host if either of these BIOS/firmware settings have been changed.


(3) Power-cycle the host if you have not done so since installing VMware Workstation.


(4) Update the host's BIOS/firmware to the latest version.


For more detailed information, see http://vmware.com/info?id=152.

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

OK   

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

 

 

PC의 BIOS 정보 수정:

CPU 환경 설정에 Intel Virtualization Technology의 값이 Disabled로 되어 있으면 Enabled로 변경.

출처: http://jentalkstoomuch.blogspot.kr/2010/09/writing-custom-ossec-rules-for-your.html

http://ossec-docs.readthedocs.org/en/latest/manual/rules-decoders/create-custom.html

 

 

 

LIDS.pdf

 

 

디코더 설정전

# /var/ossec/bin/ossec-logtest
2013/11/01 10:39:07 ossec-testrule: INFO: Reading local decoder file.
2013/11/01 10:39:07 ossec-testrule: INFO: Started (pid: 32109).
ossec-testrule: Type one log per line.

2013-11-01T10:01:04.600374-04:00 arrakis ossec-exampled[9123]: test connection from 192.168.1.1 via test-protocol1

 

**Phase 1: Completed pre-decoding.
       full event: '2013-11-01T10:01:04.600374-04:00 arrakis ossec-exampled[9123]: test connection from 192.168.1.1 via test-protocol1'
       hostname: 'arrakis'
       program_name: 'ossec-exampled'
       log: 'test connection from 192.168.1.1 via test-protocol1'

**Phase 2: Completed decoding.
       No decoder matched.

 

 

 

 

디코더 설정후

/var/ossec/etc/decoder.xml

 

위 파일에 디코더 룰 설정해야 함

 

<decoder name="ossec-exampled">
  <program_name>ossec-exampled</program_name>
</decoder>

 

2013-11-01T10:01:04.600374-04:00 arrakis ossec-exampled[9123]: test connection from 192.168.1.1 via test-protocol1

**Phase 1: Completed pre-decoding.
       full event: '2013-11-01T10:01:04.600374-04:00 arrakis ossec-exampled[9123]: test connection from 192.168.1.1 via test-protocol1'
       hostname: 'arrakis'
       program_name: 'ossec-exampled'
       log: 'test connection from 192.168.1.1 via test-protocol1'

**Phase 2: Completed decoding.
       decoder: 'ossec-exampled'

 

 

 

 

 

 

 

디코더 상세 설정 후

<decoder name="ossec-exampled-test-connection">
  <parent>ossec-exampled</parent>
  <prematch offset="after_parent">^test connection </prematch> <!-- offset="after_parent" makes OSSEC ignore anything matched by the parent decoder and before -->
  <regex offset="after_prematch">^from (\S+) via (\S+)$</regex> <!-- offset="after_prematch" makes OSSEC ignore anything matched by the prematch and earlier-->
  <order>srcip, protocol</order>
</decoder>
다음과 같이 수정 후 로그를 보면.. 다음과 같다.

 

# /var/ossec/bin/ossec-logtest
2013/11/01 11:03:25 ossec-testrule: INFO: Reading local decoder file.
2013/11/01 11:03:25 ossec-testrule: INFO: Started (pid: 6290).
ossec-testrule: Type one log per line.

2013-11-01T10:01:04.600374-04:00 arrakis ossec-exampled[9123]: test connection from 192.168.1.1 via test-protocol1


**Phase 1: Completed pre-decoding.
       full event: '2013-11-01T10:01:04.600374-04:00 arrakis ossec-exampled[9123]: test connection from 192.168.1.1 via test-protocol1'
       hostname: 'arrakis'
       program_name: 'ossec-exampled'
       log: 'test connection from 192.168.1.1 via test-protocol1'

**Phase 2: Completed decoding.
       decoder: 'ossec-exampled'
       srcip: '192.168.1.1'
       proto: 'test-protocol1'

출처: https://groups.google.com/forum/#!topic/fluentd/aotQAmHlTUY

 

ossec.conf:

<syslog_output>
 
<server>192.168.33.29</server>
 
<port>514</port>
 
<level>1</level>
 
<format>json</format>
</syslog_output>

 

 ossec.conf 설정후 아래 명령어를 입력해주어야 한다.

 

/var/ossec/bin/ossec-control enable client-syslog

/var/ossec/bin/ossec-control restart

 

 

위의 명령어만 실행시켜준다면 192.168.33.29 port514 로 syslog가 던져지게 된다.

던져진 syslog를 가공시킬때 fluentd를 이용할 수 있는데 설정 방법은 아래와 같다.

 

 


td-agent.conf

<source>
  type syslog
  port 514
  bind 0.0.0.0
  tag ossec
</source>

<match ossec.**>
  type parser
  key_name message
  format json
  reserve_data yes
  tag elasticsearch.ossec
</match>

 

2014-10-02 02:48:41 +0000 out.ossec: {"host":"natha","ident":"ossec","message":"Integrity checksum changed for: '/etc/td-agent/conf.d/01ossec.conf'","crit":7,"id":551,"component":"natha->syscheck","classification":" ossec,syscheck,","description":"Integrity checksum changed again (2nd time).","file":"/etc/td-agent/c
onf.d/01ossec.conf"
,"md5_old":"'c140e56819d80a855ac3bdf199edc7ac'","md5_new":"'225b664140960fb8c982032a79f54e11'","sha1_old":"'ab9ccbf5a6e4fe95b954b9b991520cce15eb1370'","sha1_new":"'ade1d88272ff4f2075bfc7a511cb22e9e5b91372'"}

 

 

 

 

 

 

 

 

 

출처: http://snoopy81.tistory.com/377

 

※ Unix의 루트 디렉토리 아래에 있는 몇가지 특수 디렉토리

   1. /usr : 시스템 사용시 고정된 공유파일을 포함

   2. /bin : 명령어를 실행할 수 있는 파일을 가진 디렉토리

   3. /dev : 프린터, 모니터 등 입출력 장치파일들이 있는 디렉토리

   4. /etc : 시스템에서 사용되는 관리파일을 가짐

   5. /tmp : 임시파일을 만들기 위해 사용되는 파일

   6. /sbin : 관리자만이 쓰는 파일

 



♣ 메타문자 사용

  ▶ * : 0개 이상의 문자

  ▶ ? : 1개의 문자

  ▶ [ ] : 괄호 안의 어떤 한 문자 혹은 괄호 안의 범위의 문자

  ▶ [! ] : 괄호 안의 문자들과 대응하지 않는 것

  ▶ \* : 메티문자를 일반문자로 바꿀 경우 사용(\)



 

♣ Unix의 간단한 명령어

  ▶ ; : 한줄에 두 개 이상의 명령어 실행 (ex. $ cal;date)

  ▶ | : 동시수행 (ex. ls | more)



 

■■ a ■■

adduser : 루트로 로그인해서 이용자를 추가

   ● $ adduser -p wef21 -g aaa -s '/bin/bash' -d '/home/test01' user

▶ awk : 파일의 선택필드를 자름 (-F패턴 : 구분자를 써줌, 패턴을 생략하면 모든 라인에서 동작)

   ● $ awk -F: '$3>=1000 {print $1,$3}' passwd : passwd파일에서 UID가 1000보다 큰 유저명과 UID 출력

 

     $ ls -l | awk '{print $9,$5}' : 현재 디렉토리에서 파일명과 파일사이즈를 출력

 


■■ c ■■

cat : 파일의 내용을 출력

   ● $ cat -n test.log : test.log파일을 행 번호를 붙여서 보여줌

▶ chmod : 파일 및 디렉토리 사용권환 변경

   ● $ chmod 755 test : test 파일(디렉토리)의 권한을 rwxr-xr-x로 변경

▶ cp : 파일 복사

   ● $ cp ./test/text.txt . : test/text.txt파일을 현재 디렉토리로 복사

     $ cp -r test test01 : test디렉토리에 있는 모든 파일(서브 디렉토리의 모든 파일포함)을 test01로 복사


■■ d ■■

date : 현재 날짜를 보여줌

   ● $ date


■■ f ■■

▶ file : 파일 유형 출력

   ● $ file aaa.tar : aaa.tar: POSIX tar archive (GNU)

find : 주어진 파일명과 동일한 파일을 찾고, 그 경로를 출력

  ◈type : d-디렉토리, f-일반파일

 

  ◈user : 지정한 사용자 ID가 찾은 사용자 ID와 일치되면 출력

  ◈size : 파일 크기가 일치되면 출력(1블록 = 512byte)

    +2 : 파일의 크기가 1024byte 이상인 파일을 찾음

    -2 : 파일의 크기가 1024byte 미만인 파일을 찾음

  ◈mtime : 지정한 시간에 변경된 파일을 찾음

    +n : 지금으로부터 n일 이전에 수정된 파일

    -n : 지금시각으로부터 최근 n일 동안 수정된 파일

  ◈exec : 명령어를 실행, 인수는 {}로 표시, 명령어 끝은 항상 \;로 끝남


 

   ● $ find / -name test01 : 최상위 디렉토리부터 검색하여 파일명이 test01인 파일을 출력

     $ find . -name test01 : 현재 디렉토리부터 검색하여 파일명이 test01인 파일을 출력

     $ find ~ -name test01 : 홈 디렉토리부터 검색하여 파일명이 test01인 파일을 출력

     $ find . -mtime -10 exec rm {} \; : 10일 이내에 수정한 파일을 검색하여 삭제

 

     $ find . -type f -a -mtime -1 -exec cp {} ./back \; : 현재 디렉토리로부터 일반파일이고 최근 하루동안 수정한 파일을 back디렉토리로 복사

 

     $ find . -type d -exec chmod 777 {} \; : 현재 디렉토리로부터 파일형식이 디렉토리(폴더)인 파일의 권한을 777(rxwrxwrxw)로 변경

 

 

finger : who 명령어를 보충하는 명령어, 특정 사용자에 대한 정보 출력

   ● $ finger
▶ free : 메모리의 사용상태와 남은 상태, 버퍼의 상태등을 보여줌
   ● $ free


■■ g ■■

▶ grep : 파일 중에서 어떤한 패턴을 검색 (grep 문장 파일명)

   ● $ grep -n single test.txt : test.txt파일에서 "single"과 매치되는 라인을 출력

     $ grep -v single test.txt : test.txt파일에서 "single"과 매치되지 않는 라인을 출력

     $ grep -n single /home -R : home 폴더 및 하위에 있는 모든 파일에서 "single"과 매치되는 라인을 출력

     $ grep -l single /etc : etc 폴더 및 하위에 있는 모든 파일에서 "single"과 매치되는 라인이 있는 파일명 출력

     $ grep -i single test.txt : test.txt파일에서 대소문자 구분없이 "single"과 매치되는 라인을 출력

 

     $ grep ^soon passwd : passwd파일에서 soon으로 시작하는 라인을 찾음

 

     $ grep bash$ passwd : passwd파일에서 bash로 끝나는 라인을 찾음

 

     $ grep -n 1-5-1[0-9] passwd : passwd파일에서 (1-5-10 ~ 1-5-19)의 문자열이 들어가는 라인을 라인번호와 같이 출력

 

 

     $ ls -l | grep ^- : 현재폴더에서 일반파일 찾음
▶ gzip : 파일 압축/해제 (파일명.gz으로 압축됨, 디렉토리파일은 압축이 안됨)
   ● $ gzip aaa.tar : aaa.tar파일을 aaa.tar.gz으로 압축
     $ gzip -d aaa.tar.gz : aaa.tar.gz압축 파일의 압축해제

 

 

■■ h ■■

▶ help : help 명령어

   $ mkdir --help : mkdir명령어에 대한 help를 보여줌

 


■■ i ■■

▶ id : 사용자의 로그인명, ID, 그룹 ID 등을 출력

   ● $ id


■■ k ■■

▶ kill : 실행되고 있는 프로세서 ID를 입력해서 프로세서를 종료

   ● $ kill -9 2341 : 2341의 pid를 가진 프로세서를 강제 kill


■■ l ■■

▶ ln : 파일 연결 (-s는 Symbolic Link, -s옵션이 없으면 Hard Link)

   ● $ ln -s test test101 : test(원본)를 test101(공유)와 심볼릭(-s) 링크

 

     $ ln -s back bbbb

 

         drwxr-xr-x+ 1 snoopy None     0 Jan  9 17:08 back

         lrwxrwxrwx  1 snoopy None     4 Jan  9 17:10 bbbb -> back

 

 

▶ ls : 디렉토리와 파일의 정보를 출력

   ● $ ls -al : 모든 파일에 대한 파일의 정보를 출력
     $ ls -t : 최종 수정된 시간별로 정렬하여 출력

     $ ls -F : 파일의 특성을 출력


■■ m ■■

▶ mkdir : 디렉토리를 만듦

   ● $ mkdir -p ./test/test01 : 부모디렉토리까지 한번에 만듦

▶ mv : 파일 이름 변경 및 이동

   ● $ mv test1 test2 : test1의 이름을 test2로 변경

     $ mv -i : 이미 존재하는 파일을 덮어 쓸 것인지를 물어봄


■■ n ■■

▶ nohup : 로그아웃 후에도 백그라운드 명령을 계속 실행(결과는 nohup.out에 저장)

   ● $ nohup ls -l : ls -l 명령어를 백그라운드로 실행 (ls -l의 결과는 nohup.out에 저장되어 있음)


■■ p ■■

▶ ps : 프로세서에 관한 리스트를 보여

   ● $ ps -e : 현재 시스템 내에 실행 중인 프로세스에 관련된 정보를 출력

     $ ps -f : 프로세서에 대한 모든 정보를 출력

▶ pwd : (print working directory) 현재 작업 directory를 출력

   ● $ pwd

■■ r ■■

▶ rm : (remove) 파일을 제거(한번 삭제된 파일은 다시 복구 할 수 없음)

   ● $ rm -f test1 : 권한이 없는 파일이라도 강제로 지움

     $ rm -r test1 : 서브디렉토리를 포함한 모든 내용을 지움

     $ rm -i test1 : 각 파일에 대하여 지울 것인지 물어 봄

▶ rmdir : (remove directory) 디렉토리를 삭제(디렉토리에 파일이 존재할 경우 삭제할 수 없음) => rm -rf 사용

   ● $ rmdir test1 : 해당 디렉토리를 삭제


■■ s ■■

▶ su : 사용중에 다른 ID로 재접속하는 명령어

   ● $ su user01 : user01로 접속 (사용자ID 없이 su만 입력하면 root로 접속)


■■ t ■■

▶ tail : 파일의 마지막 n개의 내용을 보고자 할 때 사용

   ● $ tail -f test.log : test.log파일의 최근 변경된 내용을 출력

▶ tar : 파일 묶음/해제

   ● $ tar -cvf back.tar . : 현재 폴더의 모든 파일을 back.tar로 묶음

     $ tar -cvf home.tar /home : home 디렉토리를 home.tar로 묶음
     $ tar -xvf back.tar : back.tar파일의 묶음을 해제

 

     $ tar -tvf aaa.tar : aaa.tar파일의 묶음을 해제하지 않고 안의 내용을 출력

▶ touch : 파일의 최종 시간을 변경/파일 크기가 0인 빈파일 생성
   ● $ touch test : test파일의 최종 시간을 현재시간으로 변경
     $ touch aaa : 사이즈가 0인 aaa파일(일반파일)을 생성

 


■■ w ■■

▶ wc : 파일내의 정보 출력 / 명령문의 개수 출력

   ● $ wc -l test.txt : test.txt파일내의 라인수 출력

 

     $ wc -w test.txt : test.txt파일내의 단어수 출력

 

     $ wc -c test.txt : test.txt파일내의 문자수 출력

 

 

▶ who : 시스템에 로그인된 사용자를 보여줌

   ● $ who

▶ whoami : 사용자의 ID를 출력

   ● $ whoami


 

■■ 기타 ■■

▶ > : 출력 재지정(저장)

   ● $ ls -l > t.file : ls -l의 결과를 t.file로 저장

     $ ls -l > /dev/null : ls -l의 결과를 버림

▶ < : 입력 재지정(입력)

   ● $ cat < test/test.txt : test/test.txt파일로 부터 입력받아 cat 실행



■■■■ 연습문제 ■■■■
1. 홈 디렉토리 이하에 생성된 모든 디렉토리의 개수를 출력하시오.
  ==>> $ find ~ -type d | wc -l

2. 홈 디렉토리 이하에 있는 디렉토리의 권한을 700로 변경하시오
  ==>> $ find ~ -type d -exec chmod 700 {} \;

3. etc 밑의 일반파일에서 unix라는 문자열이 포함된 파일명을 출력하시오.
  ==>> $ find /etc -type f -exec grep -l 'unix' {} \;

 

이메일 파싱

 

parsemail.py

http://blog.magiksys.net/parsing-email-using-python-content

https://raymii.org/s/tutorials/OSSEC_and_webui_and_analogi_dashboard_installation_on_Ubuntu.html

-webui 설치

 

 

http://ossec-docs.readthedocs.org/en/latest/index.html

OSSEC-book-ch3.pdf

 

auscert-2007-dcid.pdf

 

ossec.pdf

 

ossec-agent-win32-2.8.3.exe

https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-ossec-security-notifications-on-ubuntu-14-04


서버 설치 및 agent 연동

https://www.digitalocean.com/community/tutorials/how-to-monitor-ossec-agents-using-an-ossec-server-on-ubuntu-14-04


MDAxIGFnZW50LXdpbmRvd3MgMTkyLjE2OC4zMy4xMDEgMjYxOGNiMDEyOGIzZDRjMDc3YTQ1OWFmZjkwMTMwMjMwN2ZmMzU4MWU5OWYzNTg4YzEyMjFhMWY2YWE3NGM4OA==

 

 

OSSEC WUI 설치 방법

http://www.ossec.net/wiki/index.php/OSSECWUI:Install

https://packetfactory.wordpress.com/2012/03/25/ossec-install-ubuntu-with-wui/

+ Recent posts