import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface PreventionPolicyLinuxConfig extends cdktf.TerraformMetaArguments { /** * Use cloud-based machine learning informed by global analysis of executables to detect and prevent known malware for your online hosts. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/prevention_policy_linux#cloud_anti_malware PreventionPolicyLinux#cloud_anti_malware} */ readonly cloudAntiMalware?: PreventionPolicyLinuxCloudAntiMalware; /** * Whether to enable the setting. Block processes matching hashes that you add to IOC Management with the action set to "Block" or "Block, hide detection". * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/prevention_policy_linux#custom_blocking PreventionPolicyLinux#custom_blocking} */ readonly customBlocking?: boolean | cdktf.IResolvable; /** * Whether to enable the setting. Allows the sensor to monitor local D-Bus traffic for malicious patterns and improved detections. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/prevention_policy_linux#dbus_visibility PreventionPolicyLinux#dbus_visibility} */ readonly dbusVisibility?: boolean | cdktf.IResolvable; /** * Description of the prevention policy. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/prevention_policy_linux#description PreventionPolicyLinux#description} */ readonly description?: string; /** * Whether to enable the setting. Block new processes originating from files written in a container. This prevents a container from drifting from its immutable runtime state. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/prevention_policy_linux#drift_prevention PreventionPolicyLinux#drift_prevention} */ readonly driftPrevention?: boolean | cdktf.IResolvable; /** * Whether to enable the setting. Allows the sensor to monitor SMTP, IMAP, and POP3 traffic for malicious patterns and improved detections. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/prevention_policy_linux#email_protocol_visibility PreventionPolicyLinux#email_protocol_visibility} */ readonly emailProtocolVisibility?: boolean | cdktf.IResolvable; /** * Enable the prevention policy. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/prevention_policy_linux#enabled PreventionPolicyLinux#enabled} */ readonly enabled?: boolean | cdktf.IResolvable; /** * Whether to enable the setting. Allows the sensor to monitor an extended set of changes to environment variables in order to enhance visibility. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/prevention_policy_linux#enhance_environment_variable_visibility PreventionPolicyLinux#enhance_environment_variable_visibility} */ readonly enhanceEnvironmentVariableVisibility?: boolean | cdktf.IResolvable; /** * Whether to enable the setting. Allows the sensor to monitor activities performed by PHP scripts to provide additional telemetry and improved detections. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/prevention_policy_linux#enhance_php_visibility PreventionPolicyLinux#enhance_php_visibility} */ readonly enhancePhpVisibility?: boolean | cdktf.IResolvable; /** * Whether to enable the setting. Allows the sensor to monitor full CLI commands that include pipes and redirects. This is applicable only for User mode. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/prevention_policy_linux#extended_command_line_visibility PreventionPolicyLinux#extended_command_line_visibility} */ readonly extendedCommandLineVisibility?: boolean | cdktf.IResolvable; /** * Whether to enable the setting. Allows the sensor to monitor filesystem activity for additional telemetry and improved detections. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/prevention_policy_linux#filesystem_visibility PreventionPolicyLinux#filesystem_visibility} */ readonly filesystemVisibility?: boolean | cdktf.IResolvable; /** * Whether to enable the setting. Allows the sensor to monitor unencrypted FTP traffic for malicious patterns and improved detections. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/prevention_policy_linux#ftp_visibility PreventionPolicyLinux#ftp_visibility} */ readonly ftpVisibility?: boolean | cdktf.IResolvable; /** * Host Group ids to attach to the prevention policy. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/prevention_policy_linux#host_groups PreventionPolicyLinux#host_groups} */ readonly hostGroups: string[]; /** * Whether to enable the setting. Allows the sensor to monitor unencrypted HTTP traffic for malicious patterns and improved detections. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/prevention_policy_linux#http_visibility PreventionPolicyLinux#http_visibility} */ readonly httpVisibility?: boolean | cdktf.IResolvable; /** * IOA Rule Group to attach to the prevention policy. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/prevention_policy_linux#ioa_rule_groups PreventionPolicyLinux#ioa_rule_groups} */ readonly ioaRuleGroups: string[]; /** * Whether to enable the setting. When enabled, the sensor will inspect memory-related operations: mmap, mprotect, ptrace and reading/writing remote process memory and produce events. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/prevention_policy_linux#memory_visibility PreventionPolicyLinux#memory_visibility} */ readonly memoryVisibility?: boolean | cdktf.IResolvable; /** * Name of the prevention policy. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/prevention_policy_linux#name PreventionPolicyLinux#name} */ readonly name: string; /** * Whether to enable the setting. Allows the sensor to monitor network activity for additional telemetry and improved detections. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/prevention_policy_linux#network_visibility PreventionPolicyLinux#network_visibility} */ readonly networkVisibility?: boolean | cdktf.IResolvable; /** * Whether to enable the setting. Provides improved visibility into various script files being written to disk in addition to clouding a portion of their content. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/prevention_policy_linux#on_write_script_file_visibility PreventionPolicyLinux#on_write_script_file_visibility} */ readonly onWriteScriptFileVisibility?: boolean | cdktf.IResolvable; /** * Whether to enable the setting. Block processes that CrowdStrike analysts classify as suspicious. These are focused on dynamic IOAs, such as malware, exploits and other threats. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/prevention_policy_linux#prevent_suspicious_processes PreventionPolicyLinux#prevent_suspicious_processes} */ readonly preventSuspiciousProcesses?: boolean | cdktf.IResolvable; /** * Whether to enable the setting. Quarantine executable files after they’re prevented by NGAV. When this is enabled, we recommend setting anti-malware prevention levels to Moderate or higher and not using other antivirus solutions. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/prevention_policy_linux#quarantine PreventionPolicyLinux#quarantine} */ readonly quarantine?: boolean | cdktf.IResolvable; /** * Whether to enable the setting. Provides visibility into suspicious scripts, including shell and other scripting languages. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/prevention_policy_linux#script_based_execution_monitoring PreventionPolicyLinux#script_based_execution_monitoring} */ readonly scriptBasedExecutionMonitoring?: boolean | cdktf.IResolvable; /** * For offline and online hosts, use sensor-based machine learning to identify and analyze unknown executables as they run to detect and prevent malware. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/prevention_policy_linux#sensor_anti_malware PreventionPolicyLinux#sensor_anti_malware} */ readonly sensorAntiMalware?: PreventionPolicyLinuxSensorAntiMalware; /** * Whether to enable the setting. Block attempts to tamper with the sensor by protecting critical components and resources. If disabled, the sensor still creates detections for tampering attempts but will not prevent the activity from occurring. Disabling is not recommended. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/prevention_policy_linux#sensor_tampering_protection PreventionPolicyLinux#sensor_tampering_protection} */ readonly sensorTamperingProtection?: boolean | cdktf.IResolvable; /** * Whether to enable the setting. Upload suspicious files for advanced threat analysis with QuickScan Pro. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/prevention_policy_linux#suspicious_file_analysis PreventionPolicyLinux#suspicious_file_analysis} */ readonly suspiciousFileAnalysis?: boolean | cdktf.IResolvable; /** * Whether to enable the setting. Allows the sensor to monitor TLS traffic for malicious patterns and improved detections. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/prevention_policy_linux#tls_visibility PreventionPolicyLinux#tls_visibility} */ readonly tlsVisibility?: boolean | cdktf.IResolvable; /** * Whether to enable the setting. Upload all unknown detection-related executables for advanced analysis in the cloud. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/prevention_policy_linux#upload_unknown_detection_related_executables PreventionPolicyLinux#upload_unknown_detection_related_executables} */ readonly uploadUnknownDetectionRelatedExecutables?: boolean | cdktf.IResolvable; /** * Whether to enable the setting. Upload all unknown executables for advanced analysis in the cloud. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/prevention_policy_linux#upload_unknown_executables PreventionPolicyLinux#upload_unknown_executables} */ readonly uploadUnknownExecutables?: boolean | cdktf.IResolvable; } export interface PreventionPolicyLinuxCloudAntiMalware { /** * Machine learning level for detection. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/prevention_policy_linux#detection PreventionPolicyLinux#detection} */ readonly detection: string; /** * Machine learning level for prevention. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/prevention_policy_linux#prevention PreventionPolicyLinux#prevention} */ readonly prevention: string; } export declare function preventionPolicyLinuxCloudAntiMalwareToTerraform(struct?: PreventionPolicyLinuxCloudAntiMalware | cdktf.IResolvable): any; export declare function preventionPolicyLinuxCloudAntiMalwareToHclTerraform(struct?: PreventionPolicyLinuxCloudAntiMalware | cdktf.IResolvable): any; export declare class PreventionPolicyLinuxCloudAntiMalwareOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): PreventionPolicyLinuxCloudAntiMalware | cdktf.IResolvable | undefined; set internalValue(value: PreventionPolicyLinuxCloudAntiMalware | cdktf.IResolvable | undefined); private _detection?; get detection(): string; set detection(value: string); get detectionInput(): string; private _prevention?; get prevention(): string; set prevention(value: string); get preventionInput(): string; } export interface PreventionPolicyLinuxSensorAntiMalware { /** * Machine learning level for detection. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/prevention_policy_linux#detection PreventionPolicyLinux#detection} */ readonly detection: string; /** * Machine learning level for prevention. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/prevention_policy_linux#prevention PreventionPolicyLinux#prevention} */ readonly prevention: string; } export declare function preventionPolicyLinuxSensorAntiMalwareToTerraform(struct?: PreventionPolicyLinuxSensorAntiMalware | cdktf.IResolvable): any; export declare function preventionPolicyLinuxSensorAntiMalwareToHclTerraform(struct?: PreventionPolicyLinuxSensorAntiMalware | cdktf.IResolvable): any; export declare class PreventionPolicyLinuxSensorAntiMalwareOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): PreventionPolicyLinuxSensorAntiMalware | cdktf.IResolvable | undefined; set internalValue(value: PreventionPolicyLinuxSensorAntiMalware | cdktf.IResolvable | undefined); private _detection?; get detection(): string; set detection(value: string); get detectionInput(): string; private _prevention?; get prevention(): string; set prevention(value: string); get preventionInput(): string; } /** * Represents a {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/prevention_policy_linux crowdstrike_prevention_policy_linux} */ export declare class PreventionPolicyLinux extends cdktf.TerraformResource { static readonly tfResourceType = "crowdstrike_prevention_policy_linux"; /** * Generates CDKTF code for importing a PreventionPolicyLinux resource upon running "cdktf plan " * @param scope The scope in which to define this construct * @param importToId The construct id used in the generated config for the PreventionPolicyLinux to import * @param importFromId The id of the existing PreventionPolicyLinux that should be imported. Refer to the {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/prevention_policy_linux#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the PreventionPolicyLinux to import is found */ static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktf.TerraformProvider): any; /** * Create a new {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/prevention_policy_linux crowdstrike_prevention_policy_linux} Resource * * @param scope The scope in which to define this construct * @param id The scoped construct ID. Must be unique amongst siblings in the same scope * @param options PreventionPolicyLinuxConfig */ constructor(scope: Construct, id: string, config: PreventionPolicyLinuxConfig); private _cloudAntiMalware; get cloudAntiMalware(): PreventionPolicyLinuxCloudAntiMalwareOutputReference; putCloudAntiMalware(value: PreventionPolicyLinuxCloudAntiMalware): void; resetCloudAntiMalware(): void; get cloudAntiMalwareInput(): any; private _customBlocking?; get customBlocking(): boolean | cdktf.IResolvable; set customBlocking(value: boolean | cdktf.IResolvable); resetCustomBlocking(): void; get customBlockingInput(): any; private _dbusVisibility?; get dbusVisibility(): boolean | cdktf.IResolvable; set dbusVisibility(value: boolean | cdktf.IResolvable); resetDbusVisibility(): void; get dbusVisibilityInput(): any; private _description?; get description(): string; set description(value: string); resetDescription(): void; get descriptionInput(): string; private _driftPrevention?; get driftPrevention(): boolean | cdktf.IResolvable; set driftPrevention(value: boolean | cdktf.IResolvable); resetDriftPrevention(): void; get driftPreventionInput(): any; private _emailProtocolVisibility?; get emailProtocolVisibility(): boolean | cdktf.IResolvable; set emailProtocolVisibility(value: boolean | cdktf.IResolvable); resetEmailProtocolVisibility(): void; get emailProtocolVisibilityInput(): any; private _enabled?; get enabled(): boolean | cdktf.IResolvable; set enabled(value: boolean | cdktf.IResolvable); resetEnabled(): void; get enabledInput(): any; private _enhanceEnvironmentVariableVisibility?; get enhanceEnvironmentVariableVisibility(): boolean | cdktf.IResolvable; set enhanceEnvironmentVariableVisibility(value: boolean | cdktf.IResolvable); resetEnhanceEnvironmentVariableVisibility(): void; get enhanceEnvironmentVariableVisibilityInput(): any; private _enhancePhpVisibility?; get enhancePhpVisibility(): boolean | cdktf.IResolvable; set enhancePhpVisibility(value: boolean | cdktf.IResolvable); resetEnhancePhpVisibility(): void; get enhancePhpVisibilityInput(): any; private _extendedCommandLineVisibility?; get extendedCommandLineVisibility(): boolean | cdktf.IResolvable; set extendedCommandLineVisibility(value: boolean | cdktf.IResolvable); resetExtendedCommandLineVisibility(): void; get extendedCommandLineVisibilityInput(): any; private _filesystemVisibility?; get filesystemVisibility(): boolean | cdktf.IResolvable; set filesystemVisibility(value: boolean | cdktf.IResolvable); resetFilesystemVisibility(): void; get filesystemVisibilityInput(): any; private _ftpVisibility?; get ftpVisibility(): boolean | cdktf.IResolvable; set ftpVisibility(value: boolean | cdktf.IResolvable); resetFtpVisibility(): void; get ftpVisibilityInput(): any; private _hostGroups?; get hostGroups(): string[]; set hostGroups(value: string[]); get hostGroupsInput(): string[]; private _httpVisibility?; get httpVisibility(): boolean | cdktf.IResolvable; set httpVisibility(value: boolean | cdktf.IResolvable); resetHttpVisibility(): void; get httpVisibilityInput(): any; get id(): any; private _ioaRuleGroups?; get ioaRuleGroups(): string[]; set ioaRuleGroups(value: string[]); get ioaRuleGroupsInput(): string[]; get lastUpdated(): any; private _memoryVisibility?; get memoryVisibility(): boolean | cdktf.IResolvable; set memoryVisibility(value: boolean | cdktf.IResolvable); resetMemoryVisibility(): void; get memoryVisibilityInput(): any; private _name?; get name(): string; set name(value: string); get nameInput(): string; private _networkVisibility?; get networkVisibility(): boolean | cdktf.IResolvable; set networkVisibility(value: boolean | cdktf.IResolvable); resetNetworkVisibility(): void; get networkVisibilityInput(): any; private _onWriteScriptFileVisibility?; get onWriteScriptFileVisibility(): boolean | cdktf.IResolvable; set onWriteScriptFileVisibility(value: boolean | cdktf.IResolvable); resetOnWriteScriptFileVisibility(): void; get onWriteScriptFileVisibilityInput(): any; private _preventSuspiciousProcesses?; get preventSuspiciousProcesses(): boolean | cdktf.IResolvable; set preventSuspiciousProcesses(value: boolean | cdktf.IResolvable); resetPreventSuspiciousProcesses(): void; get preventSuspiciousProcessesInput(): any; private _quarantine?; get quarantine(): boolean | cdktf.IResolvable; set quarantine(value: boolean | cdktf.IResolvable); resetQuarantine(): void; get quarantineInput(): any; private _scriptBasedExecutionMonitoring?; get scriptBasedExecutionMonitoring(): boolean | cdktf.IResolvable; set scriptBasedExecutionMonitoring(value: boolean | cdktf.IResolvable); resetScriptBasedExecutionMonitoring(): void; get scriptBasedExecutionMonitoringInput(): any; private _sensorAntiMalware; get sensorAntiMalware(): PreventionPolicyLinuxSensorAntiMalwareOutputReference; putSensorAntiMalware(value: PreventionPolicyLinuxSensorAntiMalware): void; resetSensorAntiMalware(): void; get sensorAntiMalwareInput(): any; private _sensorTamperingProtection?; get sensorTamperingProtection(): boolean | cdktf.IResolvable; set sensorTamperingProtection(value: boolean | cdktf.IResolvable); resetSensorTamperingProtection(): void; get sensorTamperingProtectionInput(): any; private _suspiciousFileAnalysis?; get suspiciousFileAnalysis(): boolean | cdktf.IResolvable; set suspiciousFileAnalysis(value: boolean | cdktf.IResolvable); resetSuspiciousFileAnalysis(): void; get suspiciousFileAnalysisInput(): any; private _tlsVisibility?; get tlsVisibility(): boolean | cdktf.IResolvable; set tlsVisibility(value: boolean | cdktf.IResolvable); resetTlsVisibility(): void; get tlsVisibilityInput(): any; private _uploadUnknownDetectionRelatedExecutables?; get uploadUnknownDetectionRelatedExecutables(): boolean | cdktf.IResolvable; set uploadUnknownDetectionRelatedExecutables(value: boolean | cdktf.IResolvable); resetUploadUnknownDetectionRelatedExecutables(): void; get uploadUnknownDetectionRelatedExecutablesInput(): any; private _uploadUnknownExecutables?; get uploadUnknownExecutables(): boolean | cdktf.IResolvable; set uploadUnknownExecutables(value: boolean | cdktf.IResolvable); resetUploadUnknownExecutables(): void; get uploadUnknownExecutablesInput(): any; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }