dtp-tripwire-agent
Version:
A service for protecting your node against malicious attacks and scans.
45 lines (44 loc) • 1.56 kB
TypeScript
import { NextFunction, Request, Response } from "express";
export type UriSet = Set<string>;
export type MethodMap = Map<string, UriSet>;
export interface TripwireConfigFileEntry {
name: string;
uris: string[];
}
export interface TripwireConfigFile {
prefixes: string[];
strings: string[];
methods: TripwireConfigFileEntry[];
}
export interface TripwireConfig {
prefixes: string[];
strings: string[];
methods: MethodMap;
}
export declare enum TripwireIncidentType {
MALFORMED_REQUEST = "malformed-request",
PREFIX_MATCH = "uri-prefix-match",
SUBSTRING_MATCH = "uri-substring-match",
PROHIBITED_METHOD = "prohibited-method"
}
export interface ITripwireIncident {
type: TripwireIncidentType;
matching?: string;
}
declare class TripwireService {
cacheDirectory: string;
configuration?: TripwireConfig;
updateTimerId?: NodeJS.Timeout;
start(): Promise<void>;
stop(): Promise<void>;
middleware(): (req: Request, _res: Response, next: NextFunction) => Promise<void>;
processError(error: Error, req: Request, res: Response): Promise<void>;
loadConfiguration(): Promise<void>;
fetchConfiguration(): Promise<TripwireConfigFile | undefined>;
loadConfigurationFile(): Promise<TripwireConfigFile | undefined>;
prepareCacheDirectory(): Promise<void>;
requestReview(error: Error, req: Request, res: Response): Promise<void>;
reportIncident(req: Request, incident: ITripwireIncident): Promise<void>;
}
declare const _default: TripwireService;
export default _default;