38 lines
894 B
TypeScript
38 lines
894 B
TypeScript
|
|
import type { IIpIntelligenceResult } from '@push.rocks/smartnetwork';
|
||
|
|
|
||
|
|
export type TSecurityBlockRuleType = 'ip' | 'cidr' | 'asn' | 'organization';
|
||
|
|
export type TSecurityBlockRuleMatchMode = 'exact' | 'contains';
|
||
|
|
|
||
|
|
export interface IIpIntelligenceRecord extends IIpIntelligenceResult {
|
||
|
|
ipAddress: string;
|
||
|
|
firstSeenAt: number;
|
||
|
|
lastSeenAt: number;
|
||
|
|
updatedAt: number;
|
||
|
|
seenCount: number;
|
||
|
|
}
|
||
|
|
|
||
|
|
export interface ISecurityBlockRule {
|
||
|
|
id: string;
|
||
|
|
type: TSecurityBlockRuleType;
|
||
|
|
value: string;
|
||
|
|
matchMode?: TSecurityBlockRuleMatchMode;
|
||
|
|
enabled: boolean;
|
||
|
|
reason?: string;
|
||
|
|
createdAt: number;
|
||
|
|
updatedAt: number;
|
||
|
|
createdBy: string;
|
||
|
|
}
|
||
|
|
|
||
|
|
export interface ISecurityCompiledPolicy {
|
||
|
|
blockedIps: string[];
|
||
|
|
blockedCidrs: string[];
|
||
|
|
}
|
||
|
|
|
||
|
|
export interface ISecurityPolicyAuditEvent {
|
||
|
|
id: string;
|
||
|
|
action: string;
|
||
|
|
actor: string;
|
||
|
|
details: Record<string, unknown>;
|
||
|
|
createdAt: number;
|
||
|
|
}
|