UNPKG

dtp-tripwire-agent

Version:

A service for protecting your node against malicious attacks and scans.

45 lines (44 loc) 1.56 kB
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;