ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • SecurityOnion 도구 설치
    Linux 2022. 2. 6. 00:41
    반응형

    <== Setup을 눌러서 도구를 설치하도록 하자

    <== 응용 프로그램 '/usr/bin/sosetup'를 통해 시스템의 중요한 부분을 수정할 수 있다고 한다.

    패스워드를 입력해주자

    <==보안 양파 설정에 오신 것을 환영한다.
    이 프로그램을 사용하면 이머신(security-onion)에 security-onion을 구성할 수 있다.
    계속할꺼? 라고 한다. 계속한다고 하자

    <== /etc/network/interface가 이 스크립트로 이미 구성된 것 같음
    네트워크 구성을 스킵할까요? 라고 한다.

    네트워크 설정을 하지 않았더라면 네트워크 설정을 해주도록 하고, 만약 해줬다면 yes, skip netwok configuration을 누르도록 하자

    <== 빠른설정을 사용할것인가?(자동 설치) 고급 설정을 사용할것인가?(사용자 정의 설치) 라고 묻고있다.

    밑에 내용으로는 이 프로그램을 처음 사용하는 사람 또는 독립 vm에서는 빠른 설정이 권장

    SecurityOnion 빠른 평가 가능

    시스템의 대ㄷ부분의 세부정보를 자동으로 구성

    단일 네트워크 인터페이스를 모니터링하도록 snort 및 bro 구성

     

    고급 설정

    시스템의 세부 정보를 보다 세부적으로 제어할수 있고, 분산 센서 네트워크를 구축할수 있으므로 프로덕션 배포에 권장

    선택할수 있는 항목

    -sguil서버, sguil 센서 또는 둘다

    - 사용하는 IDS엔진(스노트랑 수리카타)

    -사용할 IDS 리셋(Emerging Threats, Snort VRT, 또는 둘다)\

    -IDS 엔진 및 Bro에서 모니터링해야 할 네트워크 인터페이스

    -snort, suricata, bro에서 실행할 프로세스 수

    -사용, 비사용으로 처리할 센서

    라고 되어있다.

     

    Bro란?

    bro는 네트워크 트래픽 분석도구로 많이 사용된다.

    유닉스 기반으로 만들어졌으며, SNORT와 SURICATA와는 달리 이상 징후 기반으로 동작하는 IDS에 적용된다.

     

    설치 방법이니깐 고긊 설정을 해보겠다.

    Advenced Setup을 누르자

    <== 그럼 server, sensor, standalone중 하나를 선택하라고 하는데

    server는 분산시스템을 처음할경우 선택하라고 한다.

    이 머신은 sguil, squert, snorby, ELSA 만 실행하고 네트워크 인터페이스를 모니터링 하지 않는다고 써져있다.

     

    분산 배포용 센서

    서버를 이미 설치한 경우( 즉 서버가 설치되고 난뒤 센서 기능을 추가로 하고 싶을경우) sensor를 선택하라고 한다.

    sudo 권한이 있는 계정을 사용해, 기존 서버 상자에 SSH를 설치할수 있어야 된다.

     

    그렇지 않다면 standalone를 선택해서 서버, 센서 구성요소를 모두 하라고 한다.

    나는 정보수집, 침입탐지, 분석을 이 머신에서 모두 할것이므로 마지막을 선택했다.

    <== snorby는 NIDS경고를 분석할 수 있는 웹 인터페이스이다.

    NDIS 경보는 Sguil, Squert 및 ELSA에서도 확인가능하다.

    따라서, 중복사용을 막기 위해 Snorby는 비활성화 하는것이 좋다고 한다.

     

    Snorby를 활성화할까? 라고 한다.

     

    맘대로 하자, 필자는 둘다 확인해보기 위해 사용할것이다.

    <==이메일 주소가 어떻게 되니?
    이것은 스노비 로그인 시 사용된다.

    <==당신의 sguil 사용자 이름을 무엇으로 할것인가?
    sguil, squert 및 ELSA에 로그인할 때 사용된다. 영어, 숫자만 사용해라 라고 한다.

    <== 패스워드를 설정하라고 한다. 패스워드를 설정해주자 6글자 이상으로 영문자, 숫자로 하라고 한다.

    <== 암호 재입력

    <== sguil 데이터베이스에 몇일을 보관할꺼냐고 묻는다.

    IDS알림, PADS 이벤트 및 PRADS 세션 데이터와 같은 항목이 있다.

    나중에 변경하고 싶다면 '/etc/nsm/securityonion.conf 파일에서 변경하라고 한다.

    정수를 입력하고, 기본값은 30일이라고 한다.

    원하는 만큼 설정하자.

    <== sguil 데이터 베이스 자료의 수정기간을 정하라고 한다.

    만약 너가 더 높은 밸류값을 설정했다면, sguil은 더 오랫동안 다운될것이다. 라고 한다.

    만약 너가 나중에 바꾸고 싶다면 '/etc/nsm/securityonion.conf 파일에서 변경하라고 한다.

    기본값은 7일이다.

    <== IDS 엔진으로 뭘 사용하고 싶냐고 한다.

    Snort 와 suricata가 있는데

    Snort는 대중적이고, Suricata는 Snort의 장점을 흡수하면서 단점을 보완하는 IDS이다.

    suricata는 snort와 호환 가능하고 snort보다 더 큰 트래픽을 처리할수 있어서 좋다.

    원하는것을 하도록 하자

    필자는 대중적인 Snort를 사용할것이다.

    <== IDS의 룰을 선택하면 된다.

    Emerging Threats GPL을 제외한 나머지는 유로이니깐 무료인 첫번째를 사용하자

    <== pf_ping의 최소슬롯을 지정하는것이다.

    디폴트 값은 4096이다. 만약 네트워크의 트래픽이 많다면, 너는 최대로 65534까지 적용할수있다.

    만약 너가 바꾸길 원한다면, /etc/modprobe.d/pf_ring.conf를 수정하고 pfring 모듈을 다시 로드할수 있다.

    라고 한다.

    뭐 딱히 이걸이용해서 뭘하진 않기 때문에 기본값을 사용할것이다. 만약 네트워크 트래픽을 많이 소모하는 작업을 할것이라면 좀더 높은 값을 주도록 하자.

    <== IDS 엔진(Snort/Suricata)은 이전 화면에 지정된 인터페이스를 수신하고 IDS alerts를 기록합니다.
    IDS 엔진을 사용하시겠습니까 라고 한다.

    하게 된다면, eth0을 수신해 IDS 경고를 기록할수있다.

    <== 몇개의 IDS 엔진 프로세스를 실행할것인가? 시스템 CPU 코어 수에 따라 제한된다.

    나중에 이 설정을 변경하고 싶을경우 /etc/nsm/HOSTNAME-INTERFACE/sensor.conf 에서 IDS_LB_PROCS를 변경하라고 한다.

    <== Bro를 활성화 할것인가? 아닌가를 묻고있다.

    활성화 하자

    <== Bro는 네트워크 트래픽에서 파일(기본적으로 EXE)을 추출할 수 있습니다.
    활성화된 경우 EXE는 /nsm/bro/extracted/에 저장됩니다.
    파일 압축을 해제하시겠습니까? 라고 한다.

    활성화하자

    <== 몇개의 BRO의 프로세스를 실행할것인가? 시스템 CPU 코어 수에 따라 제한된다.

    나중에 이 설정을 변경하고 싶을경우 /opt/bro/etc/node.cfg 에서 변경하라고 한다.

    <== http _agent는 Bro의 http.log정보를 Sguil의 데이터베이스로 전송한다.

     

    ELSA를 통해 Bro의 http.log에 엑세스할 생각이라면 중복 작업을 방지하기 위해 http_agent를 사용하지 않도록 설정할수 있다.

    http_agent를 사용할것인가? 라고 말하고 있다.

     

    ELSA보다 Sguil을 더 많이 사용할것이라면 활성화해서 사용하도록 하자

    <== Argus는 선택한 인터페이스에 대해 수신하고 세션 데이터를 파일 시스템에 기록한다.

    (즉 네트워크 감사를 생성 및 기록하고, 세션 데이터를 기록한다는 말이다)

     

    다른 형식의 세션 데이터(Bro's conn.log 또는 Prads)를 사용할 계획이라면 중복사용을 하고 싶지 않다면 비활성화할수 있다고 한다.

    Bro의 conn.log나 Prads에서도 기록할수 있다.

    Argus를 사용할것이냐고 묻고있다.

    <==Prads는 선택한 인터페이스를 청취하고 Sguil을 위한 세션 데이터를 제공한다.

    (Argus와 비슷해보이지만 Prads는 Sguil의 asset데이터도 제공해준다)

     

    다른 형식의 세션 데이터(Bro's 의 conn.log 또는 Argus)를 사용할 계획일 경우, 또는 다른 형태의 데이터 (Bro의 software.log)를 사용할 계획이라면

    중복해서 사용하지 않도록 비활성화 할수 있다.

     

    활성화 할것인가?

    <== 전체 패킷 캡처는 모니터링되고 있는 모든 트래픽을 기록한다 

    전체 패킷 캡처를 할 경우 많은 디스크 용량이 필요한다.

    하지만 사용자에게 포렌식을 편하게 사용할 많은 정보를 준다.

    따라서, 적극 권장한다.

    전체 패킷 캡처를 사용할것인가? 라고 한다.

    디스크 용량이 많다면 선택하도록 하자

    <== pcap의 파일 크기를 얼마로 설정할지 물어본다.

    mb단위로 입력하란다.

    기본값은 150

    window는 winpcap

    유닉스는 libpcap

    <== netsniff-ng은 기본적으로 scatter/gather pcap file I/O를 사용한다.

    성능을 높이고 싶다면 mmap I/O를 사용하면 되지만, RAM이 더 많이 필요하다.

    MMAP I/O를 사용할것인가? 라고 한다.

    <== PCAP ring의 버퍼 크기를 얼마나 원하시나요?

    각 모니터링 인터페이스는 RAM으로부터 격리된 지정된 양을 가질것이므로 시스템이 충분한 메모리를 가지고 있는지 확인해라. 센서 인터페이스 4개와 ring 버퍼 지정량이 1GB인 경우 패킷 버퍼링을 위해 총 RAM 4GB가 할당된다. 사용량이 많은 네트워크의 경우 256MB 이상의 ring 버퍼가 권장된다.

     

    pcap ring의 크기를 얼만 설정할것이냐고 한다.

    만약 네트워크 인터페이스를 모니터링하고 싶다면 64MB는 어림도 없으니 적어도 256MB이상으로 설정해주자

    <== 오래된 로그를 언제부터 삭제할것인지 설정하는것이다.

    10에서 100이내로 설정하란다. 기본값은 90

    <==솔트를 활성화하여 전체 센서 배치를 관리할 수 있습니다.

    기본적으로 솔트는 다음 사항을 자동으로 업데이트합니다.
    * OS 사용자 계정
    * 해당 사용자 계정에 대한 SSH 키
    * IDS 규칙 집합

    솔트는 원격 실행에도 사용할 수 있으므로 명령을 실행할 수 있습니다.
    배포 환경의 모든 센서에서 실행할 수 있습니다.

    솔트를 사용하시겠습니까?

     

    Salt는 양념 즉, 암호같으것에 추가적으로 더 첨가하는 것이다.

    <== ELSA(Enterprise Log Search and Archive)는 중앙집중형 로그 관리를 위한 프레임워크이다.

    Syslog-NG, MySQL, Sphinx full-text search를 기반으로 한다 

     

    웹 기반 인터페이스와 함께 분산 데이터베이스를 제공한다.

    다음과 같은 로그에서 사용된다.

    * Bro logs
    * OSSEC alerts/logs
    * Snort/Suricata logs
    * standard syslog
    별도의 서버 및 센서가 있는 독립 머신에서는 모든 상자의 ELSA를 활성화/비활성화를 할수 있다.

    ELSA를 사용하려면 마스터 서버와 모든 센서에서 ELSA를 활성화해야된다.

     

    활성화 하도록 하자

     

    <== 엘사에 얼마만큼의 디스크 공간을 할당한것인가 라는것이다.

    기본값은 전체 용량의 절반값이다.

    설정한 값이 디스크 크기보다 작은지 확인해봐라

    만약 너가 나중에 바꾸고 싶다면 /etc/elsa_node.conf file 에서 수정하면 된다.

    <== 이제 마지막이다. 설정한 값이랑 맞는지 확인후 맞다면 yes, proceed with the changes를 눌러 적용하도록 하자.

    <== 기다리다 보면 여러창이 뜰것이다. 한번씩 읽어보도록 하자

    <== 설치가 완료되었다!

    설정 로그는 /var/log/nsm/paretup.log에서 찾을수 있다.

    Sguil, Squert, Snorby또는 ELSA를 사용해 IDS 알림을 볼수 있다.

     

    Bro 로그는 ELSA 및 /nsm/bro/ 에서 찾을수 있다.

    <== sostat 유틸리티를 사용하여 실행 중인 서비스의 상태를 확인할 수 있습니다.

    'sudo socat'는 서비스 상태에 대한 자세한 정보를 제공합니다.
    'sudo sostat-quick'에서는 sostat 출력에 대한 안내를 제공합니다.

    <== 풀포크가 다운로드한 규칙은 다음 위치에 저장됩니다.
    /etc/nsm/sm/downloaded.규칙.

    로컬 규칙은 다음에 추가할 수 있습니다.
    /etc/nsm/local.규칙.

    다운로드된 규칙을 PullPork에서 수정하도록 할 수 있습니다.
    파일을 수정하여 다음을 수행합니다.
    /etc/nsm/spork/

    규칙은 매일 아침 업데이트될 것입니다.
    다음을 실행하여 수동으로 업데이트할 수 있습니다.
    sudo 규칙 업데이트

    센서는 다음 위치의 파일을 수정하여 조정할 수 있습니다.
    /etc/nsM/NAME-OF-SENSOR/

    <== 궁금하면 웹사이트에 방문하란다.

    <== 상업적 이용이나 교육이 필요할경우 이 사이트로 가란다.

     

     

    도구 설치 끝!

    반응형

    'Linux' 카테고리의 다른 글

    Sguil 기본창  (0) 2022.02.21
    SecurityOnion 네트워크 설정  (0) 2022.02.04
    Security Onion 설치  (0) 2022.02.03
    SandBox-1편 설치  (0) 2021.07.16
    데비안 계열 리눅스에 칼리 도구 다운받기  (0) 2021.06.30

    댓글

Designed by Tistory.