import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface DefaultPreventionPolicyLinuxConfig 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/default_prevention_policy_linux#cloud_anti_malware DefaultPreventionPolicyLinux#cloud_anti_malware} */ readonly cloudAntiMalware?: DefaultPreventionPolicyLinuxCloudAntiMalware; /** * 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/default_prevention_policy_linux#custom_blocking DefaultPreventionPolicyLinux#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/default_prevention_policy_linux#dbus_visibility DefaultPreventionPolicyLinux#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/default_prevention_policy_linux#description DefaultPreventionPolicyLinux#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/default_prevention_policy_linux#drift_prevention DefaultPreventionPolicyLinux#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/default_prevention_policy_linux#email_protocol_visibility DefaultPreventionPolicyLinux#email_protocol_visibility} */ readonly emailProtocolVisibility?: 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/default_prevention_policy_linux#enhance_environment_variable_visibility DefaultPreventionPolicyLinux#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/default_prevention_policy_linux#enhance_php_visibility DefaultPreventionPolicyLinux#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/default_prevention_policy_linux#extended_command_line_visibility DefaultPreventionPolicyLinux#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/default_prevention_policy_linux#filesystem_visibility DefaultPreventionPolicyLinux#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/default_prevention_policy_linux#ftp_visibility DefaultPreventionPolicyLinux#ftp_visibility} */ readonly ftpVisibility?: boolean | cdktf.IResolvable; /** * 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/default_prevention_policy_linux#http_visibility DefaultPreventionPolicyLinux#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/default_prevention_policy_linux#ioa_rule_groups DefaultPreventionPolicyLinux#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/default_prevention_policy_linux#memory_visibility DefaultPreventionPolicyLinux#memory_visibility} */ readonly memoryVisibility?: boolean | cdktf.IResolvable; /** * 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/default_prevention_policy_linux#network_visibility DefaultPreventionPolicyLinux#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/default_prevention_policy_linux#on_write_script_file_visibility DefaultPreventionPolicyLinux#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/default_prevention_policy_linux#prevent_suspicious_processes DefaultPreventionPolicyLinux#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/default_prevention_policy_linux#quarantine DefaultPreventionPolicyLinux#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/default_prevention_policy_linux#script_based_execution_monitoring DefaultPreventionPolicyLinux#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/default_prevention_policy_linux#sensor_anti_malware DefaultPreventionPolicyLinux#sensor_anti_malware} */ readonly sensorAntiMalware?: DefaultPreventionPolicyLinuxSensorAntiMalware; /** * 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/default_prevention_policy_linux#sensor_tampering_protection DefaultPreventionPolicyLinux#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/default_prevention_policy_linux#suspicious_file_analysis DefaultPreventionPolicyLinux#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/default_prevention_policy_linux#tls_visibility DefaultPreventionPolicyLinux#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/default_prevention_policy_linux#upload_unknown_detection_related_executables DefaultPreventionPolicyLinux#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/default_prevention_policy_linux#upload_unknown_executables DefaultPreventionPolicyLinux#upload_unknown_executables} */ readonly uploadUnknownExecutables?: boolean | cdktf.IResolvable; } export interface DefaultPreventionPolicyLinuxCloudAntiMalware { /** * Machine learning level for detection. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/default_prevention_policy_linux#detection DefaultPreventionPolicyLinux#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/default_prevention_policy_linux#prevention DefaultPreventionPolicyLinux#prevention} */ readonly prevention: string; } export declare function defaultPreventionPolicyLinuxCloudAntiMalwareToTerraform(struct?: DefaultPreventionPolicyLinuxCloudAntiMalware | cdktf.IResolvable): any; export declare function defaultPreventionPolicyLinuxCloudAntiMalwareToHclTerraform(struct?: DefaultPreventionPolicyLinuxCloudAntiMalware | cdktf.IResolvable): any; export declare class DefaultPreventionPolicyLinuxCloudAntiMalwareOutputReference 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(): DefaultPreventionPolicyLinuxCloudAntiMalware | cdktf.IResolvable | undefined; set internalValue(value: DefaultPreventionPolicyLinuxCloudAntiMalware | 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 DefaultPreventionPolicyLinuxSensorAntiMalware { /** * Machine learning level for detection. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/default_prevention_policy_linux#detection DefaultPreventionPolicyLinux#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/default_prevention_policy_linux#prevention DefaultPreventionPolicyLinux#prevention} */ readonly prevention: string; } export declare function defaultPreventionPolicyLinuxSensorAntiMalwareToTerraform(struct?: DefaultPreventionPolicyLinuxSensorAntiMalware | cdktf.IResolvable): any; export declare function defaultPreventionPolicyLinuxSensorAntiMalwareToHclTerraform(struct?: DefaultPreventionPolicyLinuxSensorAntiMalware | cdktf.IResolvable): any; export declare class DefaultPreventionPolicyLinuxSensorAntiMalwareOutputReference 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(): DefaultPreventionPolicyLinuxSensorAntiMalware | cdktf.IResolvable | undefined; set internalValue(value: DefaultPreventionPolicyLinuxSensorAntiMalware | 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/default_prevention_policy_linux crowdstrike_default_prevention_policy_linux} */ export declare class DefaultPreventionPolicyLinux extends cdktf.TerraformResource { static readonly tfResourceType = "crowdstrike_default_prevention_policy_linux"; /** * Generates CDKTF code for importing a DefaultPreventionPolicyLinux 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 DefaultPreventionPolicyLinux to import * @param importFromId The id of the existing DefaultPreventionPolicyLinux that should be imported. Refer to the {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/default_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 DefaultPreventionPolicyLinux 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/default_prevention_policy_linux crowdstrike_default_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 DefaultPreventionPolicyLinuxConfig */ constructor(scope: Construct, id: string, config: DefaultPreventionPolicyLinuxConfig); private _cloudAntiMalware; get cloudAntiMalware(): DefaultPreventionPolicyLinuxCloudAntiMalwareOutputReference; putCloudAntiMalware(value: DefaultPreventionPolicyLinuxCloudAntiMalware): 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 _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 _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 _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(): DefaultPreventionPolicyLinuxSensorAntiMalwareOutputReference; putSensorAntiMalware(value: DefaultPreventionPolicyLinuxSensorAntiMalware): 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; }; }