룰 샘플입니다.
반드시 아래의 항목들을 지켜주시는게 좋습니다.
name, type, index, filter, doc_type
기본 항목들이 없으면 에러가 발생하네요.
cli 방식으로 할때는 name과 doc_type이 없어도 작동이 되었는데....
#name
name: ap_login_success
# 로그는 탐지하는 타입
type: any
# logstash에서 설정한 log의 index 값
index: "logstash-ap*"
# 필터 grok 패턴 지정한 필드의 값에 같은 값이 들어올 경우
filter:
- query_string:
query: access_result:"successfully"
# document type
doc_type: _doc
# 알람 전송 매체 지정
alert:
- "slack"
# 알람 전송 옵션
slack:
# 슬랙 웹훅 주소
slack_webhook_url: "https://hooks.slack.com/services/---------------------------------------"
# 슬랙 채널에 메시지 전달할 이름
slack_username_override: "ElastAlert-Bot"
# 슬랙 메시지를 보낼 채널
slack_channel_override: "#security_alert"
# 슬랙 메시지에 타이틀 지정
# 지정하지 않을 경우 rule의 절대 경로 명이 찍힘: /opt/elastalert/ruls/ap_login_fail.yaml
slack_title: AP_LOGIN_SUCCESS
# 슬랙 메시지 색
slack_msg_color: "good"
# 슬랙에 전송할 메시지
# 슬랙에 전송할 메시지 중 배열 입력시 맨 아랫줄의 순서에 따라 숫자 입력
# 숫자 위치는 바뀌어도 됨
alert_text: "AP_LOGIN_SUCESS: {0} / 접속자:{1} / 접속자IP: {2}"
# 슬랙에 전송할 메시지 타입
alert_text_type: "alert_text_only"
# 슬랙에 전송할 메시지 중 탐지된 메시지에 대한 배열 입력
alert_text_args: ["ip_or_host", "user", "source_ip"]
룰 입력 후 저장을 누르면 아래와 같은 화면을 볼 수 있습니다.
웹페이지 상에서 룰을 생성할 경우, 서버에서도 마찬가지로 자동으로 생성됩니다.
[root@tmplogsvr rules]# pwd
/opt/elastalert/rules
[root@tmplogsvr rules]# ls -al
합계 16
drwxr-xr-x. 2 root root 4096 3월 16 18:08 .
drwxr-xr-x. 13 root root 4096 3월 16 18:09 ..
-rw-r--r--. 1 root root 574 3월 16 18:17 ap_login_fail.yaml
-rw-r--r--. 1 root root 1383 3월 16 18:17 ap_login_success.yaml
[root@tmplogsvr rules]#
[root@tmplogsvr rules]# cat ./ap_login_success.yaml
#name
name: ap_login_success
# 로그는 탐지하는 타입
type: any
# logstash에서 설정한 log의 index 값
index: "logstash-ap*"
# 필터 grok 패턴 지정한 필드의 값에 같은 값이 들어올 경우
filter:
- query_string:
query: access_result:"successfully"
doc_type: _doc
# 알람 전송 매체 지정
alert:
- "slack"
# 알람 전송 옵션
slack:
# 슬랙 웹훅 주소
slack_webhook_url: "https://hooks.slack.com/services/---------------------------------"
# 슬랙 채널에 메시지 전달할 이름
slack_username_override: "ElastAlert-Bot"
# 슬랙 메시지를 보낼 채널
slack_channel_override: "#security_alert"
# 슬랙 메시지에 타이틀 지정
# 지정하지 않을 경우 rule의 절대 경로 명이 찍힘: /opt/elastalert/ruls/ap_login_fail.yaml
slack_title: AP_LOGIN_SUCCESS
# 슬랙 메시지 색
slack_msg_color: "good"
# 슬랙에 전송할 메시지
# 슬랙에 전송할 메시지 중 배열 입력시 맨 아랫줄의 순서에 따라 숫자 입력
# 숫자 위치는 바뀌어도 됨
alert_text: "AP_LOGIN_SUCESS: {0} / 접속자:{1} / 접속자IP: {2}"
# 슬랙에 전송할 메시지 타입
alert_text_type: "alert_text_only"
# 슬랙에 전송할 메시지 중 탐지된 메시지에 대한 배열 입력
alert_text_args: ["ip_or_host", "user", "source_ip"]
[root@tmplogsvr rules]#
'기술 노트 > elastalert' 카테고리의 다른 글
OS 로그인 알람 (0) | 2023.04.10 |
---|---|
elastalert 웹 관리 방식 사용 시 (0) | 2023.03.17 |
kibana에서 elastalert 사용하기 (0) | 2023.03.17 |
elastalert 실행하기 (0) | 2023.03.17 |
elastalert 설치하기 (간단히) (0) | 2023.03.16 |