Files
ai-security-xdr/haobang-security-dm/syslog-consumer/target/classes/com/common/service/AccessLogAlertService.class
T

187 lines
21 KiB
Plaintext
Raw Normal View History

Êþº¾4¤
-¥¦
¥ §¨
© ª
«¬
«­ ® ¯° ±²
³ ´ µ ·¸ ¹º »¼ »½¾
¿ ·ÀÁ ·Â
ÃÄÅ
Æ ±Ç
È
É
ÊË ±ÌÍ ±Î ·ÏÐ Ñ ÒÓ ¹ÏÔÕÖ ¹Â ±× ·Ø Ùº
ÚÛ
Ü ±ÝÞßà ±á
â
HÏã
ä
åæ
çèé
êë
åìí
îïð
ñò
H¥óô
K¥õ
Jö÷
Køùú
R¥û
Rüý
þÿ
«
R
J

 þ
 
  
J
J
J


J
J
J
J
J !"
J#$
J%&
J'
J(
J)
J*
J+
J,-./
J01
J23
J45
R6
R78
J9:
J;<=>
J?@
JAB
CD
C
DEFG
¥
HI
JJK
JLM
JNO
JP
DQR
JST
DU
CVWXYZ
H[\
³¥ ¸]
³^_`a
³bc
d
Def
Hgh
Ài j kl
mn
Ào kpq
HÂ
Hr
st
uv
uwx
Ky
uz{
u|
}
u~{
u

uƒ
u
u
uˆŠ
uŒ
uŽ
u
u
u
u
u
u
u
u˜
š
u
uœ
u
už
uŸ 
u¡¢
u£
u¤
¥ ¦ §¨©ª«¬
ÿ­
DÏ
«®¯
«°
«±² ±³´
Kµ
KÏ
sö
s· ±¸¹
Kº
s»
s¼
s½
s¾¿ À ÁÂà ±Ä ¹ÅÆ
Ç
ÈÉ
ÊËlogLorg/slf4j/Logger;deviceDeviceService(Lcom/common/service/DeviceDeviceService;RuntimeVisibleAnnotations8Lorg/springframework/beans/factory/annotation/Autowired;algorithmResultParser'Lcom/common/util/AlgorithmResultParser; restTemplate-Lorg/springframework/web/client/RestTemplate;syslogNormalDataMapper*Lcom/common/mapper/SyslogNormalDataMapper;secExceptionAlgorithmMapper/Lcom/common/mapper/SecExceptionAlgorithmMapper;alarmVisitMapper$Lcom/common/mapper/AlarmVisitMapper;lastProcessTimeLjava/time/LocalDateTime;DATE_TIME_FORMATTER$Ljava/time/format/DateTimeFormatter;algorithmCacheLjava/util/Map; SignatureJLjava/util/Map<Ljava/lang/Long;Lcom/common/entity/SecExceptionAlgorithm;>;
processing+Ljava/util/concurrent/atomic/AtomicBoolean;<init>()VCodeLineNumberTableLocalVariableTablethis*Lcom/common/service/AccessLogAlertService;init Ljavax/annotation/PostConstruct;loadAlgorithmConfigs algorithm)Lcom/common/entity/SecExceptionAlgorithm;enabledAlgorithmsLjava/util/List;eLjava/lang/Exception;LocalVariableTypeTable;Ljava/util/List<Lcom/common/entity/SecExceptionAlgorithm;>;
StackMapTableÌÍÉÄsafeProcessTaskÎ5Lorg/springframework/scheduling/annotation/Scheduled;cron
0 */1 * * * ?processAccessLogAlert currentTimenewLogs6Ljava/util/List<Lcom/common/entity/SyslogNormalData;>;Ͼ1Lorg/springframework/scheduling/annotation/Async;processAlgorithm<(Lcom/common/entity/SecExceptionAlgorithm;Ljava/util/List;)Vlogs requestBody Lcom/alibaba/fastjson/JSONArray;response)Lorg/springframework/http/ResponseEntity;results=Lorg/springframework/http/ResponseEntity<Ljava/lang/String;>;òÐÑíÖb(Lcom/common/entity/SecExceptionAlgorithm;Ljava/util/List<Lcom/common/entity/SyslogNormalData;>;)VbuildRequestBody2(Ljava/util/List;)Lcom/alibaba/fastjson/JSONArray; logObject!Lcom/alibaba/fastjson/JSONObject;geoDipgeoSiplogData$Lcom/common/entity/SyslogNormalData; requestArrayóôX(Ljava/util/List<Lcom/common/entity/SyslogNormalData;>;)Lcom/alibaba/fastjson/JSONArray;callAlgorithmApit(Lcom/common/entity/SecExceptionAlgorithm;Lcom/alibaba/fastjson/JSONArray;)Lorg/springframework/http/ResponseEntity;urlLjava/lang/String;
requestEntity%Lorg/springframework/http/HttpEntity;headers&Lorg/springframework/http/HttpHeaders;9Lorg/springframework/http/HttpEntity<Ljava/lang/String;>;\ˆ(Lcom/common/entity/SecExceptionAlgorithm;Lcom/alibaba/fastjson/JSONArray;)Lorg/springframework/http/ResponseEntity<Ljava/lang/String;>;processApiResponseN(Lcom/common/entity/SecExceptionAlgorithm;Ljava/lang/String;Ljava/util/List;)V alarmResult
alarmVisitLcom/common/entity/AlarmVisit;iI
alarmCount responseBodyt(Lcom/common/entity/SecExceptionAlgorithm;Ljava/lang/String;Ljava/util/List<Lcom/common/entity/SyslogNormalData;>;)V:Lorg/springframework/transaction/annotation/Transactional;
parseDateTime-(Ljava/lang/String;)Ljava/time/LocalDateTime;
localDateTimetimeStrAddOriginLogFieldT(Ljava/lang/String;Lcom/common/entity/AlarmVisit;Lcom/alibaba/fastjson/JSONObject;)ZoriginLogObjectdeviceIp
AlgorithmNameÒ getDeviceID(Ljava/lang/String;)I source_ipdeviceId
deviceList2Ljava/util/List<Lcom/common/entity/DeviceDevice;>;<clinit>
SourceFileAccessLogAlertService.java(Lorg/springframework/stereotype/Service;<Lorg/springframework/scheduling/annotation/EnableScheduling;7Lorg/springframework/scheduling/annotation/EnableAsync; ;<&java/util/concurrent/ConcurrentHashMap 56)java/util/concurrent/atomic/AtomicBoolean ;Ó 9:Ï ÔÕ Ö× 12 !"7åˆå§‹åŒ–AccessLogAlertServiceï¼Œä¸Šæ¬¡å¤„ç†æ—¶é—´: {}Ñ ØÙ D< -.Ú ÛÜÝ Þ<Ì ßàÍ áâ ãä'com/common/entity/SecExceptionAlgorithm åæ çè%加载了 {} 个å¯ç”¨çš„算法é…ç½® éê ëìjava/lang/Exception加载算法é…置失败: {} íî ïð ñò W< óÓ3上一个任务ä»åœ¨æ‰§è¡Œä¸­ï¼Œè·³è¿‡æœ¬æ¬¡æ‰§è¡Œ ôõ*开始执行访问日志告警处ç†ä»»åŠ¡ Øõ öâ0没有å¯ç”¨çš„算法é…置,跳过本次处ç +,÷ øù7没有å‘现新的日志数æ®ï¼Œä¸Šæ¬¡å¤„ç†æ—¶é—´: {}<获å–到 {} æ¡æ–°çš„æ—¥å¿—æ•°æ®ï¼Œæ—¶é—´èŒƒå›´: {} 到 {}java/lang/Object Øú ûüý ^_=处ç†ç®—法é…置失败 [算法ID: {}, 算法åç§°: {}]: {} þî ïúC访问日志告警处ç†ä»»åŠ¡å®Œæˆï¼Œä¸‹æ¬¡å°†ä»Ž {} 开始处ç(访问日志告警处ç†ä»»åС异叏: {}开始处ç†ç®—法: {} (ID: {}) Øð mn+算法 {} æ— æœ‰æ•ˆçš„è¯·æ±‚å‚æ•°ï¼Œè·³è¿‡ yzÐ ÿ â调用算法API失败: {} - {} î æ— å“应 äjava/lang/String 算法 {} 未检测到告警 com/alibaba/fastjson/JSONArray"com/common/entity/SyslogNormalDatacom/alibaba/fastjson/JSONObject_id åî ç_indexjava/lang/StringBuilderes1:skyeye-file-  

yyyy.MM.dd  
 î_source.@timestamp Õ   4_source.@version6_source.access_time 34_source.device_ip î _source.dip î
_source.dport æ  ë_source.dst_mac  î_source.file_dir !î_source.file_md5 "î_source.filename #î city_name $îcontinent_code
country_code2 country_name %îlatitude &î longitude 'î (î )î *î +î ,î_source.geo_dip_source.geo_sip _source.host -î_source.host_md5 .î_source.host_raw /î_source.host_reraw ;õ 01_source.method 2î_source.mime_type 3î_source.priv_info{"product_type": "sensor"}
_source.proto 4î_source.referer 5î_source.serial_num6 78 9:_source.sess_keyjava/util/Random ;ê _source.sip <î
_source.sport =æ_source.src_mac >î_source.status ?æ ë@ _source.uri Aî_source.uri_md5 BC DE_source.vendor_id_source.vlan_id_type skyeye-file FG$org/springframework/http/HttpHeaders HI JKAccept"org/springframework/http/MediaTypeapplication/json óLGET Mî NO?data= Pî#org/springframework/http/HttpEntity ;Q )*R cST UV ;W XS#调用算法API异常 [URL: {}]: {} YZÒ [^_ `a bcdname de fa未知 ga hî ia jk access_time  lcsip mkdip nk status_code oareason -  origin_field palog_id qk Pythonç®—å­ ra st uv wt xtother ya zc {t| ë} ~   t ƒt研判åŽå¤„ç½® ahost a   /0ˆ Š#算法 {} ç”Ÿæˆ {} æ¡å‘Šè­¦è®°å½•处ç†APIå“应异常: {}java/lang/RuntimeException处ç†APIå“应失败 ; Œyyyy-MM-dd HH:mm:ss.SSS ŒŽ Ô*æ—¶é—´è§£æžå¤±è´¥: {}, ä½¿ç”¨å½“å‰æ—¶é—´ ôÙ
origin_log Y=算法:{},ID:{} ,AlarmNme:{} 没有返回 origin_log节点. î újava/lang/Integer    ˜õ õ<算法:{} 补充原始记录日志字段异常。error:{} #$š œL设备请求的Host IP注册超过一æ¡è®°å½•,请è”系管ç†å‘˜å¤„ç†ï¼ ïõ žcom/common/entity/DeviceDevice åŸ  ê(com/common/service/AccessLogAlertService¡ ¢£java/util/Listjava/util/Iteratorjava/lang/Throwablejava/time/LocalDateTime'org/springframework/http/ResponseEntityorg/slf4j/Loggercom/common/entity/AlarmVisit(Z)Vnow()Ljava/time/LocalDateTime; minusMinutes(J)Ljava/time/LocalDateTime;info'(Ljava/lang/String;Ljava/lang/Object;)V-com/common/mapper/SecExceptionAlgorithmMapperfindEnabledAlgorithms()Ljava/util/List;
java/util/Mapcleariterator()Ljava/util/Iterator;hasNext()Znext()Ljava/lang/Object;getId()Ljava/lang/Long;put8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;size()IvalueOf(I)Ljava/lang/Integer;
getMessage()Ljava/lang/String;error9(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
compareAndSet(ZZ)Zsetwarn(Ljava/lang/String;)VisEmpty(com/common/mapper/SyslogNormalDataMapperfindRequiredFieldsAfterTime+(Ljava/time/LocalDateTime;)Ljava/util/List;((Ljava/lang/String;[Ljava/lang/Object;)Vvalues()Ljava/util/Collection;java/util/CollectiongetAlgorithmName
getStatusCode'()Lorg/springframework/http/HttpStatus;#org/springframework/http/HttpStatusis2xxSuccessful getApiUrlgetBodycom/alibaba/fastjson/JSON
parseArray4(Ljava/lang/String;)Lcom/alibaba/fastjson/JSONArray;8(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;"java/time/format/DateTimeFormatter ofPattern8(Ljava/lang/String;)Ljava/time/format/DateTimeFormatter;format8(Ljava/time/format/DateTimeFormatter;)Ljava/lang/String;toString
getLogTimejava/time/ZoneId
systemDefault()Ljava/time/ZoneId;java/time/ZonedDateTimeofF(Ljava/time/LocalDateTime;Ljava/time/ZoneId;)Ljava/time/ZonedDateTime;ISO_OFFSET_DATE_TIME getDeviceIp getDestIp getDestPortjava/lang/Long longValue()J(J)Ljava/lang/Long;
getDestMacgetHostFilePath
getFileMd5 getFileName getDestCitygetDestCountry
getDestLat
getDestLon
getSrcCitygetSrcCountryCode
getSrcCountry getSrcLat getSrcLon getHttpHostgetHostFileMd5getHttpReqHeaderRawreverse()Ljava/lang/StringBuilder;
getHttpMethodgetHttpRespContentTypegetProtogetHttpRefererjava/util/UUID
randomUUID()Ljava/util/UUID; substring(II)Ljava/lang/String;nextIntgetSrcIp
getSrcPort getSrcMacgetHttpStatusCode&(Ljava/lang/Object;)Ljava/lang/String;
getHttpUrlgetBytes()[BnameUUIDFromBytes([B)Ljava/util/UUID;add(Ljava/lang/Object;)ZAPPLICATION_JSON$Lorg/springframework/http/MediaType;setContentType'(Lorg/springframework/http/MediaType;)V'(Ljava/lang/String;Ljava/lang/String;)V getApiMethodequalsIgnoreCase(Ljava/lang/String;)Z toJSONString+(Lorg/springframework/util/MultiValueMap;)V#org/springframework/http/HttpMethod%Lorg/springframework/http/HttpMethod;+org/springframework/web/client/RestTemplateexchange«(Ljava/lang/String;Lorg/springframework/http/HttpMethod;Lorg/springframework/http/HttpEntity;Ljava/lang/Class;[Ljava/lang/Object;)Lorg/springframework/http/ResponseEntity;=(Ljava/lang/Object;Lorg/springframework/util/MultiValueMap;)VPOST
getJSONObject$(I)Lcom/alibaba/fastjson/JSONObject;builderAlarmVisitBuilder InnerClasses2()Lcom/common/entity/AlarmVisit$AlarmVisitBuilder;.com/common/entity/AlarmVisit$AlarmVisitBuilderidD(Ljava/lang/String;)Lcom/common/entity/AlarmVisit$AlarmVisitBuilder; createdAtK(Ljava/time/LocalDateTime;)Lcom/common/entity/AlarmVisit$AlarmVisitBuilder; getString&(Ljava/lang/String;)Ljava/lang/String; alarmName
alarmLevelgetExceptionType alarmType victimWebUrlE([Ljava/lang/String;)Lcom/common/entity/AlarmVisit$AlarmVisitBuilder;
logStartAtattackIpvictimIp
httpStatuscomment originLogIds
engineTypelogCountE(Ljava/lang/Integer;)Lcom/common/entity/AlarmVisit$AlarmVisitBuilder; alarmSource3(I)Lcom/common/entity/AlarmVisit$AlarmVisitBuilder; attackResultfallattackDirectionetlTime
isAssetHitjava/lang/Boolean(Z)Ljava/lang/Boolean;focusedE(Ljava/lang/Boolean;)Lcom/common/entity/AlarmVisit$AlarmVisitBuilder; baseFocused isUpdated judgedState
disposedStatedispositionAdvicednsInfobuild ()Lcom/common/entity/AlarmVisit;"com/common/mapper/AlarmVisitMapperinsert!(Lcom/common/entity/AlarmVisit;)V*(Ljava/lang/String;Ljava/lang/Throwable;)Vparse3(Ljava/lang/CharSequence;)Ljava/time/LocalDateTime;W(Ljava/lang/CharSequence;Ljava/time/format/DateTimeFormatter;)Ljava/time/LocalDateTime;-(Ljava/time/ZoneId;)Ljava/time/LocalDateTime;5(Ljava/lang/String;)Lcom/alibaba/fastjson/JSONObject; getAlarmNamedebug
getInteger'(Ljava/lang/String;)Ljava/lang/Integer;
setAttackPort([Ljava/lang/Integer;)V
setVictimPortsetAttackMethod