손상된 호스트를 탐지하기위한 대체 Linux 탐지 방법


2

이것은 내가 달성하려는 것을 완전히 명확하지 않았기 때문에 이전 게시물을 다시 쓴 것입니다. 잘만되면 이것은 더 이해가 될 것입니다 :)

간단히 말해서, tripwire / OSSEC / samhain / rkhunter와 같은 도구를 사용하고 일반적인 파일 무결성 검사 및 로그 모니터링과 같은 도구를 사용하여 시스템이 손상되었는지 여부를 감지하는 대체 방법이 있습니다. 나는 일반적으로 아이디어를 따를 때 내 질문에 너무 구체적이지 않도록 내 자신의 컴퓨터에서 구현할 수 있도록 노력하고 있습니다. 이것은 아마도 설정된 간격으로 실행되는 스크립트 (cronjob)에 국한되지 않으며 변경 사항이있는 경우 관리자에게 알리고 관리자에게 (syslog / email?)을 통해 추가 조사를 요청합니다. 참고 코드 자체를 따라야 할 필요는 없습니다. 원하는만큼 자세하게 표현하십시오.

내가 현재 추구하는 아이디어에 대한 일반적인 아이디어를주기 위해 현재 내가하고있는 몇 가지 사항을 나열하면 도움이 될 수 있습니다.

1) 실행중인 iptables의 출력에 대한 md5sum을 생성하고 알려진 양호한 해시와 비교하십시오. 이것이 변경되면 누군가 iptables 항목을 추가 / 제거했다고 가정하는 것이 안전합니다.

2) 읽기 전용 (/ usr, / boot 등)의 마운트 지점이 자주 변경되지 않기 때문에 특정 마운트 지점이 있습니다. 파티션이 읽기 전용에서 쓰기 가능으로 변경되면 알림을 받고 싶습니다.

3) 청취 서비스에 대해서만 netstat의 출력을 모니터하십시오. 알려진 양호한 값을 포함하는 파일에 대해 파일 비교 (diff)를 수행하십시오. 추가 된 것이 있으면 누군가가 새로운 서비스를 시스템에 추가 한 것입니다. 가능한 백도어?

시스템 유지 관리를 수행하는 경우 위의 내용은 오 탐지를 생성합니다. 그러나 내가 아닌 경우에 이러한 변경 사항이 있으면 의심스러운 것으로 간주하고 추가 조사를 수행합니다. 이것들은 단지 예일 뿐이며 모든 것과 같은 결함이 있지만 누군가 넘어 질 확률이 높아집니다.

미리 감사드립니다.

답변:


2

ForensicsWiki에 나열된 것과 같은 메모리 포렌식 도구를 살펴 보는 것이 좋습니다 . 예를 들어 Second Look Linux 메모리 포렌식 제품으로 커널 및 프로세스 무결성 검증을 수행 할 수 있습니다 . 파일 무결성 검사기는 시스템의 비 휘발성 상태를 검증하는 데 유용합니다. 메모리 포렌식을 사용하면 특정 시점에 시스템에서 실행되는 모든 코드가 합법적이고 수정되지 않도록 휘발성 상태를 확인할 수 있습니다.


1

아마도 나는 당신의 질문을 오해합니다. samhain , snort 또는 OSSEC 와 같은 유닉스 호스트 IDS / IPS에 대한 정보가 필요한 것 같습니다 . 거기 위키 거기에 너무. 아니면 다른 것을 찾고 있었습니까?


의견을 보내 주셔서 감사합니다. 나는 위에서 언급 한 도구 중 일부를 사용하고 있으며 매우 좋습니다. 나는 내가 달성하려는 것에 대해 명확하고 노력하도록 게시물을 업데이트했습니다.
Gareth Williams

1

나는 integrit (이진 무결성 검사), Tiger (시스템 IDS / 감사 자), 로그 검사 및 심각하게 거친 IPtables 규칙 (OUTPUT을 포함하여 내가 할 수있는 모든 것을 거부합니다)의 조합을 실행합니다. 데비안의 모든 기본 설정은 정기적으로 작업을 수행합니다. 간격과 이메일 출력을 루트로 보냅니다.

또한 할 수 있고해야 할 일에 대한 좋은 개요를 보려면 보안 데비안 매뉴얼 을 추천합니다 .


0

매일 nmap을 실행하고 xml 형식으로 출력을 저장합니다.
nmap 192.168.0.0/24 -oX /tmp/nmap.output nmap의

모든 옵션을 살펴 보는 것은 오래 걸리지
http://www.nmap.org 에는 많은 정보가 있습니다.

그런 다음 nmap 패키지에서 ndiff를 사용
하여 다른 날 의 출력을 비교하고
추가, 제거되었거나 새 포트가 열린 컴퓨터 목록을 가져올 수 있습니다.

이 모든 것을 cron에 설정하고 목록은 실행 후 메일로 발송됩니다.


이것은 내가 추구하는 유형의 좋은 예입니다.
Gareth Williams

0

OSSEC은 시스템 감사 기능으로이를 수행 할 수 있습니다. 사용해 보셨습니까? 출력 명령에 대한 에이전트없는 모니터링도보십시오.



0

서비스, ​​로그 모니터링, 파일 체크섬 무결성 등을 위해 Zabbix 를 사용해 볼 수 있습니다. 설치 및 구성이 매우 쉽습니다. 타사 소프트웨어를 추가하기 위해 필요에 따라 사용자 정의해야 할 수도 있습니다.


0

나는 OSSEC 프로젝트를 많이 진행하고 있으며 문제를 해결할 수 있다는 것을 알고 있습니다. 기본적으로 제공되지는 않지만 약간의 조정으로 작동합니다.

섹션 1 : ip 테이블의 md5sum 생성

OSSEC의 새로운 기능 중 명령 출력의 차이점에 대해보고하려면 etc / ossec.conf에 다음을 추가하십시오.

<ossec_config> 
    <localfile> 
        <log_format>command</log_format>
        <command>iptables -L -n</command>
    </localfile>
</ossec_config>

그런 다음 다음과 같은 로컬 규칙을 만듭니다.

<rule id="98989" level="10">
    <if_sid>530</if_sid>
    <match>ossec: output: iptables -L -n</match>
    <check_diff />
    <description>Change made to iptables</description>
</rule>

자세한 내용은 http://www.ossec.net/doc/manual/monitoring/process-monitoring.html을 참조하십시오.

섹션 2 : 특정 마운트 지점은 읽기 전용입니다

현재 rootcheck는이를 간단히 확인하지만 직접 추가하는 것은 간단합니다.

먼저이 etc/shared/예제 에서 rootcheck 정책 파일을 작성 unix_mount_policy.txt하고 다음 내용으로 이름을 지정합니다 .

# This will make sure that the OS this file is used for pilicy is running redhat 
# and it should be changed for your environment 
[Policy - Check OS] [any required] [http://intranet.example.com/location/of/policy]
f:/etc/redhat-release -> r:^Red Hat Enterprise Linux \S+ release 5;
f:/etc/redhat-release -> r:^CentOS && r:release 5.2;

# First real rule
# This will alert if /usr does not have ro on the same line 
[Policy - Mounts read only] [any] [http://intranet.example.com/location/of/policy/readonly]
f:/etc/fstab ->  !r:^# && r:/usr && !r:ro

섹션 3 : 청취 서비스 전용 netstat 출력 모니터

rootcheck는 이미이 기능을 수행하지만 섹션 1의 답변에서 공통 출력 로그를 사용하여 변경하는 것이 매우 간단한 지 확인하려면 설정하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.