From 7f3b859c4c57c80adb0f6586182eadb1ab5a548d Mon Sep 17 00:00:00 2001 From: yizhako Date: Sun, 4 Feb 2024 21:21:08 +0200 Subject: [PATCH 1/2] add maintenance mode password support --- aws/templates/asg/autoscale.yaml | 14 +++++- aws/templates/cluster/cluster-master.yaml | 12 ++++- aws/templates/cluster/cluster.yaml | 14 +++++- .../cross-az-cluster-master.yaml | 12 ++++- .../cross-az-cluster/cross-az-cluster.yaml | 17 +++++-- .../geo-cluster/geo-cluster-master.yaml | 12 ++++- aws/templates/geo-cluster/geo-cluster.yaml | 17 +++++-- aws/templates/gwlb-asg/gwlb-master.yaml | 22 ++++++++- aws/templates/gwlb-asg/gwlb.yaml | 22 ++++++++- aws/templates/gwlb-asg/tgw-gwlb-master.yaml | 22 ++++++++- aws/templates/gwlb-asg/tgw-gwlb.yaml | 22 ++++++++- aws/templates/management/management.yaml | 45 ++++++++++++------- aws/templates/mds/mds.yaml | 14 +++++- aws/templates/single-gw/gateway-master.yaml | 12 ++++- aws/templates/single-gw/gateway.yaml | 14 +++++- .../standalone/standalone-master.yaml | 12 ++++- aws/templates/standalone/standalone.yaml | 14 +++++- aws/templates/tgw-asg/tgw-asg-master.yaml | 22 ++++++++- aws/templates/tgw-asg/tgw-asg.yaml | 22 ++++++++- .../tgw-cross-az-cluster-master.yaml | 12 ++++- .../tgw-cross-az-cluster.yaml | 12 ++++- aws/templates/tgw-ha/tgw-ha-master.yaml | 12 ++++- aws/templates/tgw-ha/tgw-ha.yaml | 12 ++++- terraform/aws/autoscale-gwlb/README.md | 4 +- .../aws/autoscale-gwlb/asg_userdata.yaml | 2 +- terraform/aws/autoscale-gwlb/locals.tf | 8 ++-- terraform/aws/autoscale-gwlb/main.tf | 1 + terraform/aws/autoscale-gwlb/terraform.tfvars | 1 + terraform/aws/autoscale-gwlb/variables.tf | 5 +++ terraform/aws/autoscale/README.md | 3 ++ terraform/aws/autoscale/asg_userdata.yaml | 2 +- terraform/aws/autoscale/locals.tf | 5 +++ terraform/aws/autoscale/main.tf | 1 + terraform/aws/autoscale/terraform.tfvars | 1 + terraform/aws/autoscale/variables.tf | 5 +++ terraform/aws/cluster-master/README.md | 4 +- terraform/aws/cluster-master/locals.tf | 1 + terraform/aws/cluster-master/main.tf | 1 + terraform/aws/cluster-master/terraform.tfvars | 1 + terraform/aws/cluster-master/variables.tf | 5 +++ terraform/aws/cluster/README.md | 4 +- .../cluster/cluster_member_a_userdata.yaml | 2 +- .../cluster/cluster_member_b_userdata.yaml | 2 +- terraform/aws/cluster/locals.tf | 2 + terraform/aws/cluster/main.tf | 2 + terraform/aws/cluster/terraform.tfvars | 1 + terraform/aws/cluster/variables.tf | 5 +++ .../aws/cross-az-cluster-master/README.md | 4 +- .../aws/cross-az-cluster-master/locals.tf | 1 + terraform/aws/cross-az-cluster-master/main.tf | 1 + .../cross-az-cluster-master/terraform.tfvars | 1 + .../aws/cross-az-cluster-master/variables.tf | 5 +++ terraform/aws/cross-az-cluster/README.md | 3 ++ .../cluster_member_a_userdata.yaml | 2 +- .../cluster_member_b_userdata.yaml | 2 +- terraform/aws/cross-az-cluster/locals.tf | 2 + terraform/aws/cross-az-cluster/main.tf | 2 + .../aws/cross-az-cluster/terraform.tfvars | 1 + terraform/aws/cross-az-cluster/variables.tf | 5 +++ terraform/aws/gateway-master/README.md | 5 ++- terraform/aws/gateway-master/locals.tf | 5 +++ terraform/aws/gateway-master/main.tf | 1 + terraform/aws/gateway-master/terraform.tfvars | 1 + terraform/aws/gateway-master/variables.tf | 5 +++ terraform/aws/gateway/README.md | 3 ++ terraform/aws/gateway/locals.tf | 5 +++ terraform/aws/gateway/main.tf | 1 + terraform/aws/gateway/terraform.tfvars | 1 + terraform/aws/gateway/variables.tf | 6 ++- terraform/aws/gwlb-master/README.md | 5 +++ terraform/aws/gwlb-master/locals.tf | 2 + terraform/aws/gwlb-master/main.tf | 2 + terraform/aws/gwlb-master/terraform.tfvars | 2 + terraform/aws/gwlb-master/variables.tf | 10 +++++ terraform/aws/gwlb/README.md | 6 ++- terraform/aws/gwlb/locals.tf | 4 +- terraform/aws/gwlb/main.tf | 2 + terraform/aws/gwlb/terraform.tfvars | 2 + terraform/aws/gwlb/variables.tf | 10 +++++ terraform/aws/management/README.md | 4 +- terraform/aws/management/locals.tf | 3 +- terraform/aws/management/main.tf | 1 + .../aws/management/management_userdata.yaml | 2 +- terraform/aws/management/terraform.tfvars | 2 +- terraform/aws/management/variables.tf | 5 +++ terraform/aws/mds/README.md | 3 ++ terraform/aws/mds/locals.tf | 2 + terraform/aws/mds/main.tf | 1 + terraform/aws/mds/mds_userdata.yaml | 2 +- terraform/aws/mds/terraform.tfvars | 1 + terraform/aws/mds/variables.tf | 5 +++ .../gateway_instance/gateway_userdata.yaml | 2 +- .../modules/common/gateway_instance/locals.tf | 7 +++ .../modules/common/gateway_instance/main.tf | 1 + .../common/gateway_instance/variables.tf | 5 +++ terraform/aws/qs-autoscale-master/README.md | 6 +++ terraform/aws/qs-autoscale-master/locals.tf | 1 + terraform/aws/qs-autoscale-master/main.tf | 2 + .../aws/qs-autoscale-master/terraform.tfvars | 2 + .../aws/qs-autoscale-master/variables.tf | 10 +++++ terraform/aws/qs-autoscale/README.md | 5 +++ terraform/aws/qs-autoscale/locals.tf | 2 + terraform/aws/qs-autoscale/main.tf | 2 + terraform/aws/qs-autoscale/terraform.tfvars | 2 + terraform/aws/qs-autoscale/variables.tf | 10 +++++ terraform/aws/standalone-master/README.md | 5 ++- terraform/aws/standalone-master/locals.tf | 1 + terraform/aws/standalone-master/main.tf | 1 + .../aws/standalone-master/terraform.tfvars | 1 + terraform/aws/standalone-master/variables.tf | 5 +++ terraform/aws/standalone/README.md | 4 +- terraform/aws/standalone/locals.tf | 3 ++ terraform/aws/standalone/main.tf | 1 + .../aws/standalone/standalone_userdata.yaml | 2 +- terraform/aws/standalone/terraform.tfvars | 1 + terraform/aws/standalone/variables.tf | 5 +++ terraform/aws/tgw-asg/README.md | 5 +++ terraform/aws/tgw-asg/locals.tf | 4 ++ terraform/aws/tgw-asg/main.tf | 2 + terraform/aws/tgw-asg/terraform.tfvars | 2 + terraform/aws/tgw-asg/variables.tf | 5 +++ .../aws/tgw-cross-az-cluster-master/README.md | 4 +- .../aws/tgw-cross-az-cluster-master/locals.tf | 1 + .../aws/tgw-cross-az-cluster-master/main.tf | 1 + .../terraform.tfvars | 2 +- .../tgw-cross-az-cluster-master/variables.tf | 6 ++- terraform/aws/tgw-cross-az-cluster/README.md | 4 ++ terraform/aws/tgw-cross-az-cluster/locals.tf | 1 + terraform/aws/tgw-cross-az-cluster/main.tf | 1 + .../aws/tgw-cross-az-cluster/terraform.tfvars | 1 + .../aws/tgw-cross-az-cluster/variables.tf | 6 ++- terraform/aws/tgw-gwlb-master/README.md | 5 +++ terraform/aws/tgw-gwlb-master/locals.tf | 3 +- terraform/aws/tgw-gwlb-master/main.tf | 2 + .../aws/tgw-gwlb-master/terraform.tfvars | 2 + terraform/aws/tgw-gwlb-master/variables.tf | 10 +++++ terraform/aws/tgw-gwlb/README.md | 5 +++ terraform/aws/tgw-gwlb/locals.tf | 2 + terraform/aws/tgw-gwlb/main.tf | 2 + terraform/aws/tgw-gwlb/terraform.tfvars | 2 + terraform/aws/tgw-gwlb/variables.tf | 10 +++++ 141 files changed, 688 insertions(+), 81 deletions(-) diff --git a/aws/templates/asg/autoscale.yaml b/aws/templates/asg/autoscale.yaml index d451fc6a..e890ea35 100755 --- a/aws/templates/asg/autoscale.yaml +++ b/aws/templates/asg/autoscale.yaml @@ -1,5 +1,5 @@ AWSTemplateFormatVersion: 2010-09-09 -Description: Create an Auto Scaling group of Check Point gateways (20221226) +Description: Create an Auto Scaling group of Check Point gateways (20240204) Metadata: AWS::CloudFormation::Interface: ParameterGroups: @@ -31,6 +31,7 @@ Metadata: - GatewayVersion - Shell - GatewayPasswordHash + - GatewayMaintenancePasswordHash - GatewaySICKey - AllowUploadDownload - CloudWatch @@ -80,6 +81,8 @@ Metadata: default: Admin shell GatewayPasswordHash: default: Gateways Password hash + GatewayMaintenancePasswordHash: + default: Gateway Maintenance Password hash GatewaySICKey: default: Gateways SIC key AllowUploadDownload: @@ -312,6 +315,12 @@ Parameters: Default: '' AllowedPattern: '^[\$\./a-zA-Z0-9]*$' NoEcho: true + GatewayMaintenancePasswordHash: + Description: Check Point recommends setting Admin user's password and maintenance-mode password for recovery purposes. For R81.10 and below the Admin user's password is used also as maintenance-mode password. (To generate a password hash use the command "grub2-mkpasswd-pbkdf2" on Linux and paste it here). (optional) + Type: String + Default: '' + AllowedPattern: '[\$\./a-zA-Z0-9]*' + NoEcho: true GatewaySICKey: Description: The Secure Internal Communication key creates trusted connections. between Check Point components. Choose a random string consisting of at least @@ -524,9 +533,10 @@ Resources: - !Sub ' admin_shell=${Shell} ; allow_info=${AllowUploadDownload} ; cw=${CloudWatch} ; eic=${EnableInstanceConnect}' - !Join ['', [' sic="$(echo ', 'Fn::Base64': !Ref GatewaySICKey, ')"']] - !Join ['', [' pwd_hash="$(echo ', 'Fn::Base64': !Ref GatewayPasswordHash, ')"']] + - !Join ['', [' maintenance_pwd_hash="$(echo ', 'Fn::Base64': !Ref GatewayMaintenancePasswordHash, ')"']] - !Join ['', [' bootstrap="$(echo ', 'Fn::Base64': !Ref GatewayBootstrapScript, ')"']] - !Sub [' version=${Version}', {Version: !Select [0, !Split ['-', !Ref GatewayVersion]]}] - - ' python3 /etc/cloud_config.py enableCloudWatch=\"${cw}\" sicKey=\"${sic}\" installationType=\"autoscale\" osVersion=\"${version}\" allowUploadDownload=\"${allow_info}\" templateVersion=\"__VERSION__\" templateName=\"autoscale\" shell=\"${admin_shell}\" enableInstanceConnect=\"${eic}\" passwordHash=\"${pwd_hash}\" bootstrapScript64=\"${bootstrap}\"' + - ' python3 /etc/cloud_config.py enableCloudWatch=\"${cw}\" sicKey=\"${sic}\" installationType=\"autoscale\" osVersion=\"${version}\" allowUploadDownload=\"${allow_info}\" templateVersion=\"20240204\" templateName=\"autoscale\" shell=\"${admin_shell}\" enableInstanceConnect=\"${eic}\" passwordHash=\"${pwd_hash}\" MaintenanceModePassword=\"${maintenance_pwd_hash}\" bootstrapScript64=\"${bootstrap}\"' VersionDescription: Initial template version GatewayScaleUpPolicy: Type: AWS::AutoScaling::ScalingPolicy diff --git a/aws/templates/cluster/cluster-master.yaml b/aws/templates/cluster/cluster-master.yaml index a343b557..5a6ac254 100755 --- a/aws/templates/cluster/cluster-master.yaml +++ b/aws/templates/cluster/cluster-master.yaml @@ -1,5 +1,5 @@ AWSTemplateFormatVersion: 2010-09-09 -Description: Deploy a Check Point Cluster in a new VPC (20230830) +Description: Deploy a Check Point Cluster in a new VPC (20240204) Metadata: AWS::CloudFormation::Interface: ParameterGroups: @@ -29,6 +29,7 @@ Metadata: - GatewayVersion - Shell - GatewayPasswordHash + - GatewayMaintenancePasswordHash - GatewaySICKey - Label: default: Quick connect to Smart-1 Cloud (Recommended) @@ -80,6 +81,8 @@ Metadata: default: Admin shell GatewayPasswordHash: default: Password hash + GatewayMaintenancePasswordHash: + default: Gateway Maintenance Password hash GatewaySICKey: default: SIC key MemberAToken: @@ -319,6 +322,12 @@ Parameters: Default: '' AllowedPattern: '^[\$\./a-zA-Z0-9]*$' NoEcho: true + GatewayMaintenancePasswordHash: + Description: Check Point recommends setting Admin user's password and maintenance-mode password for recovery purposes. For R81.10 and below the Admin user's password is used also as maintenance-mode password. (To generate a password hash use the command "grub2-mkpasswd-pbkdf2" on Linux and paste it here). (optional) + Type: String + Default: '' + AllowedPattern: '[\$\./a-zA-Z0-9]*' + NoEcho: true GatewaySICKey: Description: The Secure Internal Communication key creates trusted connections. between Check Point components. Choose a random string consisting of at least @@ -420,6 +429,7 @@ Resources: GatewayVersion: !Ref GatewayVersion Shell: !Ref Shell GatewayPasswordHash: !Ref GatewayPasswordHash + GatewayMaintenancePasswordHash: !Ref GatewayMaintenancePasswordHash GatewaySICKey: !Ref GatewaySICKey MemberAToken: !Ref MemberAToken MemberBToken: !Ref MemberBToken diff --git a/aws/templates/cluster/cluster.yaml b/aws/templates/cluster/cluster.yaml index c5c6cdbd..1418885b 100755 --- a/aws/templates/cluster/cluster.yaml +++ b/aws/templates/cluster/cluster.yaml @@ -1,5 +1,5 @@ AWSTemplateFormatVersion: 2010-09-09 -Description: Deploys a Check Point Cluster into an existing VPC (20230830) +Description: Deploys a Check Point Cluster into an existing VPC (20240204) Metadata: AWS::CloudFormation::Interface: ParameterGroups: @@ -29,6 +29,7 @@ Metadata: - GatewayVersion - Shell - GatewayPasswordHash + - GatewayMaintenancePasswordHash - GatewaySICKey - Label: default: Quick connect to Smart-1 Cloud (Recommended) @@ -80,6 +81,8 @@ Metadata: default: Admin shell GatewayPasswordHash: default: Password hash + GatewayMaintenancePasswordHash: + default: Gateway Maintenance Password hash GatewaySICKey: default: SIC key MemberAToken: @@ -314,6 +317,12 @@ Parameters: Default: '' AllowedPattern: '^[\$\./a-zA-Z0-9]*$' NoEcho: true + GatewayMaintenancePasswordHash: + Description: Check Point recommends setting Admin user's password and maintenance-mode password for recovery purposes. For R81.10 and below the Admin user's password is used also as maintenance-mode password. (To generate a password hash use the command "grub2-mkpasswd-pbkdf2" on Linux and paste it here). (optional) + Type: String + Default: '' + AllowedPattern: '[\$\./a-zA-Z0-9]*' + NoEcho: true GatewaySICKey: Description: The Secure Internal Communication key creates trusted connections. between Check Point components. Choose a random string consisting of at least @@ -548,9 +557,10 @@ Resources: - !Join ['', [' eip="', !If [AllocateAddress, !Ref MemberAPublicAddress, ''], '"']] - !Join ['', [' sic="$(echo ', 'Fn::Base64': !Ref GatewaySICKey, ')"']] - !Join ['', [' pwd_hash="$(echo ', 'Fn::Base64': !Ref GatewayPasswordHash, ')"']] + - !Join ['', [' maintenance_pwd_hash="$(echo ', 'Fn::Base64': !Ref GatewayMaintenancePasswordHash, ')"']] - !Join ['', [' bootstrap="$(echo ', 'Fn::Base64': !Ref GatewayBootstrapScript, ')"']] - !Sub [' version=${Version}', {Version: !Select [0, !Split ['-', !Ref GatewayVersion]]}] - - ' python3 /etc/cloud_config.py enableCloudWatch=\"${cw}\" waitHandle=\"${wait_handle}\" sicKey=\"${sic}\" "smart1CloudToken=\"${tokenA}\"" installationType=\"cluster\" osVersion=\"${version}\" allowUploadDownload=\"${allow_info}\" templateVersion=\"20230923\" templateName=\"cluster\" shell=\"${admin_shell}\" enableInstanceConnect=\"${eic}\" hostName=\"${hostname}\" ntpPrimary=\"${ntp1}\" ntpSecondary=\"${ntp2}\" passwordHash=\"${pwd_hash}\" elasticIp=\"${eip}\" bootstrapScript64=\"${bootstrap}\"' + - ' python3 /etc/cloud_config.py enableCloudWatch=\"${cw}\" waitHandle=\"${wait_handle}\" sicKey=\"${sic}\" "smart1CloudToken=\"${tokenA}\"" installationType=\"cluster\" osVersion=\"${version}\" allowUploadDownload=\"${allow_info}\" templateVersion=\"20240204\" templateName=\"cluster\" shell=\"${admin_shell}\" enableInstanceConnect=\"${eic}\" hostName=\"${hostname}\" ntpPrimary=\"${ntp1}\" ntpSecondary=\"${ntp2}\" passwordHash=\"${pwd_hash}\" MaintenanceModePassword=\"${maintenance_pwd_hash}\" elasticIp=\"${eip}\" bootstrapScript64=\"${bootstrap}\"' MemberBInstance: Type: AWS::EC2::Instance DependsOn: [MemberBExternalInterface, MemberBInternalInterface] diff --git a/aws/templates/cross-az-cluster/cross-az-cluster-master.yaml b/aws/templates/cross-az-cluster/cross-az-cluster-master.yaml index 7d69c5b3..75cd5981 100755 --- a/aws/templates/cross-az-cluster/cross-az-cluster-master.yaml +++ b/aws/templates/cross-az-cluster/cross-az-cluster-master.yaml @@ -1,5 +1,5 @@ AWSTemplateFormatVersion: 2010-09-09 -Description: Deploy a Check Point Cluster in a new VPC (20230503) +Description: Deploy a Check Point Cluster in a new VPC (20240204) Metadata: AWS::CloudFormation::Interface: ParameterGroups: @@ -30,6 +30,7 @@ Metadata: - GatewayVersion - Shell - GatewayPasswordHash + - GatewayMaintenancePasswordHash - GatewaySICKey - Label: default: Quick connect to Smart-1 Cloud (Recommended) @@ -83,6 +84,8 @@ Metadata: default: Admin shell GatewayPasswordHash: default: Password hash + GatewayMaintenancePasswordHash: + default: Gateway Maintenance Password hash GatewaySICKey: default: SIC key MemberAToken: @@ -318,6 +321,12 @@ Parameters: Default: '' AllowedPattern: '^[\$\./a-zA-Z0-9]*$' NoEcho: true + GatewayMaintenancePasswordHash: + Description: Check Point recommends setting Admin user's password and maintenance-mode password for recovery purposes. For R81.10 and below the Admin user's password is used also as maintenance-mode password. (To generate a password hash use the command "grub2-mkpasswd-pbkdf2" on Linux and paste it here). (optional) + Type: String + Default: '' + AllowedPattern: '[\$\./a-zA-Z0-9]*' + NoEcho: true GatewaySICKey: Description: The Secure Internal Communication key creates trusted connections. between Check Point components. Choose a random string consisting of at least @@ -423,6 +432,7 @@ Resources: GatewayVersion: !Ref GatewayVersion Shell: !Ref Shell GatewayPasswordHash: !Ref GatewayPasswordHash + GatewayMaintenancePasswordHash: !Ref GatewayMaintenancePasswordHash GatewaySICKey: !Ref GatewaySICKey MemberAToken: !Ref MemberAToken MemberBToken: !Ref MemberBToken diff --git a/aws/templates/cross-az-cluster/cross-az-cluster.yaml b/aws/templates/cross-az-cluster/cross-az-cluster.yaml index 4b216a3a..7773ae03 100755 --- a/aws/templates/cross-az-cluster/cross-az-cluster.yaml +++ b/aws/templates/cross-az-cluster/cross-az-cluster.yaml @@ -1,5 +1,5 @@ AWSTemplateFormatVersion: 2010-09-09 -Description: Deploys a Check Point Cluster into an existing VPC (20230830) +Description: Deploys a Check Point Cluster into an existing VPC (20240204) Metadata: AWS::CloudFormation::Interface: ParameterGroups: @@ -31,6 +31,7 @@ Metadata: - GatewayVersion - Shell - GatewayPasswordHash + - GatewayMaintenancePasswordHash - GatewaySICKey - Label: default: Quick connect to Smart-1 Cloud (Recommended) @@ -86,6 +87,8 @@ Metadata: default: Admin shell GatewayPasswordHash: default: Password hash + GatewayMaintenancePasswordHash: + default: Gateway Maintenance Password hash GatewaySICKey: default: SIC key MemberAToken: @@ -323,6 +326,12 @@ Parameters: Default: '' AllowedPattern: '^[\$\./a-zA-Z0-9]*$' NoEcho: true + GatewayMaintenancePasswordHash: + Description: Check Point recommends setting Admin user's password and maintenance-mode password for recovery purposes. For R81.10 and below the Admin user's password is used also as maintenance-mode password. (To generate a password hash use the command "grub2-mkpasswd-pbkdf2" on Linux and paste it here). (optional) + Type: String + Default: '' + AllowedPattern: '[\$\./a-zA-Z0-9]*' + NoEcho: true GatewaySICKey: Description: The Secure Internal Communication key creates trusted connections between Check Point components. Choose a random string consisting of at least @@ -603,9 +612,10 @@ Resources: - !Join ['', [' eip="', !If [AllocateAddress, !Ref MemberAPublicAddress, ''], '"']] - !Join ['', [' sic="$(echo ', 'Fn::Base64': !Ref GatewaySICKey, ')"']] - !Join ['', [' pwd_hash="$(echo ', 'Fn::Base64': !Ref GatewayPasswordHash, ')"']] + - !Join ['', [' maintenance_pwd_hash="$(echo ', 'Fn::Base64': !Ref GatewayMaintenancePasswordHash, ')"']] - !Join ['', [' bootstrap="$(echo ', 'Fn::Base64': !Ref GatewayBootstrapScript, ')"']] - !Sub [' version=${Version}', {Version: !Select [0, !Split ['-', !Ref GatewayVersion]]}] - - ' python3 /etc/cloud_config.py enableCloudWatch=\"${cw}\" waitHandle=\"${wait_handle}\" sicKey=\"${sic}\" "smart1CloudToken=\"${tokenA}\"" installationType=\"cross-az-cluster\" osVersion=\"${version}\" allowUploadDownload=\"${allow_info}\" templateVersion=\"20230923\" templateName=\"cross_az_cluster\" shell=\"${admin_shell}\" enableInstanceConnect=\"${eic}\" hostName=\"${hostname}\" ntpPrimary=\"${ntp1}\" ntpSecondary=\"${ntp2}\" passwordHash=\"${pwd_hash}\" elasticIp=\"${eip}\" otherMemberIp=\"${other_member_ip}\" clusterIp=\"${cluster_ip}\" secondaryIp=\"${secondary_ip}\" otherMemberPrivateClusterIp=\"${remote_secondary_ip}\" bootstrapScript64=\"${bootstrap}\"' + - ' python3 /etc/cloud_config.py enableCloudWatch=\"${cw}\" waitHandle=\"${wait_handle}\" sicKey=\"${sic}\" "smart1CloudToken=\"${tokenA}\"" installationType=\"cross-az-cluster\" osVersion=\"${version}\" allowUploadDownload=\"${allow_info}\" templateVersion=\"20240204\" templateName=\"cross_az_cluster\" shell=\"${admin_shell}\" enableInstanceConnect=\"${eic}\" hostName=\"${hostname}\" ntpPrimary=\"${ntp1}\" ntpSecondary=\"${ntp2}\" passwordHash=\"${pwd_hash}\" MaintenanceModePassword=\"${maintenance_pwd_hash}\" elasticIp=\"${eip}\" otherMemberIp=\"${other_member_ip}\" clusterIp=\"${cluster_ip}\" secondaryIp=\"${secondary_ip}\" otherMemberPrivateClusterIp=\"${remote_secondary_ip}\" bootstrapScript64=\"${bootstrap}\"' MemberBInstance: Type: AWS::EC2::Instance DependsOn: [MemberBExternalInterface, MemberBInternalInterface, ClusterPublicAddress, MemberAInternalInterface, MemberAExternalInterface] @@ -649,9 +659,10 @@ Resources: - !Join ['', [' eip="', !If [AllocateAddress, !Ref MemberBPublicAddress, ''], '"']] - !Join ['', [' sic="$(echo ', 'Fn::Base64': !Ref GatewaySICKey, ')"']] - !Join ['', [' pwd_hash="$(echo ', 'Fn::Base64': !Ref GatewayPasswordHash, ')"']] + - !Join [ '', [ ' maintenance_pwd_hash="$(echo ', 'Fn::Base64': !Ref GatewayMaintenancePasswordHash, ')"' ] ] - !Join ['', [' bootstrap="$(echo ', 'Fn::Base64': !Ref GatewayBootstrapScript, ')"']] - !Sub [' version=${Version}', {Version: !Select [0, !Split ['-', !Ref GatewayVersion]]}] - - ' python3 /etc/cloud_config.py enableCloudWatch=\"${cw}\" waitHandle=\"${wait_handle}\" sicKey=\"${sic}\" "smart1CloudToken=\"${tokenB}\"" installationType=\"cross-az-cluster\" osVersion=\"${version}\" allowUploadDownload=\"${allow_info}\" templateVersion=\"20230923\" templateName=\"cross_az_cluster\" shell=\"${admin_shell}\" enableInstanceConnect=\"${eic}\" hostName=\"${hostname}\" ntpPrimary=\"${ntp1}\" ntpSecondary=\"${ntp2}\" passwordHash=\"${pwd_hash}\" elasticIp=\"${eip}\" otherMemberIp=\"${other_member_ip}\" clusterIp=\"${cluster_ip}\" secondaryIp=\"${secondary_ip}\" otherMemberPrivateClusterIp=\"${remote_secondary_ip}\" bootstrapScript64=\"${bootstrap}\"' + - ' python3 /etc/cloud_config.py enableCloudWatch=\"${cw}\" waitHandle=\"${wait_handle}\" sicKey=\"${sic}\" "smart1CloudToken=\"${tokenB}\"" installationType=\"cross-az-cluster\" osVersion=\"${version}\" allowUploadDownload=\"${allow_info}\" templateVersion=\"20240204\" templateName=\"cross_az_cluster\" shell=\"${admin_shell}\" enableInstanceConnect=\"${eic}\" hostName=\"${hostname}\" ntpPrimary=\"${ntp1}\" ntpSecondary=\"${ntp2}\" passwordHash=\"${pwd_hash}\" MaintenanceModePassword=\"${maintenance_pwd_hash}\" elasticIp=\"${eip}\" otherMemberIp=\"${other_member_ip}\" clusterIp=\"${cluster_ip}\" secondaryIp=\"${secondary_ip}\" otherMemberPrivateClusterIp=\"${remote_secondary_ip}\" bootstrapScript64=\"${bootstrap}\"' Outputs: ClusterPublicAddress: Description: The public address of the cluster. diff --git a/aws/templates/geo-cluster/geo-cluster-master.yaml b/aws/templates/geo-cluster/geo-cluster-master.yaml index 326558b5..ab95bdd6 100755 --- a/aws/templates/geo-cluster/geo-cluster-master.yaml +++ b/aws/templates/geo-cluster/geo-cluster-master.yaml @@ -1,5 +1,5 @@ AWSTemplateFormatVersion: 2010-09-09 -Description: Deploy a Check Point cross AZ Cluster in a new VPC (20230503) +Description: Deploy a Check Point cross AZ Cluster in a new VPC (20240204) Metadata: AWS::CloudFormation::Interface: ParameterGroups: @@ -31,6 +31,7 @@ Metadata: - GatewayVersion - Shell - GatewayPasswordHash + - GatewayMaintenancePasswordHash - GatewaySICKey - Label: default: Quick connect to Smart-1 Cloud (Recommended) @@ -86,6 +87,8 @@ Metadata: default: Admin shell GatewayPasswordHash: default: Password hash + GatewayMaintenancePasswordHash: + default: Gateway Maintenance Password hash GatewaySICKey: default: SIC key MemberAToken: @@ -336,6 +339,12 @@ Parameters: Default: '' AllowedPattern: '^[\$\./a-zA-Z0-9]*$' NoEcho: true + GatewayMaintenancePasswordHash: + Description: Check Point recommends setting Admin user's password and maintenance-mode password for recovery purposes. For R81.10 and below the Admin user's password is used also as maintenance-mode password. (To generate a password hash use the command "grub2-mkpasswd-pbkdf2" on Linux and paste it here). (optional) + Type: String + Default: '' + AllowedPattern: '[\$\./a-zA-Z0-9]*' + NoEcho: true GatewaySICKey: Description: The Secure Internal Communication key creates trusted connections between Check Point components. Choose a random string consisting of at least 8 @@ -441,6 +450,7 @@ Resources: GatewayVersion: !Ref GatewayVersion Shell: !Ref Shell GatewayPasswordHash: !Ref GatewayPasswordHash + GatewayMaintenancePasswordHash: !Ref GatewayMaintenancePasswordHash GatewaySICKey: !Ref GatewaySICKey MemberAToken: !Ref MemberAToken MemberBToken: !Ref MemberBToken diff --git a/aws/templates/geo-cluster/geo-cluster.yaml b/aws/templates/geo-cluster/geo-cluster.yaml index 43750745..e738ead2 100755 --- a/aws/templates/geo-cluster/geo-cluster.yaml +++ b/aws/templates/geo-cluster/geo-cluster.yaml @@ -1,5 +1,5 @@ AWSTemplateFormatVersion: 2010-09-09 -Description: Deploys a Check Point cross AZ Cluster into an existing VPC (20230503) +Description: Deploys a Check Point cross AZ Cluster into an existing VPC (20240204) Metadata: AWS::CloudFormation::Interface: ParameterGroups: @@ -31,6 +31,7 @@ Metadata: - GatewayVersion - Shell - GatewayPasswordHash + - GatewayMaintenancePasswordHash - GatewaySICKey - Label: default: Quick connect to Smart-1 Cloud (Recommended) @@ -86,6 +87,8 @@ Metadata: default: Admin shell GatewayPasswordHash: default: Password hash + GatewayMaintenancePasswordHash: + default: Gateway Maintenance Password hash GatewaySICKey: default: SIC key MemberAToken: @@ -330,6 +333,12 @@ Parameters: Default: '' AllowedPattern: '^[\$\./a-zA-Z0-9]*$' NoEcho: true + GatewayMaintenancePasswordHash: + Description: Check Point recommends setting Admin user's password and maintenance-mode password for recovery purposes. For R81.10 and below the Admin user's password is used also as maintenance-mode password. (To generate a password hash use the command "grub2-mkpasswd-pbkdf2" on Linux and paste it here). (optional) + Type: String + Default: '' + AllowedPattern: '[\$\./a-zA-Z0-9]*' + NoEcho: true GatewaySICKey: Description: The Secure Internal Communication key creates trusted connections between Check Point components. Choose a random string consisting of at least 8 @@ -563,9 +572,10 @@ Resources: - !Join ['', [' eip="', !If [AllocateAddress, !Ref MemberAPublicAddress, ''], '"']] - !Join ['', [' sic="$(echo ', 'Fn::Base64': !Ref GatewaySICKey, ')"']] - !Join ['', [' pwd_hash="$(echo ', 'Fn::Base64': !Ref GatewayPasswordHash, ')"']] + - !Join ['', [' maintenance_pwd_hash="$(echo ', 'Fn::Base64': !Ref GatewayMaintenancePasswordHash, ')"']] - !Join ['', [' bootstrap="$(echo ', 'Fn::Base64': !Ref GatewayBootstrapScript, ')"']] - !Sub [' version=${Version}', {Version: !Select [0, !Split ['-', !Ref GatewayVersion]]}] - - ' python3 /etc/cloud_config.py enableCloudWatch=\"${cw}\" waitHandle=\"${wait_handle}\" sicKey=\"${sic}\" "smart1CloudToken=\"${tokenA}\"" installationType=\"geo-cluster\" osVersion=\"${version}\" allowUploadDownload=\"${allow_info}\" templateVersion=\"20230503\" templateName=\"geo_cluster\" shell=\"${admin_shell}\" enableInstanceConnect=\"${eic}\" hostName=\"${hostname}\" ntpPrimary=\"${ntp1}\" ntpSecondary=\"${ntp2}\" passwordHash=\"${pwd_hash}\" elasticIp=\"${eip}\" otherMemberIp=\"${other_member_ip}\" bootstrapScript64=\"${bootstrap}\"' + - ' python3 /etc/cloud_config.py enableCloudWatch=\"${cw}\" waitHandle=\"${wait_handle}\" sicKey=\"${sic}\" "smart1CloudToken=\"${tokenA}\"" installationType=\"geo-cluster\" osVersion=\"${version}\" allowUploadDownload=\"${allow_info}\" templateVersion=\"20240204\" templateName=\"geo_cluster\" shell=\"${admin_shell}\" enableInstanceConnect=\"${eic}\" hostName=\"${hostname}\" ntpPrimary=\"${ntp1}\" ntpSecondary=\"${ntp2}\" passwordHash=\"${pwd_hash}\" elasticIp=\"${eip}\" MaintenanceModePassword=\"${maintenance_pwd_hash}\" otherMemberIp=\"${other_member_ip}\" bootstrapScript64=\"${bootstrap}\"' MemberBInstance: Type: AWS::EC2::Instance DependsOn: MemberBInternalInterface @@ -605,9 +615,10 @@ Resources: - !Join ['', [' eip="', !If [AllocateAddress, !Ref MemberBPublicAddress, ''], '"']] - !Join ['', [' sic="$(echo ', 'Fn::Base64': !Ref GatewaySICKey, ')"']] - !Join ['', [' pwd_hash="$(echo ', 'Fn::Base64': !Ref GatewayPasswordHash, ')"']] + - !Join ['', [' maintenance_pwd_hash="$(echo ', 'Fn::Base64': !Ref GatewayMaintenancePasswordHash, ')"']] - !Join ['', [' bootstrap="$(echo ', 'Fn::Base64': !Ref GatewayBootstrapScript, ')"']] - !Sub [' version=${Version}', {Version: !Select [0, !Split ['-', !Ref GatewayVersion]]}] - - ' python3 /etc/cloud_config.py enableCloudWatch=\"${cw}\" waitHandle=\"${wait_handle}\" sicKey=\"${sic}\" "smart1CloudToken=\"${tokenB}\"" installationType=\"geo-cluster\" osVersion=\"${version}\" allowUploadDownload=\"${allow_info}\" templateVersion=\"20230503\" templateName=\"geo_cluster\" shell=\"${admin_shell}\" enableInstanceConnect=\"${eic}\" hostName=\"${hostname}\" ntpPrimary=\"${ntp1}\" ntpSecondary=\"${ntp2}\" passwordHash=\"${pwd_hash}\" elasticIp=\"${eip}\" otherMemberIp=\"${other_member_ip}\" bootstrapScript64=\"${bootstrap}\"' + - ' python3 /etc/cloud_config.py enableCloudWatch=\"${cw}\" waitHandle=\"${wait_handle}\" sicKey=\"${sic}\" "smart1CloudToken=\"${tokenB}\"" installationType=\"geo-cluster\" osVersion=\"${version}\" allowUploadDownload=\"${allow_info}\" templateVersion=\"20240204\" templateName=\"geo_cluster\" shell=\"${admin_shell}\" enableInstanceConnect=\"${eic}\" hostName=\"${hostname}\" ntpPrimary=\"${ntp1}\" ntpSecondary=\"${ntp2}\" passwordHash=\"${pwd_hash}\" MaintenanceModePassword=\"${maintenance_pwd_hash}\" elasticIp=\"${eip}\" otherMemberIp=\"${other_member_ip}\" bootstrapScript64=\"${bootstrap}\"' MemberAPublicAddress: Type: AWS::EC2::EIP Condition: AllocateAddress diff --git a/aws/templates/gwlb-asg/gwlb-master.yaml b/aws/templates/gwlb-asg/gwlb-master.yaml index 3faf99a4..d10e85ad 100755 --- a/aws/templates/gwlb-asg/gwlb-master.yaml +++ b/aws/templates/gwlb-asg/gwlb-master.yaml @@ -1,5 +1,5 @@ AWSTemplateFormatVersion: 2010-09-09 -Description: Deploy a Gateway Load Balancer, Check Point CloudGuard IaaS Security Gateway Auto Scaling Group, and optionally a Security Management Server, in a new VPC (20230418) +Description: Deploy a Gateway Load Balancer, Check Point CloudGuard IaaS Security Gateway Auto Scaling Group, and optionally a Security Management Server, in a new VPC (20240204) Metadata: AWS::CloudFormation::Interface: ParameterGroups: @@ -43,6 +43,7 @@ Metadata: - GatewaysMaxSize - GatewayVersion - GatewayPasswordHash + - GatewayMaintenancePasswordHash - GatewaySICKey - ControlGatewayOverPrivateOrPublicAddress - AllocatePublicAddress @@ -54,6 +55,7 @@ Metadata: - ManagementInstanceType - ManagementVersion - ManagementPasswordHash + - ManagementMaintenancePasswordHash - GatewaysPolicy - AdminCIDR - GatewayManagement @@ -115,6 +117,8 @@ Metadata: default: Gateways version & license GatewayPasswordHash: default: Gateways Password hash + GatewayMaintenancePasswordHash: + default: Gateway Maintenance Password hash GatewaySICKey: default: Gateways SIC key ControlGatewayOverPrivateOrPublicAddress: @@ -131,6 +135,8 @@ Metadata: default: Management version & license ManagementPasswordHash: default: Management password hash + ManagementMaintenancePasswordHash: + default: Management Maintenance Password hash GatewaysPolicy: default: Security Policy AdminCIDR: @@ -423,6 +429,12 @@ Parameters: Default: '' AllowedPattern: '^[\$\./a-zA-Z0-9]*$' NoEcho: true + GatewayMaintenancePasswordHash: + Description: Check Point recommends setting Admin user's password and maintenance-mode password for recovery purposes. For R81.10 and below the Admin user's password is used also as maintenance-mode password. (To generate a password hash use the command "grub2-mkpasswd-pbkdf2" on Linux and paste it here). (optional) + Type: String + Default: '' + AllowedPattern: '[\$\./a-zA-Z0-9]*' + NoEcho: true GatewaySICKey: Description: The Secure Internal Communication key creates trusted connections between Check Point components. Choose a random string consisting of at least 8 alphanumeric characters. Type: String @@ -590,6 +602,12 @@ Parameters: Default: '' AllowedPattern: '^[\$\./a-zA-Z0-9]*$' NoEcho: true + ManagementMaintenancePasswordHash: + Description: Check Point recommends setting Admin user's password and maintenance-mode password for recovery purposes. For R81.10 and below the Admin user's password is used also as maintenance-mode password. (To generate a password hash use the command "grub2-mkpasswd-pbkdf2" on Linux and paste it here). (optional) + Type: String + Default: '' + AllowedPattern: '[\$\./a-zA-Z0-9]*' + NoEcho: true GatewaysPolicy: Description: The name of the Security Policy package to be installed on the gateways in the Security Gateways Auto Scaling group. Type: String @@ -661,6 +679,7 @@ Resources: GatewaysMaxSize: !Ref GatewaysMaxSize GatewayVersion: !Ref GatewayVersion GatewayPasswordHash: !Ref GatewayPasswordHash + GatewayMaintenancePasswordHash: !Ref GatewayMaintenancePasswordHash GatewaySICKey: !Ref GatewaySICKey ControlGatewayOverPrivateOrPublicAddress: !Ref ControlGatewayOverPrivateOrPublicAddress AllocatePublicAddress: !Ref AllocatePublicAddress @@ -669,6 +688,7 @@ Resources: ManagementInstanceType: !Ref ManagementInstanceType ManagementVersion: !Ref ManagementVersion ManagementPasswordHash: !Ref ManagementPasswordHash + ManagementMaintenancePasswordHash: !Ref ManagementMaintenancePasswordHash GatewaysPolicy: !Ref GatewaysPolicy AdminCIDR: !Ref AdminCIDR GatewayManagement: !Ref GatewayManagement diff --git a/aws/templates/gwlb-asg/gwlb.yaml b/aws/templates/gwlb-asg/gwlb.yaml index bce603a6..8b2d8830 100644 --- a/aws/templates/gwlb-asg/gwlb.yaml +++ b/aws/templates/gwlb-asg/gwlb.yaml @@ -1,5 +1,5 @@ AWSTemplateFormatVersion: 2010-09-09 -Description: Deploy a Gateway Load Balancer, Check Point CloudGuard IaaS Security Gateway Auto Scaling Group, and optionally a Security Management Server, in a new VPC (20230418) +Description: Deploy a Gateway Load Balancer, Check Point CloudGuard IaaS Security Gateway Auto Scaling Group, and optionally a Security Management Server, in a new VPC (20240204) Metadata: AWS::CloudFormation::Interface: ParameterGroups: @@ -38,6 +38,7 @@ Metadata: - GatewaysMaxSize - GatewayVersion - GatewayPasswordHash + - GatewayMaintenancePasswordHash - GatewaySICKey - ControlGatewayOverPrivateOrPublicAddress - AllocatePublicAddress @@ -49,6 +50,7 @@ Metadata: - ManagementInstanceType - ManagementVersion - ManagementPasswordHash + - ManagementMaintenancePasswordHash - GatewaysPolicy - AdminCIDR - GatewayManagement @@ -100,6 +102,8 @@ Metadata: default: Gateways version & license GatewayPasswordHash: default: Gateways Password hash + GatewayMaintenancePasswordHash: + default: Gateway Maintenance Password hash GatewaySICKey: default: Gateways SIC key ControlGatewayOverPrivateOrPublicAddress: @@ -116,6 +120,8 @@ Metadata: default: Management version & license ManagementPasswordHash: default: Management password hash + ManagementMaintenancePasswordHash: + default: Management Maintenance Password hash GatewaysPolicy: default: Security Policy AdminCIDR: @@ -373,6 +379,12 @@ Parameters: Default: '' AllowedPattern: '^[\$\./a-zA-Z0-9]*$' NoEcho: true + GatewayMaintenancePasswordHash: + Description: Check Point recommends setting Admin user's password and maintenance-mode password for recovery purposes. For R81.10 and below the Admin user's password is used also as maintenance-mode password. (To generate a password hash use the command "grub2-mkpasswd-pbkdf2" on Linux and paste it here). (optional) + Type: String + Default: '' + AllowedPattern: '[\$\./a-zA-Z0-9]*' + NoEcho: true GatewaySICKey: Description: The Secure Internal Communication key creates trusted connections between Check Point components. Choose a random string consisting of at least 8 alphanumeric characters. Type: String @@ -540,6 +552,12 @@ Parameters: Default: '' AllowedPattern: '^[\$\./a-zA-Z0-9]*$' NoEcho: true + ManagementMaintenancePasswordHash: + Description: Check Point recommends setting Admin user's password and maintenance-mode password for recovery purposes. For R81.10 and below the Admin user's password is used also as maintenance-mode password. (To generate a password hash use the command "grub2-mkpasswd-pbkdf2" on Linux and paste it here). (optional) + Type: String + Default: '' + AllowedPattern: '[\$\./a-zA-Z0-9]*' + NoEcho: true GatewaysPolicy: Description: The name of the Security Policy package to be installed on the gateways in the Security Gateways Auto Scaling group. Type: String @@ -631,6 +649,7 @@ Resources: GatewaysTargetGroups: !Ref TargetGroup GatewayVersion: !Ref GatewayVersion GatewayPasswordHash: !Ref GatewayPasswordHash + GatewayMaintenancePasswordHash: !Ref GatewayMaintenancePasswordHash GatewaySICKey: !Ref GatewaySICKey AllowUploadDownload: !Ref AllowUploadDownload ControlGatewayOverPrivateOrPublicAddress: !Ref ControlGatewayOverPrivateOrPublicAddress @@ -657,6 +676,7 @@ Resources: ManagementPermissions: Create with read-write permissions ManagementVersion: !Ref ManagementVersion ManagementPasswordHash: !Ref ManagementPasswordHash + ManagementMaintenancePasswordHash: !Ref ManagementMaintenancePasswordHash AllowUploadDownload: !Ref AllowUploadDownload AdminCIDR: !Ref AdminCIDR GatewayManagement: !Ref GatewayManagement diff --git a/aws/templates/gwlb-asg/tgw-gwlb-master.yaml b/aws/templates/gwlb-asg/tgw-gwlb-master.yaml index 47f7c01c..f0284de3 100755 --- a/aws/templates/gwlb-asg/tgw-gwlb-master.yaml +++ b/aws/templates/gwlb-asg/tgw-gwlb-master.yaml @@ -1,5 +1,5 @@ AWSTemplateFormatVersion: 2010-09-09 -Description: Deploy a Gateway Load Balancer, Check Point CloudGuard IaaS Security Gateway Auto Scaling Group, and optionally a Security Management Server, Gateway Load Balancer Endpoints and NAT Gateways for each AZ, in a new VPC for Transit Gateway (20230830) +Description: Deploy a Gateway Load Balancer, Check Point CloudGuard IaaS Security Gateway Auto Scaling Group, and optionally a Security Management Server, Gateway Load Balancer Endpoints and NAT Gateways for each AZ, in a new VPC for Transit Gateway (20240204) Metadata: AWS::CloudFormation::Interface: ParameterGroups: @@ -54,6 +54,7 @@ Metadata: - GatewaysMaxSize - GatewayVersion - GatewayPasswordHash + - GatewayMaintenancePasswordHash - GatewaySICKey - ControlGatewayOverPrivateOrPublicAddress - AllocatePublicAddress @@ -65,6 +66,7 @@ Metadata: - ManagementInstanceType - ManagementVersion - ManagementPasswordHash + - ManagementMaintenancePasswordHash - GatewaysPolicy - AdminCIDR - GatewayManagement @@ -148,6 +150,8 @@ Metadata: default: Gateways version & license GatewayPasswordHash: default: Gateways Password hash + GatewayMaintenancePasswordHash: + default: Gateway Maintenance Password hash GatewaySICKey: default: Gateways SIC key ControlGatewayOverPrivateOrPublicAddress: @@ -164,6 +168,8 @@ Metadata: default: Management version & license ManagementPasswordHash: default: Management password hash + ManagementMaintenancePasswordHash: + default: Management Maintenance Password hash GatewaysPolicy: default: Security Policy AdminCIDR: @@ -516,6 +522,12 @@ Parameters: Default: '' AllowedPattern: '^[\$\./a-zA-Z0-9]*$' NoEcho: true + GatewayMaintenancePasswordHash: + Description: Check Point recommends setting Admin user's password and maintenance-mode password for recovery purposes. For R81.10 and below the Admin user's password is used also as maintenance-mode password. (To generate a password hash use the command "grub2-mkpasswd-pbkdf2" on Linux and paste it here). (optional) + Type: String + Default: '' + AllowedPattern: '[\$\./a-zA-Z0-9]*' + NoEcho: true GatewaySICKey: Description: The Secure Internal Communication key creates trusted connections between Check Point components. Choose a random string consisting of at least 8 alphanumeric characters. Type: String @@ -683,6 +695,12 @@ Parameters: Default: '' AllowedPattern: '^[\$\./a-zA-Z0-9]*$' NoEcho: true + ManagementMaintenancePasswordHash: + Description: Check Point recommends setting Admin user's password and maintenance-mode password for recovery purposes. For R81.10 and below the Admin user's password is used also as maintenance-mode password. (To generate a password hash use the command "grub2-mkpasswd-pbkdf2" on Linux and paste it here). (optional) + Type: String + Default: '' + AllowedPattern: '[\$\./a-zA-Z0-9]*' + NoEcho: true GatewaysPolicy: Description: The name of the Security Policy package to be installed on the gateways in the Security Gateways Auto Scaling group. Type: String @@ -771,6 +789,7 @@ Resources: GatewaysMaxSize: !Ref GatewaysMaxSize GatewayVersion: !Ref GatewayVersion GatewayPasswordHash: !Ref GatewayPasswordHash + GatewayMaintenancePasswordHash: !Ref GatewayMaintenancePasswordHash GatewaySICKey: !Ref GatewaySICKey ControlGatewayOverPrivateOrPublicAddress: !Ref ControlGatewayOverPrivateOrPublicAddress AllocatePublicAddress: !Ref AllocatePublicAddress @@ -782,6 +801,7 @@ Resources: ManagementInstanceType: !Ref ManagementInstanceType ManagementVersion: !Ref ManagementVersion ManagementPasswordHash: !Ref ManagementPasswordHash + ManagementMaintenancePasswordHash: !Ref ManagementMaintenancePasswordHash GatewaysPolicy: !Ref GatewaysPolicy AdminCIDR: !Ref AdminCIDR GatewayManagement: !Ref GatewayManagement diff --git a/aws/templates/gwlb-asg/tgw-gwlb.yaml b/aws/templates/gwlb-asg/tgw-gwlb.yaml index cdaad8e9..0801a10a 100644 --- a/aws/templates/gwlb-asg/tgw-gwlb.yaml +++ b/aws/templates/gwlb-asg/tgw-gwlb.yaml @@ -1,5 +1,5 @@ AWSTemplateFormatVersion: 2010-09-09 -Description: Deploy a Gateway Load Balancer, Check Point CloudGuard IaaS Security Gateway Auto Scaling Group, and optionally a Security Management Server, Gateway Load Balancer Endpoints and NAT Gateways for each AZ, in an existing VPC for Transit Gateway (__VERSION__) +Description: Deploy a Gateway Load Balancer, Check Point CloudGuard IaaS Security Gateway Auto Scaling Group, and optionally a Security Management Server, Gateway Load Balancer Endpoints and NAT Gateways for each AZ, in an existing VPC for Transit Gateway (20240204) Metadata: AWS::CloudFormation::Interface: ParameterGroups: @@ -46,6 +46,7 @@ Metadata: - GatewaysMaxSize - GatewayVersion - GatewayPasswordHash + - GatewayMaintenancePasswordHash - GatewaySICKey - ControlGatewayOverPrivateOrPublicAddress - AllocatePublicAddress @@ -63,6 +64,7 @@ Metadata: - ManagementInstanceType - ManagementVersion - ManagementPasswordHash + - ManagementMaintenancePasswordHash - GatewaysPolicy - AdminCIDR - GatewayManagement @@ -136,6 +138,8 @@ Metadata: default: Gateways version & license GatewayPasswordHash: default: Gateways Password hash + GatewayMaintenancePasswordHash: + default: Gateway Maintenance Password hash GatewaySICKey: default: Gateways SIC key ControlGatewayOverPrivateOrPublicAddress: @@ -158,6 +162,8 @@ Metadata: default: Management version & license ManagementPasswordHash: default: Management password hash + ManagementMaintenancePasswordHash: + default: Management Maintenance Password hash GatewaysPolicy: default: Security Policy AdminCIDR: @@ -467,6 +473,12 @@ Parameters: Default: '' AllowedPattern: '^[\$\./a-zA-Z0-9]*$' NoEcho: true + GatewayMaintenancePasswordHash: + Description: Check Point recommends setting Admin user's password and maintenance-mode password for recovery purposes. For R81.10 and below the Admin user's password is used also as maintenance-mode password. (To generate a password hash use the command "grub2-mkpasswd-pbkdf2" on Linux and paste it here). (optional) + Type: String + Default: '' + AllowedPattern: '[\$\./a-zA-Z0-9]*' + NoEcho: true GatewaySICKey: Description: The Secure Internal Communication key creates trusted connections between Check Point components. Choose a random string consisting of at least 8 alphanumeric characters. Type: String @@ -651,6 +663,12 @@ Parameters: Default: '' AllowedPattern: '^[\$\./a-zA-Z0-9]*$' NoEcho: true + ManagementMaintenancePasswordHash: + Description: Check Point recommends setting Admin user's password and maintenance-mode password for recovery purposes. For R81.10 and below the Admin user's password is used also as maintenance-mode password. (To generate a password hash use the command "grub2-mkpasswd-pbkdf2" on Linux and paste it here). (optional) + Type: String + Default: '' + AllowedPattern: '[\$\./a-zA-Z0-9]*' + NoEcho: true GatewaysPolicy: Description: The name of the Security Policy package to be installed on the gateways in the Security Gateways Auto Scaling group. Type: String @@ -969,6 +987,7 @@ Resources: GatewaysMaxSize: !Ref GatewaysMaxSize GatewayVersion: !Ref GatewayVersion GatewayPasswordHash: !Ref GatewayPasswordHash + GatewayMaintenancePasswordHash: !Ref GatewayMaintenancePasswordHash GatewaySICKey: !Ref GatewaySICKey ControlGatewayOverPrivateOrPublicAddress: !Ref ControlGatewayOverPrivateOrPublicAddress AllocatePublicAddress: !Ref AllocatePublicAddress @@ -977,6 +996,7 @@ Resources: ManagementInstanceType: !Ref ManagementInstanceType ManagementVersion: !Ref ManagementVersion ManagementPasswordHash: !Ref ManagementPasswordHash + ManagementMaintenancePasswordHash: !Ref ManagementMaintenancePasswordHash GatewaysPolicy: !Ref GatewaysPolicy AdminCIDR: !Ref AdminCIDR GatewayManagement: !Ref GatewayManagement diff --git a/aws/templates/management/management.yaml b/aws/templates/management/management.yaml index d0e5ac77..6da0484a 100755 --- a/aws/templates/management/management.yaml +++ b/aws/templates/management/management.yaml @@ -1,5 +1,5 @@ AWSTemplateFormatVersion: 2010-09-09 -Description: Deploys a Check Point Management Server (20230926) +Description: Deploys a Check Point Management Server (20240204) Metadata: AWS::CloudFormation::Interface: ParameterGroups: @@ -33,12 +33,13 @@ Metadata: - ManagementVersion - Shell - ManagementPasswordHash + - ManagementMaintenancePasswordHash - Label: default: Security Management Server Settings Parameters: - ManagementHostname - - PrimaryManagement - - ManagementSICKey + - ManagementInstallationType + - SICKey - AllowUploadDownload - AdminCIDR - GatewayManagement @@ -81,11 +82,13 @@ Metadata: default: Admin shell ManagementPasswordHash: default: Password hash + ManagementMaintenancePasswordHash: + default: Management Maintenance Password hash ManagementHostname: default: Management hostname - PrimaryManagement: - default: Primary management - ManagementSICKey: + ManagementInstallationType: + default: Management installation type + SICKey: default: SIC key AllowUploadDownload: default: Allow upload & download @@ -320,22 +323,29 @@ Parameters: Default: '' AllowedPattern: '[\$\./a-zA-Z0-9]*' NoEcho: true + ManagementMaintenancePasswordHash: + Description: Check Point recommends setting Admin user's password and maintenance-mode password for recovery purposes. For R81.10 and below the Admin user's password is used also as maintenance-mode password. (To generate a password hash use the command "grub2-mkpasswd-pbkdf2" on Linux and paste it here). (optional) + Type: String + Default: '' + AllowedPattern: '[\$\./a-zA-Z0-9]*' + NoEcho: true ManagementHostname: Description: The name must not contain reserved words. For details, refer to sk40179 (optional). Type: String Default: mgmt-aws AllowedPattern: '^([A-Za-z]([-0-9A-Za-z]{0,61}[0-9A-Za-z])?|)$' ConstraintDescription: A valid hostname label or an empty string. - PrimaryManagement: - Description: Determines if this is the primary Management Server or not. + ManagementInstallationType: + Description: Determines the Management Server installation type. Type: String - Default: true + Default: Primary management AllowedValues: - - true - - false - ManagementSICKey: + - Primary management + - Secondary management + - Log Server + SICKey: Description: >- - Mandatory only if deploying a secondary Management Server, the Secure Internal + Mandatory only if deploying a secondary Management Server or Log Server, the Secure Internal Communication key creates trusted connections between Check Point components. Choose a random string consisting of at least 8 alphanumeric characters. Type: String @@ -394,7 +404,7 @@ Conditions: - !Equals [!Ref ManagementPermissions, Create with read-write permissions] EncryptedVolume: !Not [!Equals [!Ref VolumeEncryption, '']] UseRole: !Not [!Equals [!Ref ManagementPermissions, None (configure later)]] - NoSIC: !Equals [!Ref ManagementSICKey, ''] + NoSIC: !Equals [!Ref SICKey, ''] PreRole: !And [!Condition UseRole, !Not [!Condition CreateRole]] Resources: AMI: @@ -519,14 +529,15 @@ Resources: - 'runcmd:' - ' - |' - ' set -e' - - !Sub ' admin_shell=${Shell} ; allow_info=${AllowUploadDownload} ; hostname=${ManagementHostname} ; primary_mgmt=${PrimaryManagement} ; eic=${EnableInstanceConnect} ; admin_subnet=${AdminCIDR} ; eip=${AllocatePublicAddress} ; ntp1=${NTPPrimary} ; ntp2=${NTPSecondary}' + - !Sub ' admin_shell=${Shell} ; allow_info=${AllowUploadDownload} ; hostname=${ManagementHostname} ; eic=${EnableInstanceConnect} ; admin_subnet=${AdminCIDR} ; eip=${AllocatePublicAddress} ; ntp1=${NTPPrimary} ; ntp2=${NTPSecondary} ; mgmt_install_type=''${ManagementInstallationType}''' - !If [EIP, !Sub ' wait_handle=''${ManagementReadyHandle}''',!Ref 'AWS::NoValue'] - - !If [NoSIC, ' sic=""', !Join ['', [' sic="$(echo ', 'Fn::Base64': !Ref ManagementSICKey, ')"']]] + - !If [NoSIC, ' sic=""', !Join ['', [' sic="$(echo ', 'Fn::Base64': !Ref SICKey, ')"']]] - !If [ManageOverInternetAndEIP, ' pub_mgmt=true', ' pub_mgmt=false'] - !Join ['', [' bootstrap="$(echo ', 'Fn::Base64': !Ref ManagementBootstrapScript, ')"']] - !Join ['', [' pwd_hash="$(echo ', 'Fn::Base64': !Ref ManagementPasswordHash, ')"']] + - !Join ['', [' maintenance_pwd_hash="$(echo ', 'Fn::Base64': !Ref ManagementMaintenancePasswordHash, ')"']] - !Sub [' version=${Version}', {Version: !Select [0, !Split ['-', !Ref ManagementVersion]]}] - - ' python3 /etc/cloud_config.py waitHandle=\"${wait_handle}\" sicKey=\"${sic}\" installationType=\"management\" osVersion=\"${version}\" allowUploadDownload=\"${allow_info}\" templateVersion=\"20221123\" templateName=\"management\" shell=\"${admin_shell}\" enableInstanceConnect=\"${eic}\" hostName=\"${hostname}\" ntpPrimary=\"${ntp1}\" ntpSecondary=\"${ntp2}\" passwordHash=\"${pwd_hash}\" primary=\"${primary_mgmt}\" adminSubnet=\"${admin_subnet}\" allocatePublicAddress=\"${eip}\" overTheInternet=\"${pub_mgmt}\" bootstrapScript64=\"${bootstrap}\"' + - ' python3 /etc/cloud_config.py waitHandle=\"${wait_handle}\" sicKey=\"${sic}\" installationType=\"management\" osVersion=\"${version}\" allowUploadDownload=\"${allow_info}\" templateVersion=\"20240204\" templateName=\"management\" shell=\"${admin_shell}\" enableInstanceConnect=\"${eic}\" hostName=\"${hostname}\" ntpPrimary=\"${ntp1}\" ntpSecondary=\"${ntp2}\" passwordHash=\"${pwd_hash}\" MaintenanceModePassword=\"${maintenance_pwd_hash}\" "management_installation_type=\"${mgmt_install_type}\"" adminSubnet=\"${admin_subnet}\" allocatePublicAddress=\"${eip}\" overTheInternet=\"${pub_mgmt}\" bootstrapScript64=\"${bootstrap}\"' PublicAddress: Type: AWS::EC2::EIP Condition: EIP diff --git a/aws/templates/mds/mds.yaml b/aws/templates/mds/mds.yaml index 90b47f81..7ef88cf1 100755 --- a/aws/templates/mds/mds.yaml +++ b/aws/templates/mds/mds.yaml @@ -1,5 +1,5 @@ AWSTemplateFormatVersion: '2010-09-09' -Description: Deploys a Check Point Multi-Domain Server (20230926) +Description: Deploys a Check Point Multi-Domain Server (20240204) Metadata: AWS::CloudFormation::Interface: ParameterGroups: @@ -32,6 +32,7 @@ Metadata: - MDSVersion - Shell - MDSPasswordHash + - MDSMaintenancePasswordHash - Label: default: Multi-Domain Server Settings Parameters: @@ -77,6 +78,8 @@ Metadata: default: Admin shell MDSPasswordHash: default: Password hash + MDSMaintenancePasswordHash: + default: MDS Maintenance Password hash MDSHostname: default: MDS hostname MDSInstallationType: @@ -303,6 +306,12 @@ Parameters: Default: '' AllowedPattern: '[\$\./a-zA-Z0-9]*' NoEcho: true + MDSMaintenancePasswordHash: + Description: Check Point recommends setting Admin user's password and maintenance-mode password for recovery purposes. For R81.10 and below the Admin user's password is used also as maintenance-mode password. (To generate a password hash use the command "grub2-mkpasswd-pbkdf2" on Linux and paste it here). (optional) + Type: String + Default: '' + AllowedPattern: '[\$\./a-zA-Z0-9]*' + NoEcho: true MDSHostname: Description: The name must not contain reserved words. For details, refer to sk40179 (optional). Type: String @@ -492,5 +501,6 @@ Resources: - !If [PrimaryMDS, ' sic=notused', !Join ['', [' sic="$(echo ', 'Fn::Base64': !Ref MDSSICKey, ')"']]] - !Join ['', [' bootstrap="$(echo ', 'Fn::Base64': !Ref MDSBootstrapScript, ')"']] - !Join ['', [' pwd_hash="$(echo ', 'Fn::Base64': !Ref MDSPasswordHash, ')"']] + - !Join ['', [' maintenance_pwd_hash="$(echo ', 'Fn::Base64': !Ref MDSMaintenancePasswordHash, ')"']] - !Sub [' version=${Version}', {Version: !Select [0, !Split ['-', !Ref MDSVersion]]}] - - ' python3 /etc/cloud_config.py sicKey=\"${sic}\" installationType=\"mds\" osVersion=\"${version}\" allowUploadDownload=\"${allow_info}\" templateVersion=\"20221123\" templateName=\"mds\" shell=\"${admin_shell}\" enableInstanceConnect=\"${eic}\" hostName=\"${hostname}\" ntpPrimary=\"${ntp1}\" ntpSecondary=\"${ntp2}\" passwordHash=\"${pwd_hash}\" primary=\"${primary}\" secondary=\"${secondary}\" adminSubnet=\"${admin_subnet}\" bootstrapScript64=\"${bootstrap}\"' \ No newline at end of file + - ' python3 /etc/cloud_config.py sicKey=\"${sic}\" installationType=\"mds\" osVersion=\"${version}\" allowUploadDownload=\"${allow_info}\" templateVersion=\"20240204\" templateName=\"mds\" shell=\"${admin_shell}\" enableInstanceConnect=\"${eic}\" hostName=\"${hostname}\" ntpPrimary=\"${ntp1}\" ntpSecondary=\"${ntp2}\" passwordHash=\"${pwd_hash}\" MaintenanceModePassword=\"${maintenance_pwd_hash}\" primary=\"${primary}\" secondary=\"${secondary}\" adminSubnet=\"${admin_subnet}\" bootstrapScript64=\"${bootstrap}\"' \ No newline at end of file diff --git a/aws/templates/single-gw/gateway-master.yaml b/aws/templates/single-gw/gateway-master.yaml index 1db079a5..bc1e7147 100755 --- a/aws/templates/single-gw/gateway-master.yaml +++ b/aws/templates/single-gw/gateway-master.yaml @@ -1,5 +1,5 @@ AWSTemplateFormatVersion: 2010-09-09 -Description: Deploys a Check Point Security Gateway into a new VPC (20231113) +Description: Deploys a Check Point Security Gateway into a new VPC (20240204) Metadata: AWS::CloudFormation::Interface: ParameterGroups: @@ -29,6 +29,7 @@ Metadata: - Shell - GatewaySICKey - GatewayPasswordHash + - GatewayMaintenancePasswordHash - Label: default: Quick connect to Smart-1 Cloud (Recommended) Parameters: @@ -86,6 +87,8 @@ Metadata: default: Smart-1 Cloud Token GatewayPasswordHash: default: Gateway Password hash + GatewayMaintenancePasswordHash: + default: Gateway Maintenance Password hash ResourcesTagName: default: Resources prefix tag GatewayHostname: @@ -328,6 +331,12 @@ Parameters: Default: '' AllowedPattern: '[\$\./a-zA-Z0-9]*' NoEcho: true + GatewayMaintenancePasswordHash: + Description: Check Point recommends setting Admin user's password and maintenance-mode password for recovery purposes. For R81.10 and below the Admin user's password is used also as maintenance-mode password. (To generate a password hash use the command "grub2-mkpasswd-pbkdf2" on Linux and paste it here). (optional) + Type: String + Default: '' + AllowedPattern: '[\$\./a-zA-Z0-9]*' + NoEcho: true ResourcesTagName: Description: The name tag of the resources. (optional) Type: String @@ -439,6 +448,7 @@ Resources: GatewaySICKey: !Ref GatewaySICKey GatewayToken: !Ref GatewayToken GatewayPasswordHash: !Ref GatewayPasswordHash + GatewayMaintenancePasswordHash: !Ref GatewayMaintenancePasswordHash ResourcesTagName: !Ref ResourcesTagName GatewayHostname: !Ref GatewayHostname AllowUploadDownload: !Ref AllowUploadDownload diff --git a/aws/templates/single-gw/gateway.yaml b/aws/templates/single-gw/gateway.yaml index 3e2e3543..da41792a 100755 --- a/aws/templates/single-gw/gateway.yaml +++ b/aws/templates/single-gw/gateway.yaml @@ -1,5 +1,5 @@ AWSTemplateFormatVersion: 2010-09-09 -Description: Deploys a Check Point Security Gateway into an existing VPC (20231113) +Description: Deploys a Check Point Security Gateway into an existing VPC (20240204) Metadata: AWS::CloudFormation::Interface: ParameterGroups: @@ -29,6 +29,7 @@ Metadata: - Shell - GatewaySICKey - GatewayPasswordHash + - GatewayMaintenancePasswordHash - Label: default: Quick connect to Smart-1 Cloud (Recommended) Parameters: @@ -86,6 +87,8 @@ Metadata: default: Smart-1 Cloud Token GatewayPasswordHash: default: Gateway Password hash + GatewayMaintenancePasswordHash: + default: Gateway Maintenance Password hash ResourcesTagName: default: Resources prefix tag GatewayHostname: @@ -326,6 +329,12 @@ Parameters: Default: '' AllowedPattern: '[\$\./a-zA-Z0-9]*' NoEcho: true + GatewayMaintenancePasswordHash: + Description: Check Point recommends setting Admin user's password and maintenance-mode password for recovery purposes. For R81.10 and below the Admin user's password is used also as maintenance-mode password. (To generate a password hash use the command "grub2-mkpasswd-pbkdf2" on Linux and paste it here). (optional) + Type: String + Default: '' + AllowedPattern: '[\$\./a-zA-Z0-9]*' + NoEcho: true ResourcesTagName: Description: The name tag of the resources. (optional) Type: String @@ -525,9 +534,10 @@ Resources: - !If [AllocateAddress, !Sub ' wait_handle=''${ReadyHandle}''',!Ref 'AWS::NoValue'] - !Join ['', [' sic="$(echo ', 'Fn::Base64': !Ref GatewaySICKey, ')"']] - !Join ['', [' pwd_hash="$(echo ', 'Fn::Base64': !Ref GatewayPasswordHash, ')"']] + - !Join ['', [' maintenance_pwd_hash="$(echo ', 'Fn::Base64': !Ref GatewayMaintenancePasswordHash, ')"']] - !Join ['', [' bootstrap="$(echo ', 'Fn::Base64': !Ref GatewayBootstrapScript, ')"']] - !Sub [' version=${Version}', {Version: !Select [0, !Split ['-', !Ref GatewayVersion]]}] - - ' python3 /etc/cloud_config.py enableCloudWatch=\"${cw}\" waitHandle=\"${wait_handle}\" sicKey=\"${sic}\" "smart1CloudToken=\"${token}\"" installationType=\"gateway\" osVersion=\"${version}\" allowUploadDownload=\"${allow_info}\" templateVersion=\"20231113\" templateName=\"gateway\" shell=\"${admin_shell}\" enableInstanceConnect=\"${eic}\" hostName=\"${hostname}\" ntpPrimary=\"${ntp1}\" ntpSecondary=\"${ntp2}\" passwordHash=\"${pwd_hash}\" allocatePublicAddress=\"${eip}\" bootstrapScript64=\"${bootstrap}\"' + - ' python3 /etc/cloud_config.py enableCloudWatch=\"${cw}\" waitHandle=\"${wait_handle}\" sicKey=\"${sic}\" "smart1CloudToken=\"${token}\"" installationType=\"gateway\" osVersion=\"${version}\" allowUploadDownload=\"${allow_info}\" templateVersion=\"20240204\" templateName=\"gateway\" shell=\"${admin_shell}\" enableInstanceConnect=\"${eic}\" hostName=\"${hostname}\" ntpPrimary=\"${ntp1}\" ntpSecondary=\"${ntp2}\" passwordHash=\"${pwd_hash}\" MaintenanceModePassword=\"${maintenance_pwd_hash}\" allocatePublicAddress=\"${eip}\" bootstrapScript64=\"${bootstrap}\"' KeyName: !Ref KeyName NetworkInterfaces: - DeviceIndex: 0 diff --git a/aws/templates/standalone/standalone-master.yaml b/aws/templates/standalone/standalone-master.yaml index 2ad55367..4f598a3f 100755 --- a/aws/templates/standalone/standalone-master.yaml +++ b/aws/templates/standalone/standalone-master.yaml @@ -1,6 +1,6 @@ AWSTemplateFormatVersion: 2010-09-09 Description: Deploys either a manually configurable or a Check Point CloudGuard IaaS - Security Gateway & Management (Standalone) instance in a new VPC (20231113) + Security Gateway & Management (Standalone) instance in a new VPC (20240204) Metadata: AWS::CloudFormation::Interface: ParameterGroups: @@ -29,6 +29,7 @@ Metadata: - StandaloneVersion - Shell - StandalonePasswordHash + - StandaloneMaintenancePasswordHash - Label: default: Advanced Settings Parameters: @@ -74,6 +75,8 @@ Metadata: default: Admin shell StandalonePasswordHash: default: Standalone Password hash + StandaloneMaintenancePasswordHash: + default: Gateway Maintenance Password hash ResourcesTagName: default: Resources prefix tag StandaloneHostname: @@ -183,6 +186,12 @@ Parameters: Default: '' AllowedPattern: '[\$\./a-zA-Z0-9]*' NoEcho: true + StandaloneMaintenancePasswordHash: + Description: Check Point recommends setting Admin user's password and maintenance-mode password for recovery purposes. For R81.10 and below the Admin user's password is used also as maintenance-mode password. (To generate a password hash use the command "grub2-mkpasswd-pbkdf2" on Linux and paste it here). (optional) + Type: String + Default: '' + AllowedPattern: '[\$\./a-zA-Z0-9]*' + NoEcho: true StandaloneInstanceType: Description: The instance type of the Security Gateway & Management (Standalone) instance. Type: String @@ -400,6 +409,7 @@ Resources: StandaloneVersion: !Ref StandaloneVersion Shell: !Ref Shell StandalonePasswordHash: !Ref StandalonePasswordHash + StandaloneMaintenancePasswordHash: !Ref StandaloneMaintenancePasswordHash ResourcesTagName: !Ref ResourcesTagName StandaloneHostname: !Ref StandaloneHostname AllowUploadDownload: !Ref AllowUploadDownload diff --git a/aws/templates/standalone/standalone.yaml b/aws/templates/standalone/standalone.yaml index 81819393..78f36aba 100755 --- a/aws/templates/standalone/standalone.yaml +++ b/aws/templates/standalone/standalone.yaml @@ -1,6 +1,6 @@ AWSTemplateFormatVersion: 2010-09-09 Description: Deploys either a manually configurable or a Check Point CloudGuard IaaS - Security Gateway & Management (Standalone) instance into an existing VPC (20231113) + Security Gateway & Management (Standalone) instance into an existing VPC (20240204) Metadata: AWS::CloudFormation::Interface: ParameterGroups: @@ -29,6 +29,7 @@ Metadata: - StandaloneVersion - Shell - StandalonePasswordHash + - StandaloneMaintenancePasswordHash - Label: default: Advanced Settings Parameters: @@ -74,6 +75,8 @@ Metadata: default: Admin shell StandalonePasswordHash: default: Standalone Password hash + StandaloneMaintenancePasswordHash: + default: Standalone Maintenance Password hash ResourcesTagName: default: Resources prefix tag StandaloneHostname: @@ -296,6 +299,12 @@ Parameters: Default: '' AllowedPattern: '[\$\./a-zA-Z0-9]*' NoEcho: true + StandaloneMaintenancePasswordHash: + Description: Check Point recommends setting Admin user's password and maintenance-mode password for recovery purposes. For R81.10 and below the Admin user's password is used also as maintenance-mode password. (To generate a password hash use the command "grub2-mkpasswd-pbkdf2" on Linux and paste it here). (optional) + Type: String + Default: '' + AllowedPattern: '[\$\./a-zA-Z0-9]*' + NoEcho: true ResourcesTagName: Description: The name tag of the resources. (optional) Type: String @@ -475,8 +484,9 @@ Resources: - !If [AllocateAddress, !Sub ' wait_handle=''${ReadyHandle}''',!Ref 'AWS::NoValue'] - !Join ['', [' bootstrap="$(echo ', 'Fn::Base64': !Ref StandaloneBootstrapScript, ')"']] - !Join ['', [' pwd_hash="$(echo ', 'Fn::Base64': !Ref StandalonePasswordHash, ')"']] + - !Join ['', [' maintenance_pwd_hash="$(echo ', 'Fn::Base64': !Ref StandaloneMaintenancePasswordHash, ')"']] - !Sub [' version=${Version}', {Version: !Select [0, !Split ['-', !Ref StandaloneVersion]]}] - - ' python3 /etc/cloud_config.py enableCloudWatch=\"${cw}\" waitHandle=\"${wait_handle}\" installationType=\"standalone\" osVersion=\"${version}\" allowUploadDownload=\"${allow_info}\" templateVersion=\"20231113\" templateName=\"standalone\" shell=\"${admin_shell}\" enableInstanceConnect=\"${eic}\" hostName=\"${hostname}\" ntpPrimary=\"${ntp1}\" ntpSecondary=\"${ntp2}\" passwordHash=\"${pwd_hash}\" adminSubnet=\"${admin_subnet}\" allocatePublicAddress=\"${eip}\" bootstrapScript64=\"${bootstrap}\"' + - ' python3 /etc/cloud_config.py enableCloudWatch=\"${cw}\" waitHandle=\"${wait_handle}\" installationType=\"standalone\" osVersion=\"${version}\" allowUploadDownload=\"${allow_info}\" templateVersion=\"20240204\" templateName=\"standalone\" shell=\"${admin_shell}\" enableInstanceConnect=\"${eic}\" hostName=\"${hostname}\" ntpPrimary=\"${ntp1}\" ntpSecondary=\"${ntp2}\" passwordHash=\"${pwd_hash}\" MaintenanceModePassword=\"${maintenance_pwd_hash}\" adminSubnet=\"${admin_subnet}\" allocatePublicAddress=\"${eip}\" bootstrapScript64=\"${bootstrap}\"' KeyName: !Ref KeyName NetworkInterfaces: - DeviceIndex: 0 diff --git a/aws/templates/tgw-asg/tgw-asg-master.yaml b/aws/templates/tgw-asg/tgw-asg-master.yaml index 2efbb720..076e24a7 100755 --- a/aws/templates/tgw-asg/tgw-asg-master.yaml +++ b/aws/templates/tgw-asg/tgw-asg-master.yaml @@ -1,5 +1,5 @@ AWSTemplateFormatVersion: 2010-09-09 -Description: Deploy an Auto Scaling Group of CloudGuard Security Gateways for Transit Gateway with an optional Management Server in a new VPC (20230830) +Description: Deploy an Auto Scaling Group of CloudGuard Security Gateways for Transit Gateway with an optional Management Server in a new VPC (20240204) Metadata: AWS::CloudFormation::Interface: ParameterGroups: @@ -32,6 +32,7 @@ Metadata: - GatewaysMaxSize - GatewayVersion - GatewayPasswordHash + - GatewayMaintenancePasswordHash - GatewaySICKey - CloudWatch - ASN @@ -43,6 +44,7 @@ Metadata: - ManagementInstanceType - ManagementVersion - ManagementPasswordHash + - ManagementMaintenancePasswordHash - ManagementPermissions - ManagementPredefinedRole - GatewaysBlades @@ -96,6 +98,8 @@ Metadata: default: Gateways version & license GatewayPasswordHash: default: Password hash + GatewayMaintenancePasswordHash: + default: Gateway Maintenance Password hash GatewaySICKey: default: SIC key CloudWatch: @@ -112,6 +116,8 @@ Metadata: default: Version & license ManagementPasswordHash: default: Password hash + ManagementMaintenancePasswordHash: + default: Management Maintenance Password hash ManagementPermissions: default: IAM role ManagementPredefinedRole: @@ -368,6 +374,12 @@ Parameters: Default: '' AllowedPattern: '^[\$\./a-zA-Z0-9]*$' NoEcho: true + GatewayMaintenancePasswordHash: + Description: Check Point recommends setting Admin user's password and maintenance-mode password for recovery purposes. For R81.10 and below the Admin user's password is used also as maintenance-mode password. (To generate a password hash use the command "grub2-mkpasswd-pbkdf2" on Linux and paste it here). (optional) + Type: String + Default: '' + AllowedPattern: '[\$\./a-zA-Z0-9]*' + NoEcho: true GatewaySICKey: Description: The Secure Internal Communication key creates trusted connections between Check Point components. Choose a random string consisting of at least 8 alphanumeric characters. Type: String @@ -532,6 +544,12 @@ Parameters: Default: '' AllowedPattern: '^[\$\./a-zA-Z0-9]*$' NoEcho: true + ManagementMaintenancePasswordHash: + Description: Check Point recommends setting Admin user's password and maintenance-mode password for recovery purposes. For R81.10 and below the Admin user's password is used also as maintenance-mode password. (To generate a password hash use the command "grub2-mkpasswd-pbkdf2" on Linux and paste it here). (optional) + Type: String + Default: '' + AllowedPattern: '[\$\./a-zA-Z0-9]*' + NoEcho: true ManagementPermissions: Description: IAM role to attach to the instance profile. Type: String @@ -629,6 +647,7 @@ Resources: GatewaysMaxSize: !Ref GatewaysMaxSize GatewayVersion: !Ref GatewayVersion GatewayPasswordHash: !Ref GatewayPasswordHash + GatewayMaintenancePasswordHash: !Ref GatewayMaintenancePasswordHash GatewaySICKey: !Ref GatewaySICKey CloudWatch: !Ref CloudWatch ASN: !Ref ASN @@ -637,6 +656,7 @@ Resources: ManagementInstanceType: !Ref ManagementInstanceType ManagementVersion: !Ref ManagementVersion ManagementPasswordHash: !Ref ManagementPasswordHash + ManagementMaintenancePasswordHash: !Ref ManagementMaintenancePasswordHash ManagementPermissions: !Ref ManagementPermissions ManagementPredefinedRole: !Ref ManagementPredefinedRole GatewaysBlades: !Ref GatewaysBlades diff --git a/aws/templates/tgw-asg/tgw-asg.yaml b/aws/templates/tgw-asg/tgw-asg.yaml index 1213aded..c63676e1 100755 --- a/aws/templates/tgw-asg/tgw-asg.yaml +++ b/aws/templates/tgw-asg/tgw-asg.yaml @@ -1,5 +1,5 @@ AWSTemplateFormatVersion: '2010-09-09' -Description: Deploy an Auto Scaling Group of CloudGuard Security Gateways for Transit Gateway with an optional Management Server into an existing VPC (20230830) +Description: Deploy an Auto Scaling Group of CloudGuard Security Gateways for Transit Gateway with an optional Management Server into an existing VPC (20240204) Metadata: AWS::CloudFormation::Interface: ParameterGroups: @@ -27,6 +27,7 @@ Metadata: - GatewaysMaxSize - GatewayVersion - GatewayPasswordHash + - GatewayMaintenancePasswordHash - GatewaySICKey - CloudWatch - ASN @@ -38,6 +39,7 @@ Metadata: - ManagementInstanceType - ManagementVersion - ManagementPasswordHash + - ManagementMaintenancePasswordHash - ManagementPermissions - ManagementPredefinedRole - GatewaysBlades @@ -81,6 +83,8 @@ Metadata: default: Version & license GatewayPasswordHash: default: Password hash + GatewayMaintenancePasswordHash: + default: Gateway Maintenance Password hash GatewaySICKey: default: SIC key CloudWatch: @@ -97,6 +101,8 @@ Metadata: default: Version & license ManagementPasswordHash: default: Password hash + ManagementMaintenancePasswordHash: + default: Management Maintenance Password hash ManagementPermissions: default: IAM role ManagementPredefinedRole: @@ -322,6 +328,12 @@ Parameters: Default: '' AllowedPattern: '^[\$\./a-zA-Z0-9]*$' NoEcho: true + GatewayMaintenancePasswordHash: + Description: Check Point recommends setting Admin user's password and maintenance-mode password for recovery purposes. For R81.10 and below the Admin user's password is used also as maintenance-mode password. (To generate a password hash use the command "grub2-mkpasswd-pbkdf2" on Linux and paste it here). (optional) + Type: String + Default: '' + AllowedPattern: '[\$\./a-zA-Z0-9]*' + NoEcho: true GatewaySICKey: Description: The Secure Internal Communication key creates trusted connections between Check Point components. Choose a random string consisting of at least 8 alphanumeric characters. Type: String @@ -486,6 +498,12 @@ Parameters: Default: '' AllowedPattern: '[\$\./a-zA-Z0-9]*' NoEcho: true + ManagementMaintenancePasswordHash: + Description: Check Point recommends setting Admin user's password and maintenance-mode password for recovery purposes. For R81.10 and below the Admin user's password is used also as maintenance-mode password. (To generate a password hash use the command "grub2-mkpasswd-pbkdf2" on Linux and paste it here). (optional) + Type: String + Default: '' + AllowedPattern: '[\$\./a-zA-Z0-9]*' + NoEcho: true ManagementPermissions: Description: IAM role to attach to the instance profile. Type: String @@ -565,6 +583,7 @@ Resources: ManagementPredefinedRole: !Ref ManagementPredefinedRole ManagementVersion: !Ref ManagementVersion ManagementPasswordHash: !Ref ManagementPasswordHash + ManagementMaintenancePasswordHash: !Ref ManagementMaintenancePasswordHash AllowUploadDownload: !Ref AllowUploadDownload AdminCIDR: !Ref AdminCIDR GatewayManagement: !Ref GatewayManagement @@ -616,6 +635,7 @@ Resources: AdminEmail: !Ref AdminEmail GatewayVersion: !Ref GatewayVersion GatewayPasswordHash: !Ref GatewayPasswordHash + GatewayMaintenancePasswordHash: !Ref GatewayMaintenancePasswordHash GatewaySICKey: !Ref GatewaySICKey AllowUploadDownload: !Ref AllowUploadDownload CloudWatch: !Ref CloudWatch diff --git a/aws/templates/tgw-cross-az-cluster/tgw-cross-az-cluster-master.yaml b/aws/templates/tgw-cross-az-cluster/tgw-cross-az-cluster-master.yaml index 46321c79..076c1390 100755 --- a/aws/templates/tgw-cross-az-cluster/tgw-cross-az-cluster-master.yaml +++ b/aws/templates/tgw-cross-az-cluster/tgw-cross-az-cluster-master.yaml @@ -1,5 +1,5 @@ AWSTemplateFormatVersion: 2010-09-09 -Description: Deploy a Check Point TGW Cross Availabilty Zone Cluster in a new VPC (20230503) +Description: Deploy a Check Point TGW Cross Availabilty Zone Cluster in a new VPC (20240204) Metadata: AWS::CloudFormation::Interface: ParameterGroups: @@ -33,6 +33,7 @@ Metadata: - GatewayVersion - Shell - GatewayPasswordHash + - GatewayMaintenancePasswordHash - GatewaySICKey - Label: default: Quick connect to Smart-1 Cloud (Recommended) @@ -92,6 +93,8 @@ Metadata: default: Admin shell GatewayPasswordHash: default: Password hash + GatewayMaintenancePasswordHash: + default: Gateway Maintenance Password hash GatewaySICKey: default: SIC key MemberAToken: @@ -345,6 +348,12 @@ Parameters: Default: '' AllowedPattern: '^[\$\./a-zA-Z0-9]*$' NoEcho: true + GatewayMaintenancePasswordHash: + Description: Check Point recommends setting Admin user's password and maintenance-mode password for recovery purposes. For R81.10 and below the Admin user's password is used also as maintenance-mode password. (To generate a password hash use the command "grub2-mkpasswd-pbkdf2" on Linux and paste it here). (optional) + Type: String + Default: '' + AllowedPattern: '[\$\./a-zA-Z0-9]*' + NoEcho: true GatewaySICKey: Description: The Secure Internal Communication key creates trusted connections between Check Point components. Choose a random string consisting of at least @@ -455,6 +464,7 @@ Resources: GatewayVersion: !Ref GatewayVersion Shell: !Ref Shell GatewayPasswordHash: !Ref GatewayPasswordHash + GatewayMaintenancePasswordHash: !Ref GatewayMaintenancePasswordHash GatewaySICKey: !Ref GatewaySICKey MemberAToken: !Ref MemberAToken MemberBToken: !Ref MemberBToken diff --git a/aws/templates/tgw-cross-az-cluster/tgw-cross-az-cluster.yaml b/aws/templates/tgw-cross-az-cluster/tgw-cross-az-cluster.yaml index 61e4cd1d..651a4554 100755 --- a/aws/templates/tgw-cross-az-cluster/tgw-cross-az-cluster.yaml +++ b/aws/templates/tgw-cross-az-cluster/tgw-cross-az-cluster.yaml @@ -1,5 +1,5 @@ AWSTemplateFormatVersion: 2010-09-09 -Description: Deploys a Check Point TGW Cross Availabilty Zone Cluster into an existing VPC (20230503) +Description: Deploys a Check Point TGW Cross Availabilty Zone Cluster into an existing VPC (20240204) Metadata: AWS::CloudFormation::Interface: ParameterGroups: @@ -33,6 +33,7 @@ Metadata: - GatewayVersion - Shell - GatewayPasswordHash + - GatewayMaintenancePasswordHash - GatewaySICKey - Label: default: Quick connect to Smart-1 Cloud (Recommended) @@ -92,6 +93,8 @@ Metadata: default: Admin shell GatewayPasswordHash: default: Password hash + GatewayMaintenancePasswordHash: + default: Gateway Maintenance Password hash GatewaySICKey: default: SIC key MemberAToken: @@ -341,6 +344,12 @@ Parameters: Default: '' AllowedPattern: '^[\$\./a-zA-Z0-9]*$' NoEcho: true + GatewayMaintenancePasswordHash: + Description: Check Point recommends setting Admin user's password and maintenance-mode password for recovery purposes. For R81.10 and below the Admin user's password is used also as maintenance-mode password. (To generate a password hash use the command "grub2-mkpasswd-pbkdf2" on Linux and paste it here). (optional) + Type: String + Default: '' + AllowedPattern: '[\$\./a-zA-Z0-9]*' + NoEcho: true GatewaySICKey: Description: The Secure Internal Communication key creates trusted connections between Check Point components. Choose a random string consisting of at least @@ -425,6 +434,7 @@ Resources: GatewayVersion: !Ref GatewayVersion Shell: !Ref Shell GatewayPasswordHash: !Ref GatewayPasswordHash + GatewayMaintenancePasswordHash: !Ref GatewayMaintenancePasswordHash GatewaySICKey: !Ref GatewaySICKey MemberAToken: !Ref MemberAToken MemberBToken: !Ref MemberBToken diff --git a/aws/templates/tgw-ha/tgw-ha-master.yaml b/aws/templates/tgw-ha/tgw-ha-master.yaml index 06ee377d..7eb8db40 100755 --- a/aws/templates/tgw-ha/tgw-ha-master.yaml +++ b/aws/templates/tgw-ha/tgw-ha-master.yaml @@ -1,5 +1,5 @@ AWSTemplateFormatVersion: 2010-09-09 -Description: Deploy a Check Point TGW HA cross AZ Cluster in a new VPC (20230503) +Description: Deploy a Check Point TGW HA cross AZ Cluster in a new VPC (20240204) Metadata: AWS::CloudFormation::Interface: ParameterGroups: @@ -33,6 +33,7 @@ Metadata: - GatewayVersion - Shell - GatewayPasswordHash + - GatewayMaintenancePasswordHash - GatewaySICKey - Label: default: Quick connect to Smart-1 Cloud (Recommended) @@ -92,6 +93,8 @@ Metadata: default: Admin shell GatewayPasswordHash: default: Password hash + GatewayMaintenancePasswordHash: + default: Gateway Maintenance Password hash GatewaySICKey: default: SIC key MemberAToken: @@ -351,6 +354,12 @@ Parameters: Default: '' AllowedPattern: '^[\$\./a-zA-Z0-9]*$' NoEcho: true + GatewayMaintenancePasswordHash: + Description: Check Point recommends setting Admin user's password and maintenance-mode password for recovery purposes. For R81.10 and below the Admin user's password is used also as maintenance-mode password. (To generate a password hash use the command "grub2-mkpasswd-pbkdf2" on Linux and paste it here). (optional) + Type: String + Default: '' + AllowedPattern: '[\$\./a-zA-Z0-9]*' + NoEcho: true GatewaySICKey: Description: The Secure Internal Communication key creates trusted connections between Check Point components. Choose a random string consisting of at least @@ -460,6 +469,7 @@ Resources: GatewayVersion: !Ref GatewayVersion Shell: !Ref Shell GatewayPasswordHash: !Ref GatewayPasswordHash + GatewayMaintenancePasswordHash: !Ref GatewayMaintenancePasswordHash GatewaySICKey: !Ref GatewaySICKey MemberAToken: !Ref MemberAToken MemberBToken: !Ref MemberBToken diff --git a/aws/templates/tgw-ha/tgw-ha.yaml b/aws/templates/tgw-ha/tgw-ha.yaml index 663e6e5c..e02d8e5e 100755 --- a/aws/templates/tgw-ha/tgw-ha.yaml +++ b/aws/templates/tgw-ha/tgw-ha.yaml @@ -1,5 +1,5 @@ AWSTemplateFormatVersion: 2010-09-09 -Description: Deploys a Check Point TGW HA Cluster into an existing VPC (20230503) +Description: Deploys a Check Point TGW HA Cluster into an existing VPC (20240204) Metadata: AWS::CloudFormation::Interface: ParameterGroups: @@ -33,6 +33,7 @@ Metadata: - GatewayVersion - Shell - GatewayPasswordHash + - GatewayMaintenancePasswordHash - GatewaySICKey - Label: default: Quick connect to Smart-1 Cloud (Recommended) @@ -92,6 +93,8 @@ Metadata: default: Admin shell GatewayPasswordHash: default: Password hash + GatewayMaintenancePasswordHash: + default: Gateway Maintenance Password hash GatewaySICKey: default: SIC key MemberAToken: @@ -346,6 +349,12 @@ Parameters: Default: '' AllowedPattern: '^[\$\./a-zA-Z0-9]*$' NoEcho: true + GatewayMaintenancePasswordHash: + Description: Check Point recommends setting Admin user's password and maintenance-mode password for recovery purposes. For R81.10 and below the Admin user's password is used also as maintenance-mode password. (To generate a password hash use the command "grub2-mkpasswd-pbkdf2" on Linux and paste it here). (optional) + Type: String + Default: '' + AllowedPattern: '[\$\./a-zA-Z0-9]*' + NoEcho: true GatewaySICKey: Description: The Secure Internal Communication key creates trusted connections between Check Point components. Choose a random string consisting of at least 8 @@ -431,6 +440,7 @@ Resources: GatewayVersion: !Ref GatewayVersion Shell: !Ref Shell GatewayPasswordHash: !Ref GatewayPasswordHash + GatewayMaintenancePasswordHash: !Ref GatewayMaintenancePasswordHash GatewaySICKey: !Ref GatewaySICKey MemberAToken: !Ref MemberAToken MemberBToken: !Ref MemberBToken diff --git a/terraform/aws/autoscale-gwlb/README.md b/terraform/aws/autoscale-gwlb/README.md index a34bc2fc..1ca15344 100755 --- a/terraform/aws/autoscale-gwlb/README.md +++ b/terraform/aws/autoscale-gwlb/README.md @@ -93,6 +93,7 @@ secret_key = "my-secret-key" gateway_version = "R81.20-BYOL" admin_shell = "/etc/cli.sh" gateway_password_hash = "" + gateway_maintenance_mode_password_hash = "" # For R81.10 and below the gateway_password_hash is used also as maintenance-mode password. gateway_SICKey = "12345678" enable_instance_connect = false allow_upload_download = true @@ -143,7 +144,7 @@ secret_key = "my-secret-key" | enable_cloudwatch | Report Check Point specific CloudWatch metrics | bool | true/false | false | no | | gateway_bootstrap_script | (Optional) Semicolon (;) separated commands to run on the initial boot | string | n/a | "" | no | | volume_type | General Purpose SSD Volume Type | string | - gp3
- gp2 | gp3 | no | - +| gateway_maintenance_mode_password_hash | (optional) Check Point recommends setting Admin user's password and maintenance-mode password for recovery purposes. For R81.10 and below the Admin user's password is used also as maintenance-mode password. (To generate a password hash use the command 'grub2-mkpasswd-pbkdf2' on Linux and paste it here). | string | n/a | "" | no | ## Outputs | Name | Description | @@ -172,6 +173,7 @@ In order to check the template version, please refer to [sk116585](https://suppo | 20230521 | - Change default shell for the admin user to /etc/cli.sh
- Add description for reserved words in hostname | | 20230806 | Add support for c6in instance type | | 20230829 | Change default Check Point version to R81.20 | +| 20230914 | Add support for maintenance mode password | | 20230923 | Add support for C5d instance type | | 20231012 | Update AWS Terraform provider version to 5.20.1 | diff --git a/terraform/aws/autoscale-gwlb/asg_userdata.yaml b/terraform/aws/autoscale-gwlb/asg_userdata.yaml index 7ef7a603..bb095c01 100755 --- a/terraform/aws/autoscale-gwlb/asg_userdata.yaml +++ b/terraform/aws/autoscale-gwlb/asg_userdata.yaml @@ -26,4 +26,4 @@ bootcmd: - echo "cpprod_util CPPROD_SetValue \"fw1\" \"AwsGwlb\" 4 1 1" >> /etc/rc.local runcmd: - | - python3 /etc/cloud_config.py enableCloudWatch=\"${EnableCloudWatch}\" sicKey=\"${SICKey}\" installationType=\"autoscale\" osVersion=\"${OsVersion}\" allowUploadDownload=\"${AllowUploadDownload}\" templateVersion=\"20231012\" templateName=\"autoscale_gwlb\" templateType=\"terraform\" shell=\"${Shell}\" enableInstanceConnect=\"${EnableInstanceConnect}\" passwordHash=\"${PasswordHash}\" bootstrapScript64=\"${BootstrapScript}\" + python3 /etc/cloud_config.py enableCloudWatch=\"${EnableCloudWatch}\" sicKey=\"${SICKey}\" installationType=\"autoscale\" osVersion=\"${OsVersion}\" allowUploadDownload=\"${AllowUploadDownload}\" templateVersion=\"20231012\" templateName=\"autoscale_gwlb\" templateType=\"terraform\" shell=\"${Shell}\" enableInstanceConnect=\"${EnableInstanceConnect}\" passwordHash=\"${PasswordHash}\" MaintenanceModePassword=\"${MaintenanceModePassword}\" bootstrapScript64=\"${BootstrapScript}\" \ No newline at end of file diff --git a/terraform/aws/autoscale-gwlb/locals.tf b/terraform/aws/autoscale-gwlb/locals.tf index 0de76b1e..ef1abdf2 100755 --- a/terraform/aws/autoscale-gwlb/locals.tf +++ b/terraform/aws/autoscale-gwlb/locals.tf @@ -26,8 +26,10 @@ locals { // Will fail if var.gateway_SICKey is invalid regex_sic_result = regex(local.regex_valid_sic_key, var.gateway_SICKey) == var.gateway_SICKey ? 0 : "Variable [gateway_SICKey] must be at least 8 alphanumeric characters" - - + regex_valid_gateway_password_hash = "^[\\$\\./a-zA-Z0-9]*$" + // Will fail if var.gateway_password_hash is invalid + regex_gateway_password_hash = regex(local.regex_valid_gateway_password_hash, var.gateway_password_hash) == var.gateway_password_hash ? 0 : "Variable [gateway_password_hash] must be a valid password hash" + regex_gateway_maintenance_mode_password_hash = regex(local.regex_valid_gateway_password_hash, var.gateway_maintenance_mode_password_hash) == var.gateway_maintenance_mode_password_hash ? 0 : "Variable [gateway_maintenance_mode_password_hash] must be a valid password hash" regex_valid_cidr_range = "^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(/(3[0-2]|2[0-9]|1[0-9]|[0-9]))?$" @@ -39,7 +41,7 @@ locals { gateway_bootstrap_script64 = base64encode(var.gateway_bootstrap_script) gateway_SICkey_base64 = base64encode(var.gateway_SICKey) gateway_password_hash_base64 = base64encode(var.gateway_password_hash) - + maintenance_mode_password_hash_base64 = base64encode(var.gateway_maintenance_mode_password_hash) is_gwlb_ami = length(regexall(".*R80.40.*", var.gateway_version)) > 0 } diff --git a/terraform/aws/autoscale-gwlb/main.tf b/terraform/aws/autoscale-gwlb/main.tf index 2d8f567a..2fc0a383 100755 --- a/terraform/aws/autoscale-gwlb/main.tf +++ b/terraform/aws/autoscale-gwlb/main.tf @@ -64,6 +64,7 @@ resource "aws_launch_template" "asg_launch_template" { user_data = base64encode(templatefile("${path.module}/asg_userdata.yaml", { // script's arguments PasswordHash = local.gateway_password_hash_base64, + MaintenanceModePassword = local.maintenance_mode_password_hash_base64, EnableCloudWatch = var.enable_cloudwatch, EnableInstanceConnect = var.enable_instance_connect, Shell = var.admin_shell, diff --git a/terraform/aws/autoscale-gwlb/terraform.tfvars b/terraform/aws/autoscale-gwlb/terraform.tfvars index a5b9f5a9..ddc1de90 100755 --- a/terraform/aws/autoscale-gwlb/terraform.tfvars +++ b/terraform/aws/autoscale-gwlb/terraform.tfvars @@ -32,6 +32,7 @@ target_groups = ["arn:aws:tg1/abc123", "arn:aws:tg2/def456"] gateway_version = "R81.20-BYOL" admin_shell = "/etc/cli.sh" gateway_password_hash = "" +gateway_maintenance_mode_password_hash = "" # For R81.10 and below the gateway_password_hash is used also as maintenance-mode password. gateway_SICKey = "12345678" enable_instance_connect = false allow_upload_download = true diff --git a/terraform/aws/autoscale-gwlb/variables.tf b/terraform/aws/autoscale-gwlb/variables.tf index a12f37cb..1f58bf6c 100644 --- a/terraform/aws/autoscale-gwlb/variables.tf +++ b/terraform/aws/autoscale-gwlb/variables.tf @@ -149,6 +149,11 @@ variable "gateway_password_hash" { description = "(Optional) Admin user's password hash (use command 'openssl passwd -6 PASSWORD' to get the PASSWORD's hash)" default = "" } +variable "gateway_maintenance_mode_password_hash" { + description = "(optional) Check Point recommends setting Admin user's password and maintenance-mode password for recovery purposes. For R81.10 and below the Admin user's password is used also as maintenance-mode password. (To generate a password hash use the command 'grub2-mkpasswd-pbkdf2' on Linux and paste it here)." + type = string + default = "" +} variable "gateway_SICKey" { type = string description = "The Secure Internal Communication key for trusted connection between Check Point components (at least 8 alphanumeric characters)" diff --git a/terraform/aws/autoscale/README.md b/terraform/aws/autoscale/README.md index a1920359..97cf8445 100755 --- a/terraform/aws/autoscale/README.md +++ b/terraform/aws/autoscale/README.md @@ -94,6 +94,7 @@ secret_key = "my-secret-key" gateway_version = "R81.20-BYOL" admin_shell = "/etc/cli.sh" gateway_password_hash = "" + gateway_maintenance_mode_password_hash = "" # For R81.10 and below versions the gateway_password_hash is used also as maintenance-mode password. gateway_SICKey = "12345678" enable_instance_connect = false allow_upload_download = true @@ -153,6 +154,7 @@ secret_key = "my-secret-key" | proxy_elb_type | Type of ELB to create as an HTTP/HTTPS outbound proxy | string | - none
- internal
- internet-facing | none | no | | proxy_elb_port | The TCP port on which the proxy will be listening | number | n/a | 8080 | no | | proxy_elb_clients | The CIDR range of the clients of the proxy | string | n/a | 0.0.0.0/0 | no | +| gateway_maintenance_mode_password_hash | (optional) Check Point recommends setting Admin user's password and maintenance-mode password for recovery purposes. For R81.10 and below the Admin user's password is used also as maintenance-mode password. (To generate a password hash use the command 'grub2-mkpasswd-pbkdf2' on Linux and paste it here). | string | n/a | "" | no | ## Outputs @@ -185,6 +187,7 @@ In order to check the template version, please refer to [sk116585](https://suppo | 20230521 | Change default shell for the admin user to /etc/cli.sh | | 20230806 | Add support for c6in instance type | | 20230829 | Change default Check Point version to R81.20 | +| 20230914 | Add support for maintenance mode password | | 20230923 | Add support for C5d instance type | | 20231012 | Update AWS Terraform provider version to 5.20.1 | diff --git a/terraform/aws/autoscale/asg_userdata.yaml b/terraform/aws/autoscale/asg_userdata.yaml index b6dd308a..ea6de749 100755 --- a/terraform/aws/autoscale/asg_userdata.yaml +++ b/terraform/aws/autoscale/asg_userdata.yaml @@ -1,4 +1,4 @@ #cloud-config runcmd: - | - python3 /etc/cloud_config.py enableCloudWatch=\"${EnableCloudWatch}\" sicKey=\"${SICKey}\" installationType=\"autoscale\" osVersion=\"${OsVersion}\" allowUploadDownload=\"${AllowUploadDownload}\" templateVersion=\"20231012\" templateName=\"autoscale\" templateType=\"terraform\" shell=\"${Shell}\" enableInstanceConnect=\"${EnableInstanceConnect}\" passwordHash=\"${PasswordHash}\" bootstrapScript64=\"${BootstrapScript}\" + python3 /etc/cloud_config.py enableCloudWatch=\"${EnableCloudWatch}\" sicKey=\"${SICKey}\" installationType=\"autoscale\" osVersion=\"${OsVersion}\" allowUploadDownload=\"${AllowUploadDownload}\" templateVersion=\"20231012\" templateName=\"autoscale\" templateType=\"terraform\" shell=\"${Shell}\" enableInstanceConnect=\"${EnableInstanceConnect}\" passwordHash=\"${PasswordHash}\" MaintenanceModePassword=\"${MaintenanceModePassword}\" bootstrapScript64=\"${BootstrapScript}\" diff --git a/terraform/aws/autoscale/locals.tf b/terraform/aws/autoscale/locals.tf index 5da05413..72fa5951 100755 --- a/terraform/aws/autoscale/locals.tf +++ b/terraform/aws/autoscale/locals.tf @@ -21,6 +21,10 @@ locals { regex_valid_key_name = "[\\S\\s]+[\\S]+" // will fail if var.key_name is invalid regex_key_name_result=regex(local.regex_valid_key_name, var.key_name) == var.key_name ? 0 : "Variable [key_name] must be a none empty string" + regex_valid_gateway_password_hash = "^[\\$\\./a-zA-Z0-9]*$" + // Will fail if var.gateway_password_hash is invalid + regex_gateway_password_hash = regex(local.regex_valid_gateway_password_hash, var.gateway_password_hash) == var.gateway_password_hash ? 0 : "Variable [gateway_password_hash] must be a valid password hash" + regex_gateway_maintenance_mode_password_hash = regex(local.regex_valid_gateway_password_hash, var.gateway_maintenance_mode_password_hash) == var.gateway_maintenance_mode_password_hash ? 0 : "Variable [gateway_maintenance_mode_password_hash] must be a valid password hash" regex_valid_sic_key = "^[a-zA-Z0-9]{8,}$" // Will fail if var.gateway_SICKey is invalid @@ -44,6 +48,7 @@ locals { version_split = element(split("-", var.gateway_version), 0) gateway_bootstrap_script64 = base64encode(var.gateway_bootstrap_script) gateway_password_hash_base64 = base64encode(var.gateway_password_hash) + maintenance_mode_password_hash_base64 = base64encode(var.gateway_maintenance_mode_password_hash) gateway_SICkey_base64 = base64encode(var.gateway_SICKey) } resource "null_resource" "tags_as_list_of_maps" { diff --git a/terraform/aws/autoscale/main.tf b/terraform/aws/autoscale/main.tf index ac4cf3e3..8abaf1d4 100755 --- a/terraform/aws/autoscale/main.tf +++ b/terraform/aws/autoscale/main.tf @@ -62,6 +62,7 @@ resource "aws_launch_template" "asg_launch_template" { user_data = base64encode(templatefile("${path.module}/asg_userdata.yaml", { // script's arguments PasswordHash = local.gateway_password_hash_base64, + MaintenanceModePassword = local.maintenance_mode_password_hash_base64 EnableCloudWatch = var.enable_cloudwatch, EnableInstanceConnect = var.enable_instance_connect, Shell = var.admin_shell, diff --git a/terraform/aws/autoscale/terraform.tfvars b/terraform/aws/autoscale/terraform.tfvars index a51a6d7f..5978dffb 100755 --- a/terraform/aws/autoscale/terraform.tfvars +++ b/terraform/aws/autoscale/terraform.tfvars @@ -31,6 +31,7 @@ target_groups = ["arn:aws:tg1/abc123", "arn:aws:tg2/def456"] gateway_version = "R81.20-BYOL" admin_shell = "/etc/cli.sh" gateway_password_hash = "" +gateway_maintenance_mode_password_hash = "" # For R81.10 and below the gateway_password_hash is used also as maintenance-mode password. gateway_SICKey = "12345678" enable_instance_connect = false allow_upload_download = true diff --git a/terraform/aws/autoscale/variables.tf b/terraform/aws/autoscale/variables.tf index e8925d12..9e757a8e 100755 --- a/terraform/aws/autoscale/variables.tf +++ b/terraform/aws/autoscale/variables.tf @@ -137,6 +137,11 @@ variable "gateway_password_hash" { description = "(Optional) Admin user's password hash (use command 'openssl passwd -6 PASSWORD' to get the PASSWORD's hash)" default = "" } +variable "gateway_maintenance_mode_password_hash" { + description = "(optional) Check Point recommends setting Admin user's password and maintenance-mode password for recovery purposes. For R81.10 and below the Admin user's password is used also as maintenance-mode password. (To generate a password hash use the command 'grub2-mkpasswd-pbkdf2' on Linux and paste it here)." + type = string + default = "" +} variable "gateway_SICKey" { type = string description = "The Secure Internal Communication key for trusted connection between Check Point components (at least 8 alphanumeric characters)" diff --git a/terraform/aws/cluster-master/README.md b/terraform/aws/cluster-master/README.md index 17437953..58f3fb3b 100755 --- a/terraform/aws/cluster-master/README.md +++ b/terraform/aws/cluster-master/README.md @@ -116,6 +116,7 @@ secret_key = "my-secret-key" admin_shell = "/etc/cli.sh" gateway_SICKey = "12345678" gateway_password_hash = "" + gateway_maintenance_mode_password_hash = "" # For R81.10 and below the gateway_password_hash is used also as maintenance-mode password. // --- Quick connect to Smart-1 Cloud (Recommended) --- memberAToken = "" @@ -182,7 +183,7 @@ secret_key = "my-secret-key" | gateway_bootstrap_script | (Optional) Semicolon (;) separated commands to run on the initial boot | string | n/a | "" | no | | primary_ntp | (Optional) The IPv4 addresses of Network Time Protocol primary server | string | n/a | 169.254.169.123 | no | | secondary_ntp | (Optional) The IPv4 addresses of Network Time Protocol secondary server | string | n/a | 0.pool.ntp.org | no | - +| gateway_maintenance_mode_password_hash | (optional) Check Point recommends setting Admin user's password and maintenance-mode password for recovery purposes. For R81.10 and below the Admin user's password is used also as maintenance-mode password. (To generate a password hash use the command 'grub2-mkpasswd-pbkdf2' on Linux and paste it here). | string | n/a | "" | no | ## Outputs | Name | Description | @@ -209,6 +210,7 @@ In order to check the template version, please refer to [sk116585](https://suppo | 20230521 | - Change default shell for the admin user to /etc/cli.sh
- Add description for reserved words in hostname | | 20230806 | Add support for c6in instance type | | 20230829 | Change default Check Point version to R81.20 | +| 20230914 | Add support for maintenance mode password | | 20230923 | Add support for C5d instance type | | 20231012 | Update AWS Terraform provider version to 5.20.1 | diff --git a/terraform/aws/cluster-master/locals.tf b/terraform/aws/cluster-master/locals.tf index d0d15a98..b77484fe 100755 --- a/terraform/aws/cluster-master/locals.tf +++ b/terraform/aws/cluster-master/locals.tf @@ -40,6 +40,7 @@ locals { regex_valid_gateway_password_hash = "^[\\$\\./a-zA-Z0-9]*$" // Will fail if var.gateway_password_hash is invalid regex_gateway_password_hash = regex(local.regex_valid_gateway_password_hash, var.gateway_password_hash) == var.gateway_password_hash ? 0 : "Variable [gateway_password_hash] must be a valid password hash" + regex_gateway_maintenance_mode_password_hash = regex(local.regex_valid_gateway_password_hash, var.gateway_maintenance_mode_password_hash) == var.gateway_maintenance_mode_password_hash ? 0 : "Variable [gateway_maintenance_mode_password_hash] must be a valid password hash" regex_valid_primary_ntp = "^[\\.a-zA-Z0-9\\-]*$" // Will fail if var.primary_ntp is invalid diff --git a/terraform/aws/cluster-master/main.tf b/terraform/aws/cluster-master/main.tf index 37428ff0..8aa87346 100755 --- a/terraform/aws/cluster-master/main.tf +++ b/terraform/aws/cluster-master/main.tf @@ -50,6 +50,7 @@ module "launch_cluster_into_vpc" { admin_shell = var.admin_shell gateway_SICKey = var.gateway_SICKey gateway_password_hash = var.gateway_password_hash + gateway_maintenance_mode_password_hash = var.gateway_maintenance_mode_password_hash memberAToken = var.memberAToken memberBToken = var.memberBToken resources_tag_name = var.resources_tag_name diff --git a/terraform/aws/cluster-master/terraform.tfvars b/terraform/aws/cluster-master/terraform.tfvars index 15308457..d336d788 100755 --- a/terraform/aws/cluster-master/terraform.tfvars +++ b/terraform/aws/cluster-master/terraform.tfvars @@ -30,6 +30,7 @@ gateway_version = "R81.20-BYOL" admin_shell = "/etc/cli.sh" gateway_SICKey = "12345678" gateway_password_hash = "" +gateway_maintenance_mode_password_hash = "" # For R81.10 and below the gateway_password_hash is used also as maintenance-mode password. // --- Quick connect to Smart-1 Cloud (Recommended) --- memberAToken = "" diff --git a/terraform/aws/cluster-master/variables.tf b/terraform/aws/cluster-master/variables.tf index 57794633..53798fb1 100755 --- a/terraform/aws/cluster-master/variables.tf +++ b/terraform/aws/cluster-master/variables.tf @@ -124,6 +124,11 @@ variable "gateway_password_hash" { description = "(Optional) Admin user's password hash (use command 'openssl passwd -6 PASSWORD' to get the PASSWORD's hash)" default = "" } +variable "gateway_maintenance_mode_password_hash" { + description = "(optional) Check Point recommends setting Admin user's password and maintenance-mode password for recovery purposes. For R81.10 and below the Admin user's password is used also as maintenance-mode password. (To generate a password hash use the command 'grub2-mkpasswd-pbkdf2' on Linux and paste it here)." + type = string + default = "" +} // --- Quick connect to Smart-1 Cloud (Recommended) --- variable "memberAToken" { diff --git a/terraform/aws/cluster/README.md b/terraform/aws/cluster/README.md index b9da8ef1..d7bed5f6 100755 --- a/terraform/aws/cluster/README.md +++ b/terraform/aws/cluster/README.md @@ -90,6 +90,7 @@ secret_key = "my-secret-key" admin_shell = "/etc/cli.sh" gateway_SICKey = "12345678" gateway_password_hash = "" + gateway_maintenance_mode_password_hash = "" # For R81.10 and below the gateway_password_hash is used also as maintenance-mode password. // --- Quick connect to Smart-1 Cloud (Recommended) --- memberAToken = "" @@ -160,7 +161,7 @@ secret_key = "my-secret-key" | gateway_bootstrap_script | (Optional) Semicolon (;) separated commands to run on the initial boot | string | n/a | "" | no | | primary_ntp | (Optional) The IPv4 addresses of Network Time Protocol primary server | string | n/a | 169.254.169.123 | no | | secondary_ntp | (Optional) The IPv4 addresses of Network Time Protocol secondary server | string | n/a | 0.pool.ntp.org | no | - +| gateway_maintenance_mode_password_hash | (optional) Check Point recommends setting Admin user's password and maintenance-mode password for recovery purposes. For R81.10 and below the Admin user's password is used also as maintenance-mode password. (To generate a password hash use the command 'grub2-mkpasswd-pbkdf2' on Linux and paste it here). | string | n/a | "" | no | ## Outputs | Name | Description | @@ -187,6 +188,7 @@ In order to check the template version, please refer to [sk116585](https://suppo | 20230521 | - Change default shell for the admin user to /etc/cli.sh
- Add description for reserved words in hostname | | 20230806 | Add support for c6in instance type | | 20230829 | Change default Check Point version to R81.20 | +| 20230914 | Add support for maintenance mode password | | 20230923 | Add support for C5d instance type | | 20231012 | Update AWS Terraform provider version to 5.20.1 | diff --git a/terraform/aws/cluster/cluster_member_a_userdata.yaml b/terraform/aws/cluster/cluster_member_a_userdata.yaml index d84afcf3..6329e2cf 100755 --- a/terraform/aws/cluster/cluster_member_a_userdata.yaml +++ b/terraform/aws/cluster/cluster_member_a_userdata.yaml @@ -1,4 +1,4 @@ #cloud-config runcmd: - | - python3 /etc/cloud_config.py enableCloudWatch=\"${EnableCloudWatch}\" sicKey=\"${SICKey}\" "smart1CloudToken=\"${TokenA}\"" installationType=\"cluster\" osVersion=\"${OsVersion}\" allowUploadDownload=\"${AllowUploadDownload}\" elasticIp=\"${MemberAPublicAddress}\" templateVersion=\"20231012\" templateName=\"cluster\" templateType=\"terraform\" shell=\"${Shell}\" enableInstanceConnect=\"${EnableInstanceConnect}\" hostName=\"${Hostname}\" ntpPrimary=\"${NTPPrimary}\" ntpSecondary=\"${NTPSecondary}\" passwordHash=\"${PasswordHash}\" allocatePublicAddress=\"${AllocateAddress}\" bootstrapScript64=\"${GatewayBootstrapScript}\" \ No newline at end of file + python3 /etc/cloud_config.py enableCloudWatch=\"${EnableCloudWatch}\" sicKey=\"${SICKey}\" "smart1CloudToken=\"${TokenA}\"" installationType=\"cluster\" osVersion=\"${OsVersion}\" allowUploadDownload=\"${AllowUploadDownload}\" elasticIp=\"${MemberAPublicAddress}\" templateVersion=\"20231012\" templateName=\"cluster\" templateType=\"terraform\" shell=\"${Shell}\" enableInstanceConnect=\"${EnableInstanceConnect}\" hostName=\"${Hostname}\" ntpPrimary=\"${NTPPrimary}\" ntpSecondary=\"${NTPSecondary}\" passwordHash=\"${PasswordHash}\" MaintenanceModePassword=\"${MaintenanceModePassword}\" allocatePublicAddress=\"${AllocateAddress}\" bootstrapScript64=\"${GatewayBootstrapScript}\" \ No newline at end of file diff --git a/terraform/aws/cluster/cluster_member_b_userdata.yaml b/terraform/aws/cluster/cluster_member_b_userdata.yaml index 369c2760..36d29dc5 100755 --- a/terraform/aws/cluster/cluster_member_b_userdata.yaml +++ b/terraform/aws/cluster/cluster_member_b_userdata.yaml @@ -1,4 +1,4 @@ #cloud-config runcmd: - | - python3 /etc/cloud_config.py enableCloudWatch=\"${EnableCloudWatch}\" sicKey=\"${SICKey}\" "smart1CloudToken=\"${TokenB}\"" installationType=\"cluster\" osVersion=\"${OsVersion}\" allowUploadDownload=\"${AllowUploadDownload}\" elasticIp=\"${MemberBPublicAddress}\" templateVersion=\"20231012\" templateName=\"cluster\" templateType=\"terraform\" shell=\"${Shell}\" enableInstanceConnect=\"${EnableInstanceConnect}\" hostName=\"${Hostname }\" ntpPrimary=\"${NTPPrimary}\" ntpSecondary=\"${NTPSecondary}\" passwordHash=\"${PasswordHash}\" allocatePublicAddress=\"${AllocateAddress}\" bootstrapScript64=\"${GatewayBootstrapScript}\" \ No newline at end of file + python3 /etc/cloud_config.py enableCloudWatch=\"${EnableCloudWatch}\" sicKey=\"${SICKey}\" "smart1CloudToken=\"${TokenB}\"" installationType=\"cluster\" osVersion=\"${OsVersion}\" allowUploadDownload=\"${AllowUploadDownload}\" elasticIp=\"${MemberBPublicAddress}\" templateVersion=\"20231012\" templateName=\"cluster\" templateType=\"terraform\" shell=\"${Shell}\" enableInstanceConnect=\"${EnableInstanceConnect}\" hostName=\"${Hostname }\" ntpPrimary=\"${NTPPrimary}\" ntpSecondary=\"${NTPSecondary}\" passwordHash=\"${PasswordHash}\" MaintenanceModePassword=\"${MaintenanceModePassword}\" allocatePublicAddress=\"${AllocateAddress}\" bootstrapScript64=\"${GatewayBootstrapScript}\" \ No newline at end of file diff --git a/terraform/aws/cluster/locals.tf b/terraform/aws/cluster/locals.tf index fd9781ac..d64b39e7 100755 --- a/terraform/aws/cluster/locals.tf +++ b/terraform/aws/cluster/locals.tf @@ -50,6 +50,7 @@ locals { regex_valid_gateway_password_hash = "^[\\$\\./a-zA-Z0-9]*$" // Will fail if var.gateway_password_hash is invalid regex_gateway_password_hash = regex(local.regex_valid_gateway_password_hash, var.gateway_password_hash) == var.gateway_password_hash ? 0 : "Variable [gateway_password_hash] must be a valid password hash" + regex_gateway_maintenance_mode_password_hash = regex(local.regex_valid_gateway_password_hash, var.gateway_maintenance_mode_password_hash) == var.gateway_maintenance_mode_password_hash ? 0 : "Variable [gateway_maintenance_mode_password_hash] must be a valid password hash" regex_valid_primary_ntp = "^[\\.a-zA-Z0-9\\-]*$" // Will fail if var.primary_ntp is invalid @@ -64,4 +65,5 @@ locals { gateway_bootstrap_script64 = base64encode(var.gateway_bootstrap_script) gateway_SICkey_base64 = base64encode(var.gateway_SICKey) gateway_password_hash_base64=base64encode(var.gateway_password_hash) + maintenance_mode_password_hash_base64 = base64encode(var.gateway_maintenance_mode_password_hash) } diff --git a/terraform/aws/cluster/main.tf b/terraform/aws/cluster/main.tf index c4ac7554..3b8cc2d3 100755 --- a/terraform/aws/cluster/main.tf +++ b/terraform/aws/cluster/main.tf @@ -136,6 +136,7 @@ resource "aws_instance" "member-a-instance" { // script's arguments Hostname = var.gateway_hostname, PasswordHash = local.gateway_password_hash_base64, + MaintenanceModePassword = local.maintenance_mode_password_hash_base64, AllowUploadDownload = var.allow_upload_download, EnableCloudWatch = var.enable_cloudwatch, NTPPrimary = var.primary_ntp, @@ -191,6 +192,7 @@ resource "aws_instance" "member-b-instance" { // script's arguments Hostname = var.gateway_hostname, PasswordHash = local.gateway_password_hash_base64, + MaintenanceModePassword = local.maintenance_mode_password_hash_base64, AllowUploadDownload = var.allow_upload_download, EnableCloudWatch = var.enable_cloudwatch, NTPPrimary = var.primary_ntp, diff --git a/terraform/aws/cluster/terraform.tfvars b/terraform/aws/cluster/terraform.tfvars index e4e7d4e5..ee33d4f1 100755 --- a/terraform/aws/cluster/terraform.tfvars +++ b/terraform/aws/cluster/terraform.tfvars @@ -26,6 +26,7 @@ gateway_version = "R81.20-BYOL" admin_shell = "/etc/cli.sh" gateway_SICKey = "12345678" gateway_password_hash = "" +gateway_maintenance_mode_password_hash = "" # For R81.10 and below the gateway_password_hash is used also as maintenance-mode password. // --- Quick connect to Smart-1 Cloud (Recommended) --- memberAToken = "" diff --git a/terraform/aws/cluster/variables.tf b/terraform/aws/cluster/variables.tf index d9030cd8..6dd9e5fa 100755 --- a/terraform/aws/cluster/variables.tf +++ b/terraform/aws/cluster/variables.tf @@ -122,6 +122,11 @@ variable "gateway_password_hash" { description = "(Optional) Admin user's password hash (use command 'openssl passwd -6 PASSWORD' to get the PASSWORD's hash)" default = "" } +variable "gateway_maintenance_mode_password_hash" { + description = "(optional) Check Point recommends setting Admin user's password and maintenance-mode password for recovery purposes. For R81.10 and below the Admin user's password is used also as maintenance-mode password. (To generate a password hash use the command 'grub2-mkpasswd-pbkdf2' on Linux and paste it here)." + type = string + default = "" +} // --- Quick connect to Smart-1 Cloud (Recommended) --- variable "memberAToken" { diff --git a/terraform/aws/cross-az-cluster-master/README.md b/terraform/aws/cross-az-cluster-master/README.md index 27562ede..70badf8c 100755 --- a/terraform/aws/cross-az-cluster-master/README.md +++ b/terraform/aws/cross-az-cluster-master/README.md @@ -119,6 +119,7 @@ secret_key = "my-secret-key" admin_shell = "/etc/cli.sh" gateway_SICKey = "12345678" gateway_password_hash = "" + gateway_maintenance_mode_password_hash = "" # For R81.10 and below the gateway_password_hash is used also as maintenance-mode password. // --- Quick connect to Smart-1 Cloud (Recommended) --- memberAToken = "" @@ -181,7 +182,7 @@ secret_key = "my-secret-key" | gateway_bootstrap_script | (Optional) Semicolon (;) separated commands to run on the initial boot | string | n/a | "" | no | | primary_ntp | (Optional) The IPv4 addresses of Network Time Protocol primary server | string | n/a | 169.254.169.123 | no | | secondary_ntp | (Optional) The IPv4 addresses of Network Time Protocol secondary server | string | n/a | 0.pool.ntp.org | no | - +| gateway_maintenance_mode_password_hash | (optional) Check Point recommends setting Admin user's password and maintenance-mode password for recovery purposes. For R81.10 and below the Admin user's password is used also as maintenance-mode password. (To generate a password hash use the command 'grub2-mkpasswd-pbkdf2' on Linux and paste it here). | string | n/a | "" | no | ## Outputs | Name | Description | @@ -207,6 +208,7 @@ In order to check the template version, please refer to [sk116585](https://suppo | 20230503 | Smart-1 Cloud token validation | | 20230521 | - Change default shell for the admin user to /etc/cli.sh
- Add description for reserved words in hostname | | 20230806 | Add support for c6in instance type | +| 20230914 | Add support for maintenance mode password | | 20230923 | Add support for C5d instance type | | 20231012 | Update AWS Terraform provider version to 5.20.1 | diff --git a/terraform/aws/cross-az-cluster-master/locals.tf b/terraform/aws/cross-az-cluster-master/locals.tf index 9a56e306..68e4523f 100755 --- a/terraform/aws/cross-az-cluster-master/locals.tf +++ b/terraform/aws/cross-az-cluster-master/locals.tf @@ -40,6 +40,7 @@ locals { regex_valid_gateway_password_hash = "^[\\$\\./a-zA-Z0-9]*$" // Will fail if var.gateway_password_hash is invalid regex_gateway_password_hash = regex(local.regex_valid_gateway_password_hash, var.gateway_password_hash) == var.gateway_password_hash ? 0 : "Variable [gateway_password_hash] must be a valid password hash" + regex_maintenance_mode_password_hash = regex(local.regex_valid_gateway_password_hash, var.gateway_maintenance_mode_password_hash) == var.gateway_maintenance_mode_password_hash ? 0 : "Variable [gateway_maintenance_mode_password_hash] must be a valid password hash" regex_valid_primary_ntp = "^[\\.a-zA-Z0-9\\-]*$" // Will fail if var.primary_ntp is invalid diff --git a/terraform/aws/cross-az-cluster-master/main.tf b/terraform/aws/cross-az-cluster-master/main.tf index cd65edcf..1984ca05 100755 --- a/terraform/aws/cross-az-cluster-master/main.tf +++ b/terraform/aws/cross-az-cluster-master/main.tf @@ -57,6 +57,7 @@ module "launch_cluster_into_vpc" { memberAToken = var.memberAToken memberBToken = var.memberBToken gateway_password_hash = var.gateway_password_hash + gateway_maintenance_mode_password_hash = var.gateway_maintenance_mode_password_hash resources_tag_name = var.resources_tag_name gateway_hostname = var.gateway_hostname allow_upload_download = var.allow_upload_download diff --git a/terraform/aws/cross-az-cluster-master/terraform.tfvars b/terraform/aws/cross-az-cluster-master/terraform.tfvars index cbc6e653..3059005a 100755 --- a/terraform/aws/cross-az-cluster-master/terraform.tfvars +++ b/terraform/aws/cross-az-cluster-master/terraform.tfvars @@ -31,6 +31,7 @@ gateway_version = "R81.20-BYOL" admin_shell = "/etc/cli.sh" gateway_SICKey = "12345678" gateway_password_hash = "" +gateway_maintenance_mode_password_hash = "" # For R81.10 and below the gateway_password_hash is used also as maintenance-mode password. // --- Quick connect to Smart-1 Cloud (Recommended) --- memberAToken = "" diff --git a/terraform/aws/cross-az-cluster-master/variables.tf b/terraform/aws/cross-az-cluster-master/variables.tf index 132ec40f..e51fcd99 100755 --- a/terraform/aws/cross-az-cluster-master/variables.tf +++ b/terraform/aws/cross-az-cluster-master/variables.tf @@ -124,6 +124,11 @@ variable "gateway_password_hash" { description = "(Optional) Admin user's password hash (use command 'openssl passwd -6 PASSWORD' to get the PASSWORD's hash)" default = "" } +variable "gateway_maintenance_mode_password_hash" { + description = "(optional) Check Point recommends setting Admin user's password and maintenance-mode password for recovery purposes. For R81.10 and below the Admin user's password is used also as maintenance-mode password. (To generate a password hash use the command 'grub2-mkpasswd-pbkdf2' on Linux and paste it here)." + type = string + default = "" +} // --- Quick connect to Smart-1 Cloud (Recommended) --- variable "memberAToken" { diff --git a/terraform/aws/cross-az-cluster/README.md b/terraform/aws/cross-az-cluster/README.md index 1e38019c..7473b6ed 100755 --- a/terraform/aws/cross-az-cluster/README.md +++ b/terraform/aws/cross-az-cluster/README.md @@ -94,6 +94,7 @@ secret_key = "my-secret-key" // --- Quick connect to Smart-1 Cloud (Recommended) --- memberAToken = "" memberBToken = "" + gateway_maintenance_mode_password_hash = "" # For R81.10 and below the gateway_password_hash is used also as maintenance-mode password. // --- Advanced Settings --- resources_tag_name = "tag-name" @@ -156,6 +157,7 @@ secret_key = "my-secret-key" | gateway_bootstrap_script | (Optional) Semicolon (;) separated commands to run on the initial boot | string | n/a | "" | no | | primary_ntp | (Optional) The IPv4 addresses of Network Time Protocol primary server | string | n/a | 169.254.169.123 | no | | secondary_ntp | (Optional) The IPv4 addresses of Network Time Protocol secondary server | string | n/a | 0.pool.ntp.org | no | +| gateway_maintenance_mode_password_hash | (optional) Check Point recommends setting Admin user's password and maintenance-mode password for recovery purposes. For R81.10 and below the Admin user's password is used also as maintenance-mode password. (To generate a password hash use the command 'grub2-mkpasswd-pbkdf2' on Linux and paste it here). | string | n/a | "" | no | ## Outputs @@ -182,6 +184,7 @@ In order to check the template version, please refer to [sk116585](https://suppo | 20230503 | Smart-1 Cloud token validation | | 20230521 | - Change default shell for the admin user to /etc/cli.sh
- Add description for reserved words in hostname | | 20230806 | Add support for c6in instance type | +| 20230914 | Add support for maintenance mode password | | 20230923 | Add support for C5d instance type | | 20231012 | Update AWS Terraform provider version to 5.20.1 | ## License diff --git a/terraform/aws/cross-az-cluster/cluster_member_a_userdata.yaml b/terraform/aws/cross-az-cluster/cluster_member_a_userdata.yaml index 4ef01c26..1a3095e2 100755 --- a/terraform/aws/cross-az-cluster/cluster_member_a_userdata.yaml +++ b/terraform/aws/cross-az-cluster/cluster_member_a_userdata.yaml @@ -1,4 +1,4 @@ #cloud-config runcmd: - | - python3 /etc/cloud_config.py enableCloudWatch=\"${EnableCloudWatch}\" sicKey=\"${SICKey}\" "smart1CloudToken=\"${TokenA}\"" installationType=\"cross-az-cluster\" osVersion=\"${OsVersion}\" allowUploadDownload=\"${AllowUploadDownload}\" templateVersion=\"20231012\" templateName=\"cross_az_cluster\" templateType=\"terraform\" shell=\"${Shell}\" enableInstanceConnect=\"${EnableInstanceConnect}\" hostName=\"${Hostname}\" ntpPrimary=\"${NTPPrimary}\" ntpSecondary=\"${NTPSecondary}\" passwordHash=\"${PasswordHash}\" elasticIp=\"${MemberAPublicAddress}\" otherMemberIp=\"${MemberBPrivateAddressCluster}\" clusterIp=\"${PublicAddressCluster}\" secondaryIp=\"${MemberAPrivateAddressSecondary}\" otherMemberPrivateClusterIp=\"${MemberBPrivateAddressSecondary}\" bootstrapScript64=\"${GatewayBootstrapScript}\" \ No newline at end of file + python3 /etc/cloud_config.py enableCloudWatch=\"${EnableCloudWatch}\" sicKey=\"${SICKey}\" "smart1CloudToken=\"${TokenA}\"" installationType=\"cross-az-cluster\" osVersion=\"${OsVersion}\" allowUploadDownload=\"${AllowUploadDownload}\" templateVersion=\"20231012\" templateName=\"cross_az_cluster\" templateType=\"terraform\" shell=\"${Shell}\" enableInstanceConnect=\"${EnableInstanceConnect}\" hostName=\"${Hostname}\" ntpPrimary=\"${NTPPrimary}\" ntpSecondary=\"${NTPSecondary}\" passwordHash=\"${PasswordHash}\" MaintenanceModePassword=\"${MaintenanceModePassword}\" elasticIp=\"${MemberAPublicAddress}\" otherMemberIp=\"${MemberBPrivateAddressCluster}\" clusterIp=\"${PublicAddressCluster}\" secondaryIp=\"${MemberAPrivateAddressSecondary}\" otherMemberPrivateClusterIp=\"${MemberBPrivateAddressSecondary}\" bootstrapScript64=\"${GatewayBootstrapScript}\" \ No newline at end of file diff --git a/terraform/aws/cross-az-cluster/cluster_member_b_userdata.yaml b/terraform/aws/cross-az-cluster/cluster_member_b_userdata.yaml index 0fe3c7ab..9ec9d23a 100755 --- a/terraform/aws/cross-az-cluster/cluster_member_b_userdata.yaml +++ b/terraform/aws/cross-az-cluster/cluster_member_b_userdata.yaml @@ -1,4 +1,4 @@ #cloud-config runcmd: - | - python3 /etc/cloud_config.py enableCloudWatch=\"${EnableCloudWatch}\" sicKey=\"${SICKey}\" "smart1CloudToken=\"${TokenB}\"" installationType=\"cross-az-cluster\" osVersion=\"${OsVersion}\" allowUploadDownload=\"${AllowUploadDownload}\" templateVersion=\"20231012\" templateName=\"cross_az_cluster\" templateType=\"terraform\" shell=\"${Shell}\" enableInstanceConnect=\"${EnableInstanceConnect}\" hostName=\"${Hostname}\" ntpPrimary=\"${NTPPrimary}\" ntpSecondary=\"${NTPSecondary}\" passwordHash=\"${PasswordHash}\" elasticIp=\"${MemberBPublicAddress}\" otherMemberIp=\"${MemberAPrivateAddressCluster}\" clusterIp=\"${PublicAddressCluster}\" secondaryIp=\"${MemberBPrivateAddressSecondary}\" otherMemberPrivateClusterIp=\"${MemberAPrivateAddressSecondary}\" bootstrapScript64=\"${GatewayBootstrapScript}\" \ No newline at end of file + python3 /etc/cloud_config.py enableCloudWatch=\"${EnableCloudWatch}\" sicKey=\"${SICKey}\" "smart1CloudToken=\"${TokenB}\"" installationType=\"cross-az-cluster\" osVersion=\"${OsVersion}\" allowUploadDownload=\"${AllowUploadDownload}\" templateVersion=\"20231012\" templateName=\"cross_az_cluster\" templateType=\"terraform\" shell=\"${Shell}\" enableInstanceConnect=\"${EnableInstanceConnect}\" hostName=\"${Hostname}\" ntpPrimary=\"${NTPPrimary}\" ntpSecondary=\"${NTPSecondary}\" passwordHash=\"${PasswordHash}\" MaintenanceModePassword=\"${MaintenanceModePassword}\" elasticIp=\"${MemberBPublicAddress}\" otherMemberIp=\"${MemberAPrivateAddressCluster}\" clusterIp=\"${PublicAddressCluster}\" secondaryIp=\"${MemberBPrivateAddressSecondary}\" otherMemberPrivateClusterIp=\"${MemberAPrivateAddressSecondary}\" bootstrapScript64=\"${GatewayBootstrapScript}\" \ No newline at end of file diff --git a/terraform/aws/cross-az-cluster/locals.tf b/terraform/aws/cross-az-cluster/locals.tf index 73484b79..19f67f30 100755 --- a/terraform/aws/cross-az-cluster/locals.tf +++ b/terraform/aws/cross-az-cluster/locals.tf @@ -50,6 +50,7 @@ locals { regex_valid_gateway_password_hash = "^[\\$\\./a-zA-Z0-9]*$" // Will fail if var.gateway_password_hash is invalid regex_gateway_password_hash = regex(local.regex_valid_gateway_password_hash, var.gateway_password_hash) == var.gateway_password_hash ? 0 : "Variable [gateway_password_hash] must be a valid password hash" + regex_gateway_maintenance_mode_password_hash = regex(local.regex_valid_gateway_password_hash, var.gateway_maintenance_mode_password_hash) == var.gateway_maintenance_mode_password_hash ? 0 : "Variable [gateway_maintenance_mode_password_hash] must be a valid password hash" regex_valid_primary_ntp = "^[\\.a-zA-Z0-9\\-]*$" // Will fail if var.primary_ntp is invalid @@ -62,6 +63,7 @@ locals { gateway_bootstrap_script64 = base64encode(var.gateway_bootstrap_script) gateway_SICkey_base64=base64encode(var.gateway_SICKey) gateway_password_hash_base64=base64encode(var.gateway_password_hash) + maintenance_mode_password_hash_base64 = base64encode(var.gateway_maintenance_mode_password_hash) //Splits the version and licence and returns the os version version_split = element(split("-", var.gateway_version), 0) diff --git a/terraform/aws/cross-az-cluster/main.tf b/terraform/aws/cross-az-cluster/main.tf index fed5c125..80bb3429 100755 --- a/terraform/aws/cross-az-cluster/main.tf +++ b/terraform/aws/cross-az-cluster/main.tf @@ -135,6 +135,7 @@ resource "aws_instance" "member-a-instance" { // script's arguments Hostname = var.gateway_hostname, PasswordHash = local.gateway_password_hash_base64, + MaintenanceModePassword = local.maintenance_mode_password_hash_base64 AllowUploadDownload = var.allow_upload_download, EnableCloudWatch = var.enable_cloudwatch, NTPPrimary = var.primary_ntp, @@ -194,6 +195,7 @@ resource "aws_instance" "member-b-instance" { // script's arguments Hostname = var.gateway_hostname, PasswordHash = local.gateway_password_hash_base64, + MaintenanceModePassword = local.maintenance_mode_password_hash_base64 AllowUploadDownload = var.allow_upload_download, EnableCloudWatch = var.enable_cloudwatch, NTPPrimary = var.primary_ntp, diff --git a/terraform/aws/cross-az-cluster/terraform.tfvars b/terraform/aws/cross-az-cluster/terraform.tfvars index 5ae99358..94afa38f 100755 --- a/terraform/aws/cross-az-cluster/terraform.tfvars +++ b/terraform/aws/cross-az-cluster/terraform.tfvars @@ -25,6 +25,7 @@ gateway_version = "R81.20-BYOL" admin_shell = "/etc/cli.sh" gateway_SICKey = "12345678" gateway_password_hash = "" +gateway_maintenance_mode_password_hash = "" # For R81.10 and below the gateway_password_hash is used also as maintenance-mode password. // --- Quick connect to Smart-1 Cloud (Recommended) --- memberAToken = "" diff --git a/terraform/aws/cross-az-cluster/variables.tf b/terraform/aws/cross-az-cluster/variables.tf index a770e85e..7c031c25 100755 --- a/terraform/aws/cross-az-cluster/variables.tf +++ b/terraform/aws/cross-az-cluster/variables.tf @@ -122,6 +122,11 @@ variable "gateway_password_hash" { description = "(Optional) Admin user's password hash (use command 'openssl passwd -6 PASSWORD' to get the PASSWORD's hash)" default = "" } +variable "gateway_maintenance_mode_password_hash" { + description = "(optional) Check Point recommends setting Admin user's password and maintenance-mode password for recovery purposes. For R81.10 and below the Admin user's password is used also as maintenance-mode password. (To generate a password hash use the command 'grub2-mkpasswd-pbkdf2' on Linux and paste it here)." + type = string + default = "" +} // --- Quick connect to Smart-1 Cloud (Recommended) --- variable "memberAToken" { diff --git a/terraform/aws/gateway-master/README.md b/terraform/aws/gateway-master/README.md index 86f8d0cc..c4cee29b 100755 --- a/terraform/aws/gateway-master/README.md +++ b/terraform/aws/gateway-master/README.md @@ -113,7 +113,7 @@ secret_key = "my-secret-key" admin_shell = "/etc/cli.sh" gateway_SICKey = "12345678" gateway_password_hash = "" - + gateway_maintenance_mode_password_hash = "" # For R81.10 and below the gateway_password_hash is used also as maintenance-mode password. // --- Quick connect to Smart-1 Cloud (Recommended) --- gateway_TokenKey = "" @@ -175,7 +175,7 @@ secret_key = "my-secret-key" | control_gateway_over_public_or_private_address | Determines if the Security Gateway is provisioned using its private or public address | string | - public
- private | private | no | | management_server | (Optional) The name that represents the Security Management Server in the automatic provisioning configuration | string | n/a | "" | no | | configuration_template | (Optional) A name of a Security Gateway configuration template in the automatic provisioning configuration | string | n/a | "" | no | - +| gateway_maintenance_mode_password_hash | (optional) Check Point recommends setting Admin user's password and maintenance-mode password for recovery purposes. For R81.10 and below the Admin user's password is used also as maintenance-mode password. (To generate a password hash use the command 'grub2-mkpasswd-pbkdf2' on Linux and paste it here). | string | n/a | "" | no | ## Outputs | Name | Description | @@ -205,6 +205,7 @@ In order to check the template version, please refer to [sk116585](https://suppo | 20230521 | - Change default shell for the admin user to /etc/cli.sh
- Add description for reserved words in hostname | | 20230806 | Add support for c6in instance type | | 20230829 | Change default Check Point version to R81.20 | +| 20230914 | Add support for maintenance mode password | | 20230923 | Add support for C5d instance type | | 20231012 | Update AWS Terraform provider version to 5.20.1 | diff --git a/terraform/aws/gateway-master/locals.tf b/terraform/aws/gateway-master/locals.tf index cff01979..0ca4134f 100755 --- a/terraform/aws/gateway-master/locals.tf +++ b/terraform/aws/gateway-master/locals.tf @@ -23,6 +23,11 @@ locals { // Will fail if var.gateway_hostname is invalid regex_gateway_hostname = regex(local.regex_valid_gateway_hostname, var.gateway_hostname) == var.gateway_hostname ? 0 : "Variable [gateway_hostname] must be a valid hostname label or an empty string" + regex_valid_gateway_password_hash = "^[\\$\\./a-zA-Z0-9]*$" + // Will fail if var.gateway_password_hash is invalid + regex_gateway_password_hash = regex(local.regex_valid_gateway_password_hash, var.gateway_password_hash) == var.gateway_password_hash ? 0 : "Variable [gateway_password_hash] must be a valid password hash" + regex_gateway_maintenance_mode_password_hash = regex(local.regex_valid_gateway_password_hash, var.gateway_maintenance_mode_password_hash) == var.gateway_maintenance_mode_password_hash ? 0 : "Variable [gateway_maintenance_mode_password_hash] must be a valid password hash" + control_over_public_or_private_allowed_values = [ "public", "private"] diff --git a/terraform/aws/gateway-master/main.tf b/terraform/aws/gateway-master/main.tf index 9e0f2362..666fdcfa 100755 --- a/terraform/aws/gateway-master/main.tf +++ b/terraform/aws/gateway-master/main.tf @@ -51,6 +51,7 @@ module "launch_gateway_into_vpc" { admin_shell = var.admin_shell gateway_SICKey = var.gateway_SICKey gateway_password_hash = var.gateway_password_hash + gateway_maintenance_mode_password_hash = var.gateway_maintenance_mode_password_hash gateway_TokenKey = var.gateway_TokenKey gateway_hostname = var.gateway_hostname allow_upload_download = var.allow_upload_download diff --git a/terraform/aws/gateway-master/terraform.tfvars b/terraform/aws/gateway-master/terraform.tfvars index 201f3881..3bc61a7e 100755 --- a/terraform/aws/gateway-master/terraform.tfvars +++ b/terraform/aws/gateway-master/terraform.tfvars @@ -29,6 +29,7 @@ gateway_version = "R81.20-BYOL" admin_shell = "/etc/cli.sh" gateway_SICKey = "12345678" gateway_password_hash = "" +gateway_maintenance_mode_password_hash = "" # For R81.10 and below the gateway_password_hash is used also as maintenance-mode password. // --- Quick connect to Smart-1 Cloud (Recommended) --- gateway_TokenKey = "" diff --git a/terraform/aws/gateway-master/variables.tf b/terraform/aws/gateway-master/variables.tf index 9ebeb044..6a91a649 100755 --- a/terraform/aws/gateway-master/variables.tf +++ b/terraform/aws/gateway-master/variables.tf @@ -119,6 +119,11 @@ variable "gateway_password_hash" { description = "(Optional) Admin user's password hash (use command 'openssl passwd -6 PASSWORD' to get the PASSWORD's hash)" default = "" } +variable "gateway_maintenance_mode_password_hash" { + description = "(optional) Check Point recommends setting Admin user's password and maintenance-mode password for recovery purposes. For R81.10 and below the Admin user's password is used also as maintenance-mode password. (To generate a password hash use the command 'grub2-mkpasswd-pbkdf2' on Linux and paste it here)." + type = string + default = "" +} // --- Quick connect to Smart-1 Cloud (Recommended) --- variable "gateway_TokenKey" { diff --git a/terraform/aws/gateway/README.md b/terraform/aws/gateway/README.md index 3987314f..00cb524b 100755 --- a/terraform/aws/gateway/README.md +++ b/terraform/aws/gateway/README.md @@ -86,6 +86,7 @@ secret_key = "my-secret-key" admin_shell = "/etc/cli.sh" gateway_SICKey = "12345678" gateway_password_hash = "" + gateway_maintenance_mode_password_hash = "" # For R81.10 and below the gateway_password_hash is used also as maintenance-mode password. // --- Quick connect to Smart-1 Cloud (Recommended) --- gateway_TokenKey = "" @@ -152,6 +153,7 @@ secret_key = "my-secret-key" | control_gateway_over_public_or_private_address | Determines if the Security Gateway is provisioned using its private or public address | string | - public
- private | private | no | | management_server | (Optional) The name that represents the Security Management Server in the automatic provisioning configuration | string | n/a | "" | no | | configuration_template | (Optional) A name of a Security Gateway configuration template in the automatic provisioning configuration | string | n/a | "" | no | +| gateway_maintenance_mode_password_hash | (optional) Check Point recommends setting Admin user's password and maintenance-mode password for recovery purposes. For R81.10 and below the Admin user's password is used also as maintenance-mode password. (To generate a password hash use the command 'grub2-mkpasswd-pbkdf2' on Linux and paste it here). | string | n/a | "" | no | ## Outputs @@ -178,6 +180,7 @@ In order to check the template version, please refer to [sk116585](https://suppo | 20230521 | - Change default shell for the admin user to /etc/cli.sh
- Add description for reserved words in hostname | | 20230806 | Add support for c6in instance type | | 20230829 | Change default Check Point version to R81.20 | +| 20230914 | Add support for maintenance mode password | | 20230923 | Add support for C5d instance type | | 20231012 | Update AWS Terraform provider version to 5.20.1 | diff --git a/terraform/aws/gateway/locals.tf b/terraform/aws/gateway/locals.tf index ed10ed66..79c894db 100755 --- a/terraform/aws/gateway/locals.tf +++ b/terraform/aws/gateway/locals.tf @@ -27,6 +27,11 @@ locals { // Will fail if var.gateway_hostname is invalid regex_gateway_hostname = regex(local.regex_valid_gateway_hostname, var.gateway_hostname) == var.gateway_hostname ? 0 : "Variable [gateway_hostname] must be a valid hostname label or an empty string" + regex_valid_gateway_password_hash = "^[\\$\\./a-zA-Z0-9]*$" + // Will fail if var.gateway_password_hash is invalid + regex_gateway_password_hash = regex(local.regex_valid_gateway_password_hash, var.gateway_password_hash) == var.gateway_password_hash ? 0 : "Variable [gateway_password_hash] must be a valid password hash" + regex_gateway_maintenance_mode_password_hash = regex(local.regex_valid_gateway_password_hash, var.gateway_maintenance_mode_password_hash) == var.gateway_maintenance_mode_password_hash ? 0 : "Variable [gateway_maintenance_mode_password_hash] must be a valid password hash" + control_over_public_or_private_allowed_values = [ "public", "private"] diff --git a/terraform/aws/gateway/main.tf b/terraform/aws/gateway/main.tf index 0fd86987..0b2b7219 100755 --- a/terraform/aws/gateway/main.tf +++ b/terraform/aws/gateway/main.tf @@ -103,6 +103,7 @@ module "common_gateway_instance" { iam_instance_profile_id = (local.enable_cloudwatch_policy == 1 ? aws_iam_instance_profile.gateway_instance_profile[0].id : "") ami_id = module.amis.ami_id gateway_password_hash = var.gateway_password_hash + gateway_maintenance_mode_password_hash = var.gateway_maintenance_mode_password_hash admin_shell = var.admin_shell gateway_SICKey = var.gateway_SICKey gateway_TokenKey = var.gateway_TokenKey diff --git a/terraform/aws/gateway/terraform.tfvars b/terraform/aws/gateway/terraform.tfvars index 0c1f4836..deefe79f 100755 --- a/terraform/aws/gateway/terraform.tfvars +++ b/terraform/aws/gateway/terraform.tfvars @@ -25,6 +25,7 @@ gateway_version = "R81.20-BYOL" admin_shell = "/etc/cli.sh" gateway_SICKey = "12345678" gateway_password_hash = "" +gateway_maintenance_mode_password_hash = "" # For R81.10 and below the gateway_password_hash is used also as maintenance-mode password. // --- Quick connect to Smart-1 Cloud (Recommended) --- gateway_TokenKey = "" diff --git a/terraform/aws/gateway/variables.tf b/terraform/aws/gateway/variables.tf index 125a8cab..8d1cf370 100755 --- a/terraform/aws/gateway/variables.tf +++ b/terraform/aws/gateway/variables.tf @@ -117,7 +117,11 @@ variable "gateway_password_hash" { description = "(Optional) Admin user's password hash (use command 'openssl passwd -6 PASSWORD' to get the PASSWORD's hash)" default = "" } - +variable "gateway_maintenance_mode_password_hash" { + description = "(optional) Check Point recommends setting Admin user's password and maintenance-mode password for recovery purposes. For R81.10 and below the Admin user's password is used also as maintenance-mode password. (To generate a password hash use the command 'grub2-mkpasswd-pbkdf2' on Linux and paste it here)." + type = string + default = "" +} // --- Quick connect to Smart-1 Cloud (Recommended) --- variable "gateway_TokenKey" { type = string diff --git a/terraform/aws/gwlb-master/README.md b/terraform/aws/gwlb-master/README.md index 2738256e..df71a9fe 100755 --- a/terraform/aws/gwlb-master/README.md +++ b/terraform/aws/gwlb-master/README.md @@ -117,6 +117,7 @@ secret_key = "my-secret-key" maximum_group_size = 10 gateway_version = "R81.20-BYOL" gateway_password_hash = "" + gateway_maintenance_mode_password_hash = "" # For R81.10 and below the gateway_password_hash is used also as maintenance-mode password. gateway_SICKey = "12345678" gateways_provision_address_type = "private" allocate_public_IP = false @@ -128,6 +129,7 @@ secret_key = "my-secret-key" management_instance_type = "m5.xlarge" management_version = "R81.20-BYOL" management_password_hash = "" + management_maintenance_mode_password_hash = "" # For R81.10 and below the management_password_hash is used also as maintenance-mode password. gateways_policy = "Standard" gateway_management = "Locally managed" admin_cidr = "" @@ -193,6 +195,8 @@ secret_key = "my-secret-key" | admin_cidr | (CIDR) Allow web, ssh, and graphical clients only from this network to communicate with the Management Server | string | valid CIDR | n/a | no | | gateway_addresses | (CIDR) Allow gateways only from this network to communicate with the Management Server | string | valid CIDR | n/a | no | | volume_type | General Purpose SSD Volume Type | string | - gp3
- gp2 | gp3 | no | +| gateway_maintenance_mode_password_hash | (Optional) Gateway admin user's maintenance password hash (use command `openssl passwd -6 PASSWORD` to get the PASSWORD's hash), relevant only for R81.20 and higher versions | string | n/a | ""| no | +| management_maintenance_mode_password_hash | (Optional) Management admin user's maintenance password hash (use command `openssl passwd -6 PASSWORD` to get the PASSWORD's hash), relevant only for R81.20 and higher versions | string | n/a | ""| no | ## Outputs @@ -220,6 +224,7 @@ In order to check the template version, please refer to [sk116585](https://suppo | 20230806 | Add support for c6in instance type | | 20230829 | Change default Check Point version to R81.20 | | 20230910 | Add bootstrap script execution option for deployed gateways | +| 20230914 | Add support for maintenance mode password | | 20230923 | Add support for C5d instance type | | 20231012 | Update AWS Terraform provider version to 5.20.1 | diff --git a/terraform/aws/gwlb-master/locals.tf b/terraform/aws/gwlb-master/locals.tf index 4eddf6ac..29a557ee 100755 --- a/terraform/aws/gwlb-master/locals.tf +++ b/terraform/aws/gwlb-master/locals.tf @@ -26,10 +26,12 @@ locals { regex_valid_management_password_hash = "^[\\$\\./a-zA-Z0-9]*$" // Will fail if var.management_password_hash is invalid regex_management_password_hash = regex(local.regex_valid_management_password_hash, var.management_password_hash) == var.management_password_hash ? 0 : "Variable [management_password_hash] must be a valid password hash" + regex_management_maintenance_mode_password_hash = regex(local.regex_valid_management_password_hash, var.management_maintenance_mode_password_hash) == var.management_maintenance_mode_password_hash ? 0 : "Variable [management_maintenance_mode_password_hash] must be a valid password hash" regex_valid_gateway_password_hash = "^[\\$\\./a-zA-Z0-9]*$" // Will fail if var.gateway_password_hash is invalid regex_gateway_password_hash = regex(local.regex_valid_gateway_password_hash, var.gateway_password_hash) == var.gateway_password_hash ? 0 : "Variable [gateway_password_hash] must be a valid password hash" + regex_gateway_maintenance_mode_password_hash = regex(local.regex_valid_management_password_hash, var.gateway_maintenance_mode_password_hash) == var.gateway_maintenance_mode_password_hash ? 0 : "Variable [gateway_maintenance_mode_password_hash] must be a valid password hash" regex_valid_admin_cidr = "^([0-9]{1,3}\\.){3}[0-9]{1,3}/([0-9]|[1-2][0-9]|3[0-2])$" diff --git a/terraform/aws/gwlb-master/main.tf b/terraform/aws/gwlb-master/main.tf index a1972636..a417d7d3 100755 --- a/terraform/aws/gwlb-master/main.tf +++ b/terraform/aws/gwlb-master/main.tf @@ -46,6 +46,7 @@ module "gwlb" { maximum_group_size = var.maximum_group_size gateway_version = var.gateway_version gateway_password_hash = var.gateway_password_hash + gateway_maintenance_mode_password_hash = var.gateway_maintenance_mode_password_hash gateway_SICKey = var.gateway_SICKey gateways_provision_address_type = var.gateways_provision_address_type allocate_public_IP = var.allocate_public_IP @@ -57,6 +58,7 @@ module "gwlb" { management_instance_type = var.management_instance_type management_version = var.management_version management_password_hash = var.management_password_hash + management_maintenance_mode_password_hash = var.management_maintenance_mode_password_hash gateways_policy = var.gateways_policy gateway_management = var.gateway_management admin_cidr = var.admin_cidr diff --git a/terraform/aws/gwlb-master/terraform.tfvars b/terraform/aws/gwlb-master/terraform.tfvars index d1fb797d..0b2f4ce1 100755 --- a/terraform/aws/gwlb-master/terraform.tfvars +++ b/terraform/aws/gwlb-master/terraform.tfvars @@ -32,6 +32,7 @@ minimum_group_size = 2 maximum_group_size = 10 gateway_version = "R81.20-BYOL" gateway_password_hash = "" +gateway_maintenance_mode_password_hash = "" # For R81.10 and below the gateway_password_hash is used also as maintenance-mode password. gateway_SICKey = "12345678" gateways_provision_address_type = "private" allocate_public_IP = false @@ -43,6 +44,7 @@ management_deploy = true management_instance_type = "m5.xlarge" management_version = "R81.20-BYOL" management_password_hash = "" +management_maintenance_mode_password_hash = "" # For R81.10 and below the management_password_hash is used also as maintenance-mode password. gateways_policy = "Standard" gateway_management = "Locally managed" admin_cidr = "0.0.0.0/0" diff --git a/terraform/aws/gwlb-master/variables.tf b/terraform/aws/gwlb-master/variables.tf index 7d11129f..dfcfdb14 100755 --- a/terraform/aws/gwlb-master/variables.tf +++ b/terraform/aws/gwlb-master/variables.tf @@ -164,6 +164,11 @@ variable "gateway_password_hash" { description = "(Optional) Admin user's password hash (use command 'openssl passwd -6 PASSWORD' to get the PASSWORD's hash)" default = "" } +variable "gateway_maintenance_mode_password_hash" { + description = "Maintenance mode password hash for the gateway instances, relevant only for R81.20 and higher versions" + type = string + default = "" +} variable "gateway_SICKey" { type = string description = "The Secure Internal Communication key for trusted connection between Check Point components (at least 8 alphanumeric characters)" @@ -232,6 +237,11 @@ variable "management_password_hash" { description = "(Optional) Admin user's password hash (use command 'openssl passwd -6 PASSWORD' to get the PASSWORD's hash)" default = "" } +variable "management_maintenance_mode_password_hash" { + description = "Maintenance mode password hash for the management instance, relevant only for R81.20 and higher versions" + type = string + default = "" +} variable "gateways_policy" { type = string description = "The name of the Security Policy package to be installed on the gateways in the Security Gateways Auto Scaling group" diff --git a/terraform/aws/gwlb/README.md b/terraform/aws/gwlb/README.md index 911c6c40..8482b9d5 100755 --- a/terraform/aws/gwlb/README.md +++ b/terraform/aws/gwlb/README.md @@ -110,6 +110,7 @@ secret_key = "my-secret-key" maximum_group_size = 10 gateway_version = "R81.20-BYOL" gateway_password_hash = "" + gateway_maintenance_mode_password_hash = "" # For R81.10 and below the gateway_password_hash is used also as maintenance-mode password. gateway_SICKey = "12345678" gateways_provision_address_type = "private" allocate_public_IP = false @@ -121,6 +122,7 @@ secret_key = "my-secret-key" management_instance_type = "m5.xlarge" management_version = "R81.20-BYOL" management_password_hash = "" + management_maintenance_mode_password_hash = "" # For R81.10 and below the management_password_hash is used also as maintenance-mode password. gateways_policy = "Standard" gateway_management = "Locally managed" admin_cidr = "" @@ -185,7 +187,8 @@ secret_key = "my-secret-key" | admin_cidr | (CIDR) Allow web, ssh, and graphical clients only from this network to communicate with the Management Server | string | valid CIDR | n/a | no | | gateway_addresses | (CIDR) Allow gateways only from this network to communicate with the Management Server | string | valid CIDR | n/a | no | | volume_type | General Purpose SSD Volume Type | string | - gp3
- gp2 | gp3 | no | - +| gateway_maintenance_mode_password_hash | (Optional) Gateway admin user's maintenance password hash (use command `openssl passwd -6 PASSWORD` to get the PASSWORD's hash), relevant only for R81.20 and higher versions | string | n/a | "" | no | +| management_maintenance_mode_password_hash | (Optional) Management admin user's maintenance password hash (use command `openssl passwd -6 PASSWORD` to get the PASSWORD's hash), relevant only for R81.20 and higher versions | string | n/a | "" | no | ## Outputs | Name | Description | @@ -213,6 +216,7 @@ In order to check the template version, please refer to [sk116585](https://suppo | 20230806 | Add support for c6in instance type | | 20230829 | Change default Check Point version to R81.20 | | 20230910 | Add bootstrap script execution option for deployed gateways | +| 20230914 | Add support for maintenance mode password | | 20230923 | Add support for C5d instance type | | 20231012 | Update AWS Terraform provider version to 5.20.1 | | 20231022 | Fixed template to populate x-chkp-tags correctly | diff --git a/terraform/aws/gwlb/locals.tf b/terraform/aws/gwlb/locals.tf index 0e982c82..44363311 100755 --- a/terraform/aws/gwlb/locals.tf +++ b/terraform/aws/gwlb/locals.tf @@ -23,11 +23,11 @@ locals { regex_valid_management_password_hash = "^[\\$\\./a-zA-Z0-9]*$" // Will fail if var.management_password_hash is invalid regex_management_password_hash = regex(local.regex_valid_management_password_hash, var.management_password_hash) == var.management_password_hash ? 0 : "Variable [management_password_hash] must be a valid password hash" - + regex_management_maintenance_mode_password_hash = regex(local.regex_valid_management_password_hash, var.management_maintenance_mode_password_hash) == var.management_maintenance_mode_password_hash ? 0 : "Variable [management_maintenance_mode_password_hash] must be a valid password hash" regex_valid_gateway_password_hash = "^[\\$\\./a-zA-Z0-9]*$" // Will fail if var.gateway_password_hash is invalid regex_gateway_password_hash = regex(local.regex_valid_gateway_password_hash, var.gateway_password_hash) == var.gateway_password_hash ? 0 : "Variable [gateway_password_hash] must be a valid password hash" - + regex_gateway_maintenance_mode_password_hash = regex(local.regex_valid_management_password_hash, var.gateway_maintenance_mode_password_hash) == var.gateway_maintenance_mode_password_hash ? 0 : "Variable [gateway_maintenance_mode_password_hash] must be a valid password hash" regex_valid_admin_cidr = "^([0-9]{1,3}\\.){3}[0-9]{1,3}/([0-9]|[1-2][0-9]|3[0-2])$" // Will fail if var.admin_cidr is invalid diff --git a/terraform/aws/gwlb/main.tf b/terraform/aws/gwlb/main.tf index 2fc6a38f..20a29602 100755 --- a/terraform/aws/gwlb/main.tf +++ b/terraform/aws/gwlb/main.tf @@ -52,6 +52,7 @@ module "autoscale_gwlb" { maximum_group_size = var.maximum_group_size gateway_version = var.gateway_version gateway_password_hash = var.gateway_password_hash + gateway_maintenance_mode_password_hash = var.gateway_maintenance_mode_password_hash gateway_SICKey = var.gateway_SICKey allow_upload_download = var.allow_upload_download enable_cloudwatch = var.enable_cloudwatch @@ -84,6 +85,7 @@ module "management" { disable_instance_termination = var.disable_instance_termination management_version = var.management_version management_password_hash = var.management_password_hash + management_maintenance_mode_password_hash = var.management_maintenance_mode_password_hash allow_upload_download = var.allow_upload_download admin_cidr = var.admin_cidr admin_shell = var.admin_shell diff --git a/terraform/aws/gwlb/terraform.tfvars b/terraform/aws/gwlb/terraform.tfvars index 13b14307..7f05b096 100755 --- a/terraform/aws/gwlb/terraform.tfvars +++ b/terraform/aws/gwlb/terraform.tfvars @@ -28,6 +28,7 @@ minimum_group_size = 2 maximum_group_size = 10 gateway_version = "R81.20-BYOL" gateway_password_hash = "" +gateway_maintenance_mode_password_hash = "" # For R81.10 and below the gateway_password_hash is used also as maintenance-mode password. gateway_SICKey = "12345678" gateways_provision_address_type = "private" allocate_public_IP = false @@ -39,6 +40,7 @@ management_deploy = true management_instance_type = "m5.xlarge" management_version = "R81.20-BYOL" management_password_hash = "" +management_maintenance_mode_password_hash = "" # For R81.10 and below the management_password_hash is used also as maintenance-mode password. gateways_policy = "Standard" gateway_management = "Locally managed" admin_cidr = "0.0.0.0/0" diff --git a/terraform/aws/gwlb/variables.tf b/terraform/aws/gwlb/variables.tf index da997a9c..660b4292 100755 --- a/terraform/aws/gwlb/variables.tf +++ b/terraform/aws/gwlb/variables.tf @@ -153,6 +153,11 @@ variable "gateway_password_hash" { description = "(Optional) Admin user's password hash (use command 'openssl passwd -6 PASSWORD' to get the PASSWORD's hash)" default = "" } +variable "gateway_maintenance_mode_password_hash" { + description = "Maintenance mode password hash for the gateway instances, relevant only for R81.20 and higher versions" + type = string + default = "" +} variable "gateway_SICKey" { type = string description = "The Secure Internal Communication key for trusted connection between Check Point components (at least 8 alphanumeric characters)" @@ -221,6 +226,11 @@ variable "management_password_hash" { description = "(Optional) Admin user's password hash (use command 'openssl passwd -6 PASSWORD' to get the PASSWORD's hash)" default = "" } +variable "management_maintenance_mode_password_hash" { + description = "Maintenance mode password hash for the management instance, relevant only for R81.20 and higher versions" + type = string + default = "" +} variable "gateways_policy" { type = string description = "The name of the Security Policy package to be installed on the gateways in the Security Gateways Auto Scaling group" diff --git a/terraform/aws/management/README.md b/terraform/aws/management/README.md index fe276df8..aefd1dba 100755 --- a/terraform/aws/management/README.md +++ b/terraform/aws/management/README.md @@ -106,7 +106,7 @@ secret_key = "my-secret-key" management_version = "R81.20-BYOL" admin_shell = "/etc/cli.sh" management_password_hash = "" - + management_maintenance_mode_password_hash = "" # For R81.10 and below the management_password_hash is used also as maintenance-mode password. // --- Security Management Server Settings --- management_hostname = "mgmt-tf" is_primary_management = "true" @@ -164,6 +164,7 @@ secret_key = "my-secret-key" | primary_ntp | (Optional) The IPv4 addresses of Network Time Protocol primary server | string | n/a | 169.254.169.123 | no | | secondary_ntp | (Optional) The IPv4 addresses of Network Time Protocol secondary server | string | n/a | 0.pool.ntp.org | no | | management_bootstrap_script | (Optional) Semicolon (;) separated commands to run on the initial boot | string | n/a | "" | no | +| management_maintenance_mode_password_hash | (Optional) Management admin user's maintenance password hash (use command `openssl passwd -6 PASSWORD` to get the PASSWORD's hash), relevant only for R81.20 and higher versions | string | n/a | "" | no | ## Outputs @@ -187,6 +188,7 @@ In order to check the template version, please refer to [sk116585](https://suppo | 20230521 | - Change default shell for the admin user to /etc/cli.sh
- Add description for reserved words in hostname | | 20230806 | Add support for c6in instance type | | 20230829 | Change default Check Point version to R81.20 | +| 20230914 | Add support for maintenance mode password | | 20230923 | Add support for C5d instance type | | 20231012 | Update AWS Terraform provider version to 5.20.1 | diff --git a/terraform/aws/management/locals.tf b/terraform/aws/management/locals.tf index 65ef62ad..cc1d2194 100755 --- a/terraform/aws/management/locals.tf +++ b/terraform/aws/management/locals.tf @@ -51,7 +51,7 @@ locals { regex_valid_management_password_hash = "^[\\$\\./a-zA-Z0-9]*$" // Will fail if var.management_password_hash is invalid regex_management_password_hash = regex(local.regex_valid_management_password_hash, var.management_password_hash) == var.management_password_hash ? 0 : "Variable [management_password_hash] must be a valid password hash" - + regex_maintenance_mode_password_hash = regex(local.regex_valid_management_password_hash, var.management_maintenance_mode_password_hash) == var.management_maintenance_mode_password_hash ? 0 : "Variable [management_maintenance_mode_password_hash] must be a valid password hash" regex_valid_sic_key = "(|[a-zA-Z0-9]{8,})" // Will fail if var.SICKey is invalid regex_sic_result = regex(local.regex_valid_sic_key, var.SICKey) == var.SICKey ? 0 : "Variable [SICKey] must be at least 8 alphanumeric characters" @@ -62,6 +62,7 @@ locals { management_bootstrap_script64 = base64encode(var.management_bootstrap_script) management_SICkey_base64=base64encode(var.SICKey) management_password_hash_base64=base64encode(var.management_password_hash) + maintenance_mode_password_hash_base64=base64encode(var.management_maintenance_mode_password_hash) manage_over_the_internet = var.gateway_management == "Over the internet" ? true : false manage_over_internet_and_EIP = var.allocate_and_associate_eip && local.manage_over_the_internet ? true : false diff --git a/terraform/aws/management/main.tf b/terraform/aws/management/main.tf index 27f5e891..f1bf2f04 100755 --- a/terraform/aws/management/main.tf +++ b/terraform/aws/management/main.tf @@ -154,6 +154,7 @@ resource "aws_instance" "management-instance" { // script's arguments Hostname = var.management_hostname, PasswordHash = local.management_password_hash_base64, + MaintenanceModePassword = local.maintenance_mode_password_hash_base64, AllowUploadDownload = var.allow_upload_download, NTPPrimary = var.primary_ntp NTPSecondary = var.secondary_ntp diff --git a/terraform/aws/management/management_userdata.yaml b/terraform/aws/management/management_userdata.yaml index 23f8ac94..a3c76baa 100755 --- a/terraform/aws/management/management_userdata.yaml +++ b/terraform/aws/management/management_userdata.yaml @@ -1,4 +1,4 @@ #cloud-config runcmd: - | - python3 /etc/cloud_config.py sicKey=\"${SICKey}\" installationType=\"management\" osVersion=\"${OsVersion}\" allowUploadDownload=\"${AllowUploadDownload}\" templateVersion=\"20231012\" templateName=\"management\" templateType=\"terraform\" shell=\"${Shell}\" enableInstanceConnect=\"${EnableInstanceConnect}\" hostName=\"${Hostname }\" ntpPrimary=\"${NTPPrimary}\" ntpSecondary=\"${NTPSecondary}\" passwordHash=\"${PasswordHash}\" primary=\"${IsPrimary}\" adminSubnet=\"${AdminSubnet}\" allocatePublicAddress=\"${AllocateElasticIP}\" overTheInternet=\"${PubMgmt}\" bootstrapScript64=\"${BootstrapScript}\" \ No newline at end of file + python3 /etc/cloud_config.py sicKey=\"${SICKey}\" installationType=\"management\" osVersion=\"${OsVersion}\" allowUploadDownload=\"${AllowUploadDownload}\" templateVersion=\"20231012\" templateName=\"management\" templateType=\"terraform\" shell=\"${Shell}\" enableInstanceConnect=\"${EnableInstanceConnect}\" hostName=\"${Hostname }\" ntpPrimary=\"${NTPPrimary}\" ntpSecondary=\"${NTPSecondary}\" passwordHash=\"${PasswordHash}\" MaintenanceModePassword=\"${MaintenanceModePassword}\" primary=\"${IsPrimary}\" adminSubnet=\"${AdminSubnet}\" allocatePublicAddress=\"${AllocateElasticIP}\" overTheInternet=\"${PubMgmt}\" bootstrapScript64=\"${BootstrapScript}\" \ No newline at end of file diff --git a/terraform/aws/management/terraform.tfvars b/terraform/aws/management/terraform.tfvars index 2401f5a3..905db198 100755 --- a/terraform/aws/management/terraform.tfvars +++ b/terraform/aws/management/terraform.tfvars @@ -27,7 +27,7 @@ sts_roles = [] management_version = "R81.20-BYOL" admin_shell = "/etc/cli.sh" management_password_hash = "" - +management_maintenance_mode_password_hash = "" # For R81.10 and below the management_password_hash is used also as maintenance-mode password. // --- Security Management Server Settings --- management_hostname = "mgmt-tf" is_primary_management = "true" diff --git a/terraform/aws/management/variables.tf b/terraform/aws/management/variables.tf index 8eb2a074..469ef162 100755 --- a/terraform/aws/management/variables.tf +++ b/terraform/aws/management/variables.tf @@ -121,6 +121,11 @@ variable "management_password_hash" { description = "(Optional) Admin user's password hash (use command 'openssl passwd -6 PASSWORD' to get the PASSWORD's hash)" default = "" } +variable "management_maintenance_mode_password_hash" { + description = "(optional) Check Point recommends setting Admin user's password and maintenance-mode password for recovery purposes. For R81.10 and below the Admin user's password is used also as maintenance-mode password. (To generate a password hash use the command 'grub2-mkpasswd-pbkdf2' on Linux and paste it here)." + type = string + default = "" +} // --- Security Management Server Settings --- variable "management_hostname" { diff --git a/terraform/aws/mds/README.md b/terraform/aws/mds/README.md index 716950c5..06d3b282 100755 --- a/terraform/aws/mds/README.md +++ b/terraform/aws/mds/README.md @@ -104,6 +104,7 @@ secret_key = "my-secret-key" mds_version = "R81.20-BYOL" mds_admin_shell = "/etc/cli.sh" mds_password_hash = "" + mds_maintenance_mode_password_hash = "" // --- Multi-Domain Server Settings --- mds_hostname = "mds-tf" @@ -157,6 +158,7 @@ secret_key = "my-secret-key" | primary_ntp | (Optional) The IPv4 addresses of Network Time Protocol primary server | string | n/a | 169.254.169.123 | no | | secondary_ntp | (Optional) The IPv4 addresses of Network Time Protocol secondary server | string | n/a | 0.pool.ntp.org | no | | mds_bootstrap_script | (Optional) Semicolon (;) separated commands to run on the initial boot | string | n/a | "" | no | +| mds_maintenance_mode_password_hash | (optional) Check Point recommends setting Admin user's password and maintenance-mode password for recovery purposes. For R81.10 and below the Admin user's password is used also as maintenance-mode password. (To generate a password hash use the command 'grub2-mkpasswd-pbkdf2' on Linux and paste it here). | string | n/a | "" | no | ## Outputs @@ -177,6 +179,7 @@ In order to check the template version, please refer to [sk116585](https://suppo | 20230521 | - Change default shell for the admin user to /etc/cli.sh
- Add description for reserved words in hostname | | 20230806 | Add support for c6in instance type | | 20230829 | Change default Check Point version to R81.20 | +| 20230914 | Add support for maintenance mode password | | 20230923 | Add support for C5d instance type | | 20231012 | Update AWS Terraform provider version to 5.20.1 | diff --git a/terraform/aws/mds/locals.tf b/terraform/aws/mds/locals.tf index ec9ee903..7dd690a2 100755 --- a/terraform/aws/mds/locals.tf +++ b/terraform/aws/mds/locals.tf @@ -54,6 +54,7 @@ locals { regex_valid_mds_password_hash = "^[\\$\\./a-zA-Z0-9]*$" // Will fail if var.mds_password_hash is invalid regex_mds_password_hash = regex(local.regex_valid_mds_password_hash, var.mds_password_hash) == var.mds_password_hash ? 0 : "Variable [mds_password_hash] must be a valid password hash" + regex_maintenance_mode_password_hash = regex(local.regex_valid_mds_password_hash, var.mds_maintenance_mode_password_hash) == var.mds_maintenance_mode_password_hash ? 0 : "Variable [mds_maintenance_mode_password_hash] must be a valid password hash" regex_valid_sic_key = "(|[a-zA-Z0-9]{8,})" // Will fail if var.mds_SICKey is invalid @@ -64,4 +65,5 @@ locals { mds_bootstrap_script64 = base64encode(var.mds_bootstrap_script) mds_SICkey_base64 = base64encode(var.mds_SICKey) mds_password_hash_base64 =base64encode(var.mds_password_hash) + maintenance_mode_password_hash_base64 = base64encode(var.mds_maintenance_mode_password_hash) } \ No newline at end of file diff --git a/terraform/aws/mds/main.tf b/terraform/aws/mds/main.tf index 5e3d2cfb..f95bb865 100755 --- a/terraform/aws/mds/main.tf +++ b/terraform/aws/mds/main.tf @@ -145,6 +145,7 @@ resource "aws_instance" "mds-instance" { // script's arguments Hostname = var.mds_hostname, PasswordHash = local.mds_password_hash_base64 + MaintenanceModePassword = local.maintenance_mode_password_hash_base64 AllowUploadDownload = var.allow_upload_download, NTPPrimary = var.primary_ntp NTPSecondary = var.secondary_ntp diff --git a/terraform/aws/mds/mds_userdata.yaml b/terraform/aws/mds/mds_userdata.yaml index 072d29eb..3321cd60 100755 --- a/terraform/aws/mds/mds_userdata.yaml +++ b/terraform/aws/mds/mds_userdata.yaml @@ -1,4 +1,4 @@ #cloud-config runcmd: - | - python3 /etc/cloud_config.py sicKey=\"${SICKey}\" installationType=\"mds\" osVersion=\"${OsVersion}\" allowUploadDownload=\"${AllowUploadDownload}\" templateVersion=\"20231012\" templateName=\"mds\" templateType=\"terraform\" shell=\"${Shell}\" enableInstanceConnect=\"${EnableInstanceConnect}\" hostName=\"${Hostname }\" ntpPrimary=\"${NTPPrimary}\" ntpSecondary=\"${NTPSecondary}\" passwordHash=\"${PasswordHash}\" primary=\"${IsPrimary}\" secondary=\"${IsSecondary}\" adminSubnet=\"${AdminSubnet}\" bootstrapScript64=\"${BootstrapScript}\" \ No newline at end of file + python3 /etc/cloud_config.py sicKey=\"${SICKey}\" installationType=\"mds\" osVersion=\"${OsVersion}\" allowUploadDownload=\"${AllowUploadDownload}\" templateVersion=\"20231012\" templateName=\"mds\" templateType=\"terraform\" shell=\"${Shell}\" enableInstanceConnect=\"${EnableInstanceConnect}\" hostName=\"${Hostname }\" ntpPrimary=\"${NTPPrimary}\" ntpSecondary=\"${NTPSecondary}\" passwordHash=\"${PasswordHash}\" MaintenanceModePassword=\"${MaintenanceModePassword}\" primary=\"${IsPrimary}\" secondary=\"${IsSecondary}\" adminSubnet=\"${AdminSubnet}\" bootstrapScript64=\"${BootstrapScript}\" \ No newline at end of file diff --git a/terraform/aws/mds/terraform.tfvars b/terraform/aws/mds/terraform.tfvars index cc4688ce..1104460d 100755 --- a/terraform/aws/mds/terraform.tfvars +++ b/terraform/aws/mds/terraform.tfvars @@ -26,6 +26,7 @@ sts_roles = [] mds_version = "R81.20-BYOL" mds_admin_shell = "/etc/cli.sh" mds_password_hash = "" +mds_maintenance_mode_password_hash = "" // --- Multi-Domain Server Settings --- mds_hostname = "mds-tf" diff --git a/terraform/aws/mds/variables.tf b/terraform/aws/mds/variables.tf index 334f968b..74c57829 100755 --- a/terraform/aws/mds/variables.tf +++ b/terraform/aws/mds/variables.tf @@ -116,6 +116,11 @@ variable "mds_password_hash" { description = "(Optional) Admin user's password hash (use command 'openssl passwd -6 PASSWORD' to get the PASSWORD's hash)" default = "" } +variable "mds_maintenance_mode_password_hash" { + description = "(optional) Check Point recommends setting Admin user's password and maintenance-mode password for recovery purposes. For R81.10 and below the Admin user's password is used also as maintenance-mode password. (To generate a password hash use the command 'grub2-mkpasswd-pbkdf2' on Linux and paste it here)." + type = string + default = "" +} // --- Multi-Domain Server Settings --- variable "mds_hostname" { diff --git a/terraform/aws/modules/common/gateway_instance/gateway_userdata.yaml b/terraform/aws/modules/common/gateway_instance/gateway_userdata.yaml index 5bdc62b5..05538232 100755 --- a/terraform/aws/modules/common/gateway_instance/gateway_userdata.yaml +++ b/terraform/aws/modules/common/gateway_instance/gateway_userdata.yaml @@ -1,4 +1,4 @@ #cloud-config runcmd: - | - python3 /etc/cloud_config.py enableCloudWatch=\"${EnableCloudWatch}\" sicKey=\"${SICKey}\" "smart1CloudToken=\"${TokenKey}\"" installationType=\"gateway\" osVersion=\"${OsVersion}\" allowUploadDownload=\"${AllowUploadDownload}\" templateVersion=\"20231012\" templateName=\"gateway\" templateType=\"terraform\" shell=\"${Shell}\" enableInstanceConnect=\"${EnableInstanceConnect}\" hostName=\"${Hostname }\" ntpPrimary=\"${NTPPrimary}\" ntpSecondary=\"${NTPSecondary}\" passwordHash=\"${PasswordHash}\" bootstrapScript64=\"${GatewayBootstrapScript}\" \ No newline at end of file + python3 /etc/cloud_config.py enableCloudWatch=\"${EnableCloudWatch}\" sicKey=\"${SICKey}\" "smart1CloudToken=\"${TokenKey}\"" installationType=\"gateway\" osVersion=\"${OsVersion}\" allowUploadDownload=\"${AllowUploadDownload}\" templateVersion=\"20231012\" templateName=\"gateway\" templateType=\"terraform\" shell=\"${Shell}\" enableInstanceConnect=\"${EnableInstanceConnect}\" hostName=\"${Hostname }\" ntpPrimary=\"${NTPPrimary}\" ntpSecondary=\"${NTPSecondary}\" passwordHash=\"${PasswordHash}\" MaintenanceModePassword=\"${MaintenanceModePassword}\" bootstrapScript64=\"${GatewayBootstrapScript}\" \ No newline at end of file diff --git a/terraform/aws/modules/common/gateway_instance/locals.tf b/terraform/aws/modules/common/gateway_instance/locals.tf index 8381a058..a0d9034d 100755 --- a/terraform/aws/modules/common/gateway_instance/locals.tf +++ b/terraform/aws/modules/common/gateway_instance/locals.tf @@ -21,6 +21,12 @@ locals { // Will fail if var.gateway_hostname is invalid regex_gateway_hostname = regex(local.regex_valid_gateway_hostname, var.gateway_hostname) == var.gateway_hostname ? 0 : "Variable [lambda_scheduled_interval] must be a valid hostname label or an empty string" + regex_valid_gateway_password_hash = "^[\\$\\./a-zA-Z0-9]*$" + // Will fail if var.gateway_password_hash is invalid + regex_gateway_password_hash = regex(local.regex_valid_gateway_password_hash, var.gateway_password_hash) == var.gateway_password_hash ? 0 : "Variable [gateway_password_hash] must be a valid password hash" + regex_gateway_maintenance_mode_password_hash = regex(local.regex_valid_gateway_password_hash, var.gateway_maintenance_mode_password_hash) == var.gateway_maintenance_mode_password_hash ? 0 : "Variable [gateway_maintenance_mode_password_hash] must be a valid password hash" + + volume_encryption_condition = var.volume_encryption != "" ? true : false //Splits the version and licence and returns the os version @@ -29,4 +35,5 @@ locals { gateway_bootstrap_script64 = base64encode(var.gateway_bootstrap_script) gateway_SICkey_base64 = base64encode(var.gateway_SICKey) gateway_password_hash_base64 = base64encode(var.gateway_password_hash) + gateway_maintenance_mode_password_hash_base64 = base64encode(var.gateway_maintenance_mode_password_hash) } \ No newline at end of file diff --git a/terraform/aws/modules/common/gateway_instance/main.tf b/terraform/aws/modules/common/gateway_instance/main.tf index 561814af..0cb9c40a 100755 --- a/terraform/aws/modules/common/gateway_instance/main.tf +++ b/terraform/aws/modules/common/gateway_instance/main.tf @@ -34,6 +34,7 @@ resource "aws_instance" "gateway_instance" { user_data = templatefile("${path.module}/gateway_userdata.yaml", { // script's arguments PasswordHash = local.gateway_password_hash_base64, + MaintenanceModePassword = local.gateway_maintenance_mode_password_hash_base64, Shell = var.admin_shell, SICKey = local.gateway_SICkey_base64, TokenKey = var.gateway_TokenKey, diff --git a/terraform/aws/modules/common/gateway_instance/variables.tf b/terraform/aws/modules/common/gateway_instance/variables.tf index 21af2fcd..505dfdd0 100755 --- a/terraform/aws/modules/common/gateway_instance/variables.tf +++ b/terraform/aws/modules/common/gateway_instance/variables.tf @@ -82,6 +82,11 @@ variable "gateway_password_hash" { description = "(Optional) Admin user's password hash (use command 'openssl passwd -6 PASSWORD' to get the PASSWORD's hash)" default = "" } +variable "gateway_maintenance_mode_password_hash" { + description = "(optional) Check Point recommends setting Admin user's password and maintenance-mode password for recovery purposes. For R81.10 and below the Admin user's password is used also as maintenance-mode password. (To generate a password hash use the command 'grub2-mkpasswd-pbkdf2' on Linux and paste it here)." + type = string + default = "" +} variable "admin_shell" { type = string description = "Set the admin shell to enable advanced command line configuration" diff --git a/terraform/aws/qs-autoscale-master/README.md b/terraform/aws/qs-autoscale-master/README.md index af7257e2..4693cd1a 100755 --- a/terraform/aws/qs-autoscale-master/README.md +++ b/terraform/aws/qs-autoscale-master/README.md @@ -122,6 +122,7 @@ secret_key = "my-secret-key" gateways_max_group_size = 8 gateway_version = "R81.20-BYOL" gateway_password_hash = "" + gateway_maintenance_mode_password_hash = "" # For R81.10 and below the gateway_password_hash is used also as maintenance-mode password. gateway_SICKey = "12345678" enable_cloudwatch = false @@ -130,6 +131,7 @@ secret_key = "my-secret-key" management_instance_type = "m5.xlarge" management_version = "R81.20-BYOL" management_password_hash = "" + management_maintenance_mode_password_hash = "" # For R81.10 and below the management_password_hash is used also as maintenance-mode password. gateways_policy = "Standard" gateways_blades = true admin_cidr = "0.0.0.0/0" @@ -204,6 +206,9 @@ secret_key = "my-secret-key" | servers_subnets | Provide at least 2 private subnet IDs in the chosen VPC, separated by commas (e.g. subnet-0d72417c,subnet-1f61306f,subnet-1061d06f). | list(string) | n/a | n/a | yes | | servers_instance_type | The EC2 instance type for the web servers | string | - t3.nano
- t3.micro
- t3.small
- t3.medium
- t3.large
- t3.xlarge
- t3.2xlarge | t3.micro | no | | server_ami | The Amazon Machine Image ID of a preconfigured web server (e.g. ami-0dc7dc63) | string | n/a | n/a | yes | +| gateway_maintenance_mode_password_hash | (Optional) Gateway admin user's maintenance password hash (use command `openssl passwd -6 PASSWORD` to get the PASSWORD's hash), relevant only for R81.20 and higher versions | string | n/a | "" | no | +| management_maintenance_mode_password_hash | (Optional) Management admin user's maintenance password hash (use command `openssl passwd -6 PASSWORD` to get the PASSWORD's hash), relevant only for R81.20 and higher versions | string | n/a | "" | no | + ## Outputs @@ -238,6 +243,7 @@ In order to check the template version, please refer to [sk116585](https://suppo | 20221226 | Support ASG Launch Template instead of Launch Configuration | | 20230806 | Add support for c6in instance type | | 20230829 | Change default Check Point version to R81.20 | +| 20230914 | Add support for maintenance mode password | | 20230923 | Add support for C5d instance type | | 20231012 | Update AWS Terraform provider version to 5.20.1 | | 20231127 | Add support for parameter admin shell | diff --git a/terraform/aws/qs-autoscale-master/locals.tf b/terraform/aws/qs-autoscale-master/locals.tf index e020fd88..e23f58a2 100755 --- a/terraform/aws/qs-autoscale-master/locals.tf +++ b/terraform/aws/qs-autoscale-master/locals.tf @@ -38,6 +38,7 @@ locals { regex_valid_gateway_password_hash = "^[\\$\\./a-zA-Z0-9]*$" // Will fail if var.gateway_password_hash is invalid regex_gateway_password_hash = regex(local.regex_valid_gateway_password_hash, var.gateway_password_hash) == var.gateway_password_hash ? 0 : "Variable [gateway_password_hash] must be a valid password hash." + regex_gateway_maintenance_mode_password_hash = regex(local.regex_valid_gateway_password_hash, var.gateway_maintenance_mode_password_hash) == var.gateway_maintenance_mode_password_hash ? 0 : "Variable [gateway_maintenance_mode_password_hash] must be a valid password hash" regex_valid_gateway_sic_key = "^[a-zA-Z0-9]{8,}$" // Will fail if var.gateway_SIC_Key is invalid diff --git a/terraform/aws/qs-autoscale-master/main.tf b/terraform/aws/qs-autoscale-master/main.tf index 1ac3f1e5..1d4b7e56 100755 --- a/terraform/aws/qs-autoscale-master/main.tf +++ b/terraform/aws/qs-autoscale-master/main.tf @@ -40,12 +40,14 @@ module "launch_qs_autoscale" { gateways_max_group_size = var.gateways_max_group_size gateway_version = var.gateway_version gateway_password_hash = var.gateway_password_hash + gateway_maintenance_mode_password_hash = var.gateway_maintenance_mode_password_hash gateway_SICKey = var.gateway_SICKey enable_cloudwatch = var.enable_cloudwatch management_deploy = var.management_deploy management_instance_type = var.management_instance_type management_version = var.management_version management_password_hash = var.gateway_password_hash + management_maintenance_mode_password_hash = var.management_maintenance_mode_password_hash gateways_policy = var.gateways_policy gateways_blades = var.gateways_blades admin_cidr = var.admin_cidr diff --git a/terraform/aws/qs-autoscale-master/terraform.tfvars b/terraform/aws/qs-autoscale-master/terraform.tfvars index 1d2fea19..e43c2d68 100755 --- a/terraform/aws/qs-autoscale-master/terraform.tfvars +++ b/terraform/aws/qs-autoscale-master/terraform.tfvars @@ -35,6 +35,7 @@ gateways_min_group_size = 2 gateways_max_group_size = 8 gateway_version = "R81.20-BYOL" gateway_password_hash = "" +gateway_maintenance_mode_password_hash = "" # For R81.10 and below the gateway_password_hash is used also as maintenance-mode password. gateway_SICKey = "12345678" enable_cloudwatch = true @@ -43,6 +44,7 @@ management_deploy = true management_instance_type = "m5.xlarge" management_version = "R81.20-BYOL" management_password_hash = "" +management_maintenance_mode_password_hash = "" # For R81.10 and below the management_password_hash is used also as maintenance-mode password. gateways_policy = "Standard" gateways_blades = true admin_cidr = "0.0.0.0/0" diff --git a/terraform/aws/qs-autoscale-master/variables.tf b/terraform/aws/qs-autoscale-master/variables.tf index 4757bafc..efe4b16f 100755 --- a/terraform/aws/qs-autoscale-master/variables.tf +++ b/terraform/aws/qs-autoscale-master/variables.tf @@ -140,6 +140,11 @@ variable "gateway_password_hash" { description = "(Optional) Admin user's password hash (use command 'openssl passwd -6 PASSWORD' to get the PASSWORD's hash)" default = "" } +variable "gateway_maintenance_mode_password_hash" { + description = "(optional) Check Point recommends setting Admin user's password and maintenance-mode password for recovery purposes. For R81.10 and below the Admin user's password is used also as maintenance-mode password. (To generate a password hash use the command 'grub2-mkpasswd-pbkdf2' on Linux and paste it here)." + type = string + default = "" +} variable "gateway_SICKey" { type = string description = "The Secure Internal Communication key for trusted connection between Check Point components. Choose a random string consisting of at least 8 alphanumeric characters" @@ -183,6 +188,11 @@ variable "management_password_hash" { description = "(Optional) Admin user's password hash (use command 'openssl passwd -6 PASSWORD' to get the PASSWORD's hash)" default = "" } +variable "management_maintenance_mode_password_hash" { + description = "(optional) Check Point recommends setting Admin user's password and maintenance-mode password for recovery purposes. For R81.10 and below the Admin user's password is used also as maintenance-mode password. (To generate a password hash use the command 'grub2-mkpasswd-pbkdf2' on Linux and paste it here)." + type = string + default = "" +} variable "gateways_policy" { type = string description = "The name of the Security Policy package to be installed on the gateways in the Security Gateways Auto Scaling group" diff --git a/terraform/aws/qs-autoscale/README.md b/terraform/aws/qs-autoscale/README.md index 1d633d19..09acb87f 100755 --- a/terraform/aws/qs-autoscale/README.md +++ b/terraform/aws/qs-autoscale/README.md @@ -109,6 +109,7 @@ secret_key = "my-secret-key" gateways_max_group_size = 8 gateway_version = "R81.20-BYOL" gateway_password_hash = "" + gateway_maintenance_mode_password_hash = "" # For R81.10 and below the gateway_password_hash is used also as maintenance-mode password. gateway_SICKey = "12345678" enable_cloudwatch = true @@ -117,6 +118,7 @@ secret_key = "my-secret-key" management_instance_type = "m5.xlarge" management_version = "R81.20-BYOL" management_password_hash = "" + management_maintenance_mode_password_hash = "" # For R81.10 and below the management_password_hash is used also as maintenance-mode password. gateways_policy = "Standard" gateways_blades = true admin_cidr = "0.0.0.0/0" @@ -189,6 +191,8 @@ secret_key = "my-secret-key" | servers_subnets | Provide at least 2 private subnet IDs in the chosen VPC, separated by commas (e.g. subnet-0d72417c,subnet-1f61306f,subnet-1061d06f). | list(string) | n/a | n/a | yes | | servers_instance_type | The EC2 instance type for the web servers | string | - t3.nano
- t3.micro
- t3.small
- t3.medium
- t3.large
- t3.xlarge
- t3.2xlarge | t3.micro | no | | server_ami | The Amazon Machine Image ID of a preconfigured web server (e.g. ami-0dc7dc63) | string | n/a | n/a | yes | +| gateway_maintenance_mode_password_hash | (Optional) Gateway admin user's maintenance password hash (use command `openssl passwd -6 PASSWORD` to get the PASSWORD's hash), relevant only for R81.20 and higher versions | string | n/a | "" | no | +| management_maintenance_mode_password_hash | (Optional) Management admin user's maintenance password hash (use command `openssl passwd -6 PASSWORD` to get the PASSWORD's hash), relevant only for R81.20 and higher versions | string | n/a | "" | no | ## Outputs @@ -220,6 +224,7 @@ In order to check the template version, please refer to [sk116585](https://suppo | 20221226 | Support ASG Launch Template instead of Launch Configuration | | 20230806 | Add support for c6in instance type | | 20230829 | Change default Check Point version to R81.20 | +| 20230914 | Add support for maintenance mode password | | 20230923 | Add support for C5d instance type | | 20231012 | Update AWS Terraform provider version to 5.20.1 | | 20231022 | Fixed template to populate x-chkp-tags correctly | diff --git a/terraform/aws/qs-autoscale/locals.tf b/terraform/aws/qs-autoscale/locals.tf index 291ad271..58086ff1 100755 --- a/terraform/aws/qs-autoscale/locals.tf +++ b/terraform/aws/qs-autoscale/locals.tf @@ -39,6 +39,7 @@ locals { regex_valid_gateway_password_hash = "^[\\$\\./a-zA-Z0-9]*$" // Will fail if var.gateway_password_hash is invalid regex_gateway_password_hash = regex(local.regex_valid_gateway_password_hash, var.gateway_password_hash) == var.gateway_password_hash ? 0 : "Variable [gateway_password_hash] must be a valid password hash." + regex_gateway_maintenance_mode_password_hash = regex(local.regex_valid_gateway_password_hash, var.gateway_maintenance_mode_password_hash) == var.gateway_maintenance_mode_password_hash ? 0 : "Variable [gateway_maintenance_mode_password_hash] must be a valid password hash" regex_valid_gateway_sic_key = "^[a-zA-Z0-9]{8,}$" // Will fail if var.gateway_SIC_Key is invalid @@ -47,6 +48,7 @@ locals { regex_valid_management_password_hash = "^[\\$\\./a-zA-Z0-9]*$" // Will fail if var.gateway_password_hash is invalid regex_management_password_hash = regex(local.regex_valid_management_password_hash, var.management_password_hash) == var.management_password_hash ? 0 : "Variable [management_password_hash] must be a valid password hash." + regex_management_maintenance_mode_password_hash = regex(local.regex_valid_management_password_hash, var.management_maintenance_mode_password_hash) == var.management_maintenance_mode_password_hash ? 0 : "Variable [management_maintenance_mode_password_hash] must be a valid password hash" regex_valid_admin_cidr = "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\\/([0-9]|[1-2][0-9]|3[0-2]))$" // Will fail if var.admin_cidr is invalid diff --git a/terraform/aws/qs-autoscale/main.tf b/terraform/aws/qs-autoscale/main.tf index 4dedce81..785e1faf 100755 --- a/terraform/aws/qs-autoscale/main.tf +++ b/terraform/aws/qs-autoscale/main.tf @@ -62,6 +62,7 @@ module "autoscale" { gateway_version = var.gateway_version admin_shell = var.admin_shell gateway_password_hash = var.gateway_password_hash + gateway_maintenance_mode_password_hash = var.gateway_maintenance_mode_password_hash gateway_SICKey = var.gateway_SICKey allow_upload_download = var.allow_upload_download enable_cloudwatch = var.enable_cloudwatch @@ -91,6 +92,7 @@ module "management" { management_version = var.management_version admin_shell = var.admin_shell management_password_hash = var.management_password_hash + management_maintenance_mode_password_hash = var.management_maintenance_mode_password_hash allow_upload_download = var.allow_upload_download admin_cidr = var.admin_cidr gateway_addresses = var.gateways_addresses diff --git a/terraform/aws/qs-autoscale/terraform.tfvars b/terraform/aws/qs-autoscale/terraform.tfvars index e37313dd..91bf2436 100755 --- a/terraform/aws/qs-autoscale/terraform.tfvars +++ b/terraform/aws/qs-autoscale/terraform.tfvars @@ -25,6 +25,7 @@ gateways_min_group_size = 2 gateways_max_group_size = 8 gateway_version = "R81.20-BYOL" gateway_password_hash = "" +gateway_maintenance_mode_password_hash = "" # For R81.10 and below the gateway_password_hash is used also as maintenance-mode password. gateway_SICKey = "12345678" enable_cloudwatch = true @@ -33,6 +34,7 @@ management_deploy = true management_instance_type = "m5.xlarge" management_version = "R81.20-BYOL" management_password_hash = "" +management_maintenance_mode_password_hash = "" # For R81.10 and below the management_password_hash is used also as maintenance-mode password. gateways_policy = "Standard" gateways_blades = true admin_cidr = "0.0.0.0/0" diff --git a/terraform/aws/qs-autoscale/variables.tf b/terraform/aws/qs-autoscale/variables.tf index a30b9f7b..3c37c42c 100755 --- a/terraform/aws/qs-autoscale/variables.tf +++ b/terraform/aws/qs-autoscale/variables.tf @@ -127,6 +127,11 @@ variable "gateway_password_hash" { description = "(Optional) Admin user's password hash (use command 'openssl passwd -6 PASSWORD' to get the PASSWORD's hash)" default = "" } +variable "gateway_maintenance_mode_password_hash" { + description = "(optional) Check Point recommends setting Admin user's password and maintenance-mode password for recovery purposes. For R81.10 and below the Admin user's password is used also as maintenance-mode password. (To generate a password hash use the command 'grub2-mkpasswd-pbkdf2' on Linux and paste it here)." + type = string + default = "" +} variable "gateway_SICKey" { type = string description = "The Secure Internal Communication key for trusted connection between Check Point components. Choose a random string consisting of at least 8 alphanumeric characters" @@ -170,6 +175,11 @@ variable "management_password_hash" { description = "(Optional) Admin user's password hash (use command 'openssl passwd -6 PASSWORD' to get the PASSWORD's hash)" default = "" } +variable "management_maintenance_mode_password_hash" { + description = "(optional) Check Point recommends setting Admin user's password and maintenance-mode password for recovery purposes. For R81.10 and below the Admin user's password is used also as maintenance-mode password. (To generate a password hash use the command 'grub2-mkpasswd-pbkdf2' on Linux and paste it here)." + type = string + default = "" +} variable "gateways_policy" { type = string description = "The name of the Security Policy package to be installed on the gateways in the Security Gateways Auto Scaling group" diff --git a/terraform/aws/standalone-master/README.md b/terraform/aws/standalone-master/README.md index 452fe366..7e118be8 100755 --- a/terraform/aws/standalone-master/README.md +++ b/terraform/aws/standalone-master/README.md @@ -109,6 +109,7 @@ secret_key = "my-secret-key" standalone_version = "R81.20-BYOL" admin_shell = "/etc/cli.sh" standalone_password_hash = "" + standalone_maintenance_mode_password_hash = "" // --- Advanced Settings --- resources_tag_name = "tag-name" @@ -162,6 +163,7 @@ secret_key = "my-secret-key" | secondary_ntp | (Optional) The IPv4 addresses of Network Time Protocol secondary server | string | n/a | 0.pool.ntp.org | no | | admin_cidr | (CIDR) Allow web, ssh, and graphical clients only from this network to communicate with the Management Server | string | n/a | 0.0.0.0/0 | no | | gateway_addresses | (CIDR) Allow gateways only from this network to communicate with the Management Server | string | n/a | 0.0.0.0/0 | no | +| standalone_maintenance_mode_password_hash | (Optional) Gateway admin user's maintenance password hash (use command `openssl passwd -6 PASSWORD` to get the PASSWORD's hash), relevant only for R81.20 and higher versions | string | n/a | "" | no | ## Outputs @@ -188,7 +190,8 @@ In order to check the template version, please refer to [sk116585](https://suppo | 20230521 | - Change default shell for the admin user to /etc/cli.sh
- Add description for reserved words in hostname | | 20230806 | Add support for c6in instance type | | 20230829 | Change default Check Point version to R81.20 | -| 20231012 | Update AWS Terraform provider version to 5.20.1 | +| 20230914 | Add support for maintenance mode password | +| 20231012 | Update AWS Terraform Provider version to 5.20.1 | | 20231113 | Add support for BYOL license type for Standalone | ## License diff --git a/terraform/aws/standalone-master/locals.tf b/terraform/aws/standalone-master/locals.tf index e4c5ca14..e2e6ab47 100755 --- a/terraform/aws/standalone-master/locals.tf +++ b/terraform/aws/standalone-master/locals.tf @@ -31,4 +31,5 @@ locals { regex_valid_standalone_password_hash = "^[\\$\\./a-zA-Z0-9]*$" // Will fail if var.standalone_password_hash is invalid regex_standalone_password_hash = regex(local.regex_valid_standalone_password_hash, var.standalone_password_hash) == var.standalone_password_hash ? 0 : "Variable [standalone_password_hash] must be a valid password hash" + regex_maintenance_mode_password_hash = regex(local.regex_valid_standalone_password_hash, var.standalone_maintenance_mode_password_hash) == var.standalone_maintenance_mode_password_hash ? 0 : "Variable [standalone_maintenance_mode_password_hash] must be a valid password hash" } \ No newline at end of file diff --git a/terraform/aws/standalone-master/main.tf b/terraform/aws/standalone-master/main.tf index a49c8e3b..e6b8d999 100755 --- a/terraform/aws/standalone-master/main.tf +++ b/terraform/aws/standalone-master/main.tf @@ -50,6 +50,7 @@ module "launch_standalone_into_vpc" { standalone_version = var.standalone_version admin_shell = var.admin_shell standalone_password_hash = var.standalone_password_hash + standalone_maintenance_mode_password_hash = var.standalone_maintenance_mode_password_hash standalone_hostname = var.standalone_hostname allow_upload_download = var.allow_upload_download enable_cloudwatch = var.enable_cloudwatch diff --git a/terraform/aws/standalone-master/terraform.tfvars b/terraform/aws/standalone-master/terraform.tfvars index 9ec0508a..3ebcf2e5 100755 --- a/terraform/aws/standalone-master/terraform.tfvars +++ b/terraform/aws/standalone-master/terraform.tfvars @@ -28,6 +28,7 @@ instance_tags = { standalone_version = "R81.20-BYOL" admin_shell = "/etc/cli.sh" standalone_password_hash = "" +standalone_maintenance_mode_password_hash = "" // --- Advanced Settings --- resources_tag_name = "tag-name" diff --git a/terraform/aws/standalone-master/variables.tf b/terraform/aws/standalone-master/variables.tf index 6705eb60..8610c874 100755 --- a/terraform/aws/standalone-master/variables.tf +++ b/terraform/aws/standalone-master/variables.tf @@ -115,6 +115,11 @@ variable "standalone_password_hash" { description = "(Optional) Admin user's password hash (use command 'openssl passwd -6 PASSWORD' to get the PASSWORD's hash)" default = "" } +variable "standalone_maintenance_mode_password_hash" { + description = "(optional) Check Point recommends setting Admin user's password and maintenance-mode password for recovery purposes. For R81.10 and below the Admin user's password is used also as maintenance-mode password. (To generate a password hash use the command 'grub2-mkpasswd-pbkdf2' on Linux and paste it here)." + type = string + default = "" +} // --- Advanced Settings --- variable "resources_tag_name" { diff --git a/terraform/aws/standalone/README.md b/terraform/aws/standalone/README.md index 4fd9eb8b..ee831e6d 100755 --- a/terraform/aws/standalone/README.md +++ b/terraform/aws/standalone/README.md @@ -84,7 +84,7 @@ secret_key = "my-secret-key" standalone_version = "R81.20-BYOL" admin_shell = "/etc/cli.sh" standalone_password_hash = "" - + standalone_maintenance_mode_password_hash = "" // --- Advanced Settings --- resources_tag_name = "tag-name" standalone_hostname = "standalone-tf" @@ -140,6 +140,7 @@ secret_key = "my-secret-key" | secondary_ntp | (Optional) The IPv4 addresses of Network Time Protocol secondary server | string | n/a | 0.pool.ntp.org | no | | admin_cidr | (CIDR) Allow web, ssh, and graphical clients only from this network to communicate with the Management Server | string | n/a | 0.0.0.0/0 | no | | gateway_addresses | (CIDR) Allow gateways only from this network to communicate with the Management Server | string | n/a | 0.0.0.0/0 | no | +| standalone_maintenance_mode_password_hash | (Optional) Gateway admin user's maintenance password hash (use command `openssl passwd -6 PASSWORD` to get the PASSWORD's hash), relevant only for R81.20 and higher versions | string | n/a | "" | no | ## Outputs @@ -163,6 +164,7 @@ In order to check the template version, please refer to [sk116585](https://suppo | 20230521 | - Change default shell for the admin user to /etc/cli.sh
- Add description for reserved words in hostname | | 20230806 | Add support for c6in instance type | | 20230829 | Change default Check Point version to R81.20 | +| 20230914 | Add support for maintenance mode password | | 20230923 | Add support for C5d instance type | | 20231012 | Update AWS Terraform provider version to 5.20.1 | | 20231113 | Add support for BYOL license type for Standalone | diff --git a/terraform/aws/standalone/locals.tf b/terraform/aws/standalone/locals.tf index a3da2197..6e438e83 100755 --- a/terraform/aws/standalone/locals.tf +++ b/terraform/aws/standalone/locals.tf @@ -30,9 +30,12 @@ locals { regex_valid_standalone_password_hash = "^[\\$\\./a-zA-Z0-9]*$" // Will fail if var.standalone_password_hash is invalid regex_standalone_password_hash = regex(local.regex_valid_standalone_password_hash, var.standalone_password_hash) == var.standalone_password_hash ? 0 : "Variable [standalone_password_hash] must be a valid password hash" + regex_maintenance_mode_password_hash = regex(local.regex_valid_standalone_password_hash, var.standalone_maintenance_mode_password_hash) == var.standalone_maintenance_mode_password_hash ? 0 : "Variable [standalone_maintenance_mode_password_hash] must be a valid password hash" + //Splits the version and licence and returns the os version version_split = element(split("-", var.standalone_version), 0) standalone_bootstrap_script64 = base64encode(var.standalone_bootstrap_script) standalone_password_hash_base64 = base64encode(var.standalone_password_hash) + maintenance_mode_password_hash_base64 = base64encode(var.standalone_maintenance_mode_password_hash) } \ No newline at end of file diff --git a/terraform/aws/standalone/main.tf b/terraform/aws/standalone/main.tf index 81073d8b..2ffdfa05 100755 --- a/terraform/aws/standalone/main.tf +++ b/terraform/aws/standalone/main.tf @@ -113,6 +113,7 @@ resource "aws_instance" "standalone-instance" { // script's arguments Hostname = var.standalone_hostname, PasswordHash = local.standalone_password_hash_base64, + MaintenanceModePassword = local.maintenance_mode_password_hash_base64, AllowUploadDownload = var.allow_upload_download, EnableCloudWatch = var.enable_cloudwatch, NTPPrimary = var.primary_ntp, diff --git a/terraform/aws/standalone/standalone_userdata.yaml b/terraform/aws/standalone/standalone_userdata.yaml index d111c806..1bdf7eca 100755 --- a/terraform/aws/standalone/standalone_userdata.yaml +++ b/terraform/aws/standalone/standalone_userdata.yaml @@ -1,4 +1,4 @@ #cloud-config runcmd: - | - python3 /etc/cloud_config.py enableCloudWatch=\"${EnableCloudWatch}\" installationType=\"standalone\" osVersion=\"${OsVersion}\" allowUploadDownload=\"${AllowUploadDownload}\" templateVersion=\"20230923\" templateName=\"standalone\" templateType=\"terraform\" shell=\"${Shell}\" enableInstanceConnect=\"${EnableInstanceConnect}\" hostName=\"${Hostname }\" ntpPrimary=\"${NTPPrimary}\" ntpSecondary=\"${NTPSecondary}\" passwordHash=\"${PasswordHash}\" adminSubnet=\"${AdminSubnet}\" allocatePublicAddress=\"${AllocateElasticIP}\" bootstrapScript64=\"${StandaloneBootstrapScript}\" \ No newline at end of file + python3 /etc/cloud_config.py enableCloudWatch=\"${EnableCloudWatch}\" installationType=\"standalone\" osVersion=\"${OsVersion}\" allowUploadDownload=\"${AllowUploadDownload}\" templateVersion=\"20231012\" templateName=\"standalone\" templateType=\"terraform\" shell=\"${Shell}\" enableInstanceConnect=\"${EnableInstanceConnect}\" hostName=\"${Hostname }\" ntpPrimary=\"${NTPPrimary}\" ntpSecondary=\"${NTPSecondary}\" passwordHash=\"${PasswordHash}\" MaintenanceModePassword=\"${MaintenanceModePassword}\" adminSubnet=\"${AdminSubnet}\" allocatePublicAddress=\"${AllocateElasticIP}\" bootstrapScript64=\"${StandaloneBootstrapScript}\" \ No newline at end of file diff --git a/terraform/aws/standalone/terraform.tfvars b/terraform/aws/standalone/terraform.tfvars index b89f8dc1..78def85e 100755 --- a/terraform/aws/standalone/terraform.tfvars +++ b/terraform/aws/standalone/terraform.tfvars @@ -24,6 +24,7 @@ instance_tags = { standalone_version = "R81.20-BYOL" admin_shell = "/etc/cli.sh" standalone_password_hash = "" +standalone_maintenance_mode_password_hash = "" // --- Advanced Settings --- resources_tag_name = "tag-name" diff --git a/terraform/aws/standalone/variables.tf b/terraform/aws/standalone/variables.tf index 29097671..de1c9349 100755 --- a/terraform/aws/standalone/variables.tf +++ b/terraform/aws/standalone/variables.tf @@ -113,6 +113,11 @@ variable "standalone_password_hash" { description = "(Optional) Admin user's password hash (use command 'openssl passwd -6 PASSWORD' to get the PASSWORD's hash)" default = "" } +variable "standalone_maintenance_mode_password_hash" { + description = "(optional) Check Point recommends setting Admin user's password and maintenance-mode password for recovery purposes. For R81.10 and below the Admin user's password is used also as maintenance-mode password. (To generate a password hash use the command 'grub2-mkpasswd-pbkdf2' on Linux and paste it here)." + type = string + default = "" +} // --- Advanced Settings --- variable "resources_tag_name" { diff --git a/terraform/aws/tgw-asg/README.md b/terraform/aws/tgw-asg/README.md index c2adadf4..987b348b 100755 --- a/terraform/aws/tgw-asg/README.md +++ b/terraform/aws/tgw-asg/README.md @@ -101,6 +101,7 @@ secret_key = "my-secret-key" gateways_max_group_size = 8 gateway_version = "R81.20-BYOL" gateway_password_hash = "" + gateway_maintenance_mode_password_hash = "" # For R81.10 and below the gateway_password_hash is used also as maintenance-mode password. gateway_SICKey = "12345678" enable_cloudwatch = true asn = "6500" @@ -110,6 +111,7 @@ secret_key = "my-secret-key" management_instance_type = "m5.xlarge" management_version = "R81.20-BYOL" management_password_hash = "" + management_maintenance_mode_password_hash = "" # For R81.10 and below the management_password_hash is used also as maintenance-mode password. management_permissions = "Create with read-write permissions" management_predefined_role = "" gateways_blades = true @@ -174,6 +176,8 @@ secret_key = "my-secret-key" | control_gateway_over_public_or_private_address | Determines if the gateways are provisioned using their private or public address | string | - private
- public | private | no | | management_server | (Optional) The name that represents the Security Management Server in the automatic provisioning configuration | string | n/a | management-server | no | | configuration_template | (Optional) A name of a Security Gateway configuration template in the automatic provisioning configuration | string | n/a | TGW-ASG-configuration | no | +| gateway_maintenance_mode_password_hash | (Optional) Gateway admin user's maintenance password hash (use command `openssl passwd -6 PASSWORD` to get the PASSWORD's hash), relevant only for R81.20 and higher versions | string | n/a | "" | no | +| management_maintenance_mode_password_hash | (Optional) Management admin user's maintenance password hash (use command `openssl passwd -6 PASSWORD` to get the PASSWORD's hash), relevant only for R81.20 and higher versions | string | n/a | "" | no | ## Outputs @@ -198,6 +202,7 @@ In order to check the template version, please refer to [sk116585](https://suppo | 20230626 | Fixed missing x-chkp-* tags on Auto Scale Group | | 20230806 | Add support for c6in instance type | | 20230829 | Change default Check Point version to R81.20 | +| 20230914 | Add support for maintenance mode password | | 20230923 | Add support for C5d instance type | | 20231012 | Update AWS Terraform provider version to 5.20.1 | diff --git a/terraform/aws/tgw-asg/locals.tf b/terraform/aws/tgw-asg/locals.tf index ae8c8683..7ecd5cf4 100755 --- a/terraform/aws/tgw-asg/locals.tf +++ b/terraform/aws/tgw-asg/locals.tf @@ -31,10 +31,14 @@ locals { regex_valid_management_password_hash = "^[\\$\\./a-zA-Z0-9]*$" // Will fail if var.management_password_hash is invalid regex_management_password_hash = regex(local.regex_valid_management_password_hash, var.management_password_hash) == var.management_password_hash ? 0 : "Variable [management_password_hash] must be a valid password hash" + regex_management_maintenance_mode_password_hash = regex(local.regex_valid_management_password_hash, var.management_maintenance_mode_password_hash) == var.management_maintenance_mode_password_hash ? 0 : "Variable [management_maintenance_mode_password_hash] must be a valid password hash" + regex_valid_gateway_password_hash = "^[\\$\\./a-zA-Z0-9]*$" // Will fail if var.gateway_password_hash is invalid regex_gateway_password_hash = regex(local.regex_valid_gateway_password_hash, var.gateway_password_hash) == var.gateway_password_hash ? 0 : "Variable [gateway_password_hash] must be a valid password hash" + regex_gateway_maintenance_mode_password_hash = regex(local.regex_valid_gateway_password_hash, var.gateway_maintenance_mode_password_hash) == var.gateway_maintenance_mode_password_hash ? 0 : "Variable [gateway_maintenance_mode_password_hash] must be a valid password hash" + regex_valid_asn = "^[0-9]+$" // Will fail if var.asn is invalid diff --git a/terraform/aws/tgw-asg/main.tf b/terraform/aws/tgw-asg/main.tf index b4341e80..f9c77f26 100755 --- a/terraform/aws/tgw-asg/main.tf +++ b/terraform/aws/tgw-asg/main.tf @@ -21,6 +21,7 @@ module "autoscale" { maximum_group_size = var.gateways_max_group_size gateway_version = var.gateway_version gateway_password_hash = var.gateway_password_hash + gateway_maintenance_mode_password_hash = var.gateway_maintenance_mode_password_hash gateway_SICKey = var.gateway_SICKey allow_upload_download = var.allow_upload_download enable_cloudwatch = var.enable_cloudwatch @@ -52,6 +53,7 @@ module "management" { predefined_role = var.management_predefined_role management_version = var.management_version management_password_hash = var.management_password_hash + management_maintenance_mode_password_hash = var.management_maintenance_mode_password_hash allow_upload_download = var.allow_upload_download admin_cidr = var.admin_cidr gateway_addresses = var.gateways_addresses diff --git a/terraform/aws/tgw-asg/terraform.tfvars b/terraform/aws/tgw-asg/terraform.tfvars index 3d6675a4..7c512fab 100755 --- a/terraform/aws/tgw-asg/terraform.tfvars +++ b/terraform/aws/tgw-asg/terraform.tfvars @@ -18,6 +18,7 @@ gateways_min_group_size = 2 gateways_max_group_size = 8 gateway_version = "R81.20-BYOL" gateway_password_hash = "" +gateway_maintenance_mode_password_hash = "" # For R81.10 and below the gateway_password_hash is used also as maintenance-mode password. gateway_SICKey = "12345678" enable_cloudwatch = true asn = "65000" @@ -27,6 +28,7 @@ management_deploy = true management_instance_type = "m5.xlarge" management_version = "R81.20-BYOL" management_password_hash = "12345678" +management_maintenance_mode_password_hash = "" # For R81.10 and below the management_password_hash is used also as maintenance-mode password. management_permissions = "Create with read-write permissions" management_predefined_role = "" gateways_blades = true diff --git a/terraform/aws/tgw-asg/variables.tf b/terraform/aws/tgw-asg/variables.tf index 8d7ffc01..1000e03b 100755 --- a/terraform/aws/tgw-asg/variables.tf +++ b/terraform/aws/tgw-asg/variables.tf @@ -97,6 +97,11 @@ variable "gateway_password_hash" { description = "(Optional) Admin user's password hash (use command 'openssl passwd -6 PASSWORD' to get the PASSWORD's hash)" default = "" } +variable "gateway_maintenance_mode_password_hash" { + description = "(optional) Check Point recommends setting Admin user's password and maintenance-mode password for recovery purposes. For R81.10 and below the Admin user's password is used also as maintenance-mode password. (To generate a password hash use the command 'grub2-mkpasswd-pbkdf2' on Linux and paste it here)." + type = string + default = "" +} variable "gateway_SICKey" { type = string description = "The Secure Internal Communication key for trusted connection between Check Point components. Choose a random string consisting of at least 8 alphanumeric characters" diff --git a/terraform/aws/tgw-cross-az-cluster-master/README.md b/terraform/aws/tgw-cross-az-cluster-master/README.md index ecf0c96f..23cd96ec 100755 --- a/terraform/aws/tgw-cross-az-cluster-master/README.md +++ b/terraform/aws/tgw-cross-az-cluster-master/README.md @@ -98,7 +98,7 @@ secret_key = "my-secret-key" admin_shell = "/etc/cli.sh" gateway_SICKey = "12345678" gateway_password_hash = "" - + gateway_maintenance_mode_password_hash = "" # For R81.10 and below the gateway_password_hash is used also as maintenance-mode password. // --- Quick connect to Smart-1 Cloud (Recommended) --- memberAToken = "" memberBToken = "" @@ -170,6 +170,7 @@ secret_key = "my-secret-key" | gateway_bootstrap_script | (Optional) Semicolon (;) separated commands to run on the initial boot | string | n/a | "" | no | | primary_ntp | (Optional) The IPv4 addresses of Network Time Protocol primary server | string | n/a | 169.254.169.123 | no | | secondary_ntp | (Optional) The IPv4 addresses of Network Time Protocol secondary server | string | n/a | 0.pool.ntp.org | no | +| gateway_maintenance_mode_password_hash | (Optional) Gateway admin user's maintenance password hash (use command `openssl passwd -6 PASSWORD` to get the PASSWORD's hash), relevant only for R81.20 and higher versions | string | n/a | "" | no | ## Outputs @@ -196,6 +197,7 @@ In order to check the template version, please refer to [sk116585](https://suppo | 20230521 | - Change default shell for the admin user to /etc/cli.sh
- Add description for reserved words in hostname | | 20230829 | Change default Check Point version to R81.20 | | 20230806 | Add support for c6in instance type | +| 20230914 | Add support for maintenance mode password | | 20230923 | Add support for C5d instance type | | 20231012 | Update AWS Terraform provider version to 5.20.1 | diff --git a/terraform/aws/tgw-cross-az-cluster-master/locals.tf b/terraform/aws/tgw-cross-az-cluster-master/locals.tf index d251bfde..387fb7c1 100755 --- a/terraform/aws/tgw-cross-az-cluster-master/locals.tf +++ b/terraform/aws/tgw-cross-az-cluster-master/locals.tf @@ -40,6 +40,7 @@ locals { regex_valid_gateway_password_hash = "^[\\$\\./a-zA-Z0-9]*$" // Will fail if var.gateway_password_hash is invalid regex_gateway_password_hash = regex(local.regex_valid_gateway_password_hash, var.gateway_password_hash) == var.gateway_password_hash ? 0 : "Variable [gateway_password_hash] must be a valid password hash" + regex_gateway_maintenance_mode_password_hash = regex(local.regex_valid_gateway_password_hash, var.gateway_maintenance_mode_password_hash) == var.gateway_maintenance_mode_password_hash ? 0 : "Variable [gateway_maintenance_mode_password_hash] must be a valid password hash" regex_valid_primary_ntp = "^[\\.a-zA-Z0-9\\-]*$" // Will fail if var.primary_ntp is invalid diff --git a/terraform/aws/tgw-cross-az-cluster-master/main.tf b/terraform/aws/tgw-cross-az-cluster-master/main.tf index e2aa6599..16f2fe11 100755 --- a/terraform/aws/tgw-cross-az-cluster-master/main.tf +++ b/terraform/aws/tgw-cross-az-cluster-master/main.tf @@ -58,6 +58,7 @@ module "tgw_cluster_into_vpc" { admin_shell = var.admin_shell gateway_SICKey = var.gateway_SICKey gateway_password_hash = var.gateway_password_hash + gateway_maintenance_mode_password_hash = var.gateway_maintenance_mode_password_hash memberAToken = var.memberAToken memberBToken = var.memberBToken resources_tag_name = var.resources_tag_name diff --git a/terraform/aws/tgw-cross-az-cluster-master/terraform.tfvars b/terraform/aws/tgw-cross-az-cluster-master/terraform.tfvars index b78fc9b8..352b9dac 100755 --- a/terraform/aws/tgw-cross-az-cluster-master/terraform.tfvars +++ b/terraform/aws/tgw-cross-az-cluster-master/terraform.tfvars @@ -32,7 +32,7 @@ gateway_version = "R81.20-BYOL" admin_shell = "/etc/cli.sh" gateway_SICKey = "12345678" gateway_password_hash = "" - +gateway_maintenance_mode_password_hash = "" # For R81.10 and below the gateway_password_hash is used also as maintenance-mode password. // --- Quick connect to Smart-1 Cloud (Recommended) --- memberAToken = "" memberBToken = "" diff --git a/terraform/aws/tgw-cross-az-cluster-master/variables.tf b/terraform/aws/tgw-cross-az-cluster-master/variables.tf index eb2dfe33..725be048 100755 --- a/terraform/aws/tgw-cross-az-cluster-master/variables.tf +++ b/terraform/aws/tgw-cross-az-cluster-master/variables.tf @@ -142,7 +142,11 @@ variable "gateway_password_hash" { description = "(Optional) Admin user's password hash (use command 'openssl passwd -6 PASSWORD' to get the PASSWORD's hash)" default = "" } - +variable "gateway_maintenance_mode_password_hash" { + description = "Maintenance mode password hash for the gateway instances, relevant only for R81.20 and higher versions" + type = string + default = "" +} // --- Quick connect to Smart-1 Cloud (Recommended) --- variable "memberAToken" { type = string diff --git a/terraform/aws/tgw-cross-az-cluster/README.md b/terraform/aws/tgw-cross-az-cluster/README.md index 7acf8f95..2161bc22 100755 --- a/terraform/aws/tgw-cross-az-cluster/README.md +++ b/terraform/aws/tgw-cross-az-cluster/README.md @@ -92,6 +92,7 @@ secret_key = "my-secret-key" admin_shell = "/etc/cli.sh" gateway_SICKey = "12345678" gateway_password_hash = "" + gateway_maintenance_mode_password_hash = "" # For R81.10 and below the gateway_password_hash is used also as maintenance-mode password. // --- Quick connect to Smart-1 Cloud (Recommended) --- memberAToken = "" @@ -165,6 +166,8 @@ secret_key = "my-secret-key" | gateway_bootstrap_script | (Optional) Semicolon (;) separated commands to run on the initial boot | string | n/a | "" | no | | primary_ntp | (Optional) The IPv4 addresses of Network Time Protocol primary server | string | n/a | 169.254.169.123 | no | | secondary_ntp | (Optional) The IPv4 addresses of Network Time Protocol secondary server | string | n/a | 0.pool.ntp.org | no | +| gateway_maintenance_mode_password_hash | (Optional) Gateway admin user's maintenance password hash (use command `openssl passwd -6 PASSWORD` to get the PASSWORD's hash), relevant only for R81.20 and higher versions | string | n/a | "" | no | +| management_maintenance_mode_password_hash | (Optional) Management admin user's maintenance password hash (use command `openssl passwd -6 PASSWORD` to get the PASSWORD's hash), relevant only for R81.20 and higher versions | string | n/a | "" | no | ## Outputs @@ -191,6 +194,7 @@ In order to check the template version, please refer to [sk116585](https://suppo | 20230521 | - Change default shell for the admin user to /etc/cli.sh
- Add description for reserved words in hostname | | 20230806 | Add support for c6in instance type | | 20230829 | Change default Check Point version to R81.20 | +| 20230914 | Add support for maintenance mode password | | 20230923 | Add support for C5d instance type | | 20231012 | Update AWS Terraform provider version to 5.20.1 | diff --git a/terraform/aws/tgw-cross-az-cluster/locals.tf b/terraform/aws/tgw-cross-az-cluster/locals.tf index b03f7323..9a9929b7 100755 --- a/terraform/aws/tgw-cross-az-cluster/locals.tf +++ b/terraform/aws/tgw-cross-az-cluster/locals.tf @@ -38,6 +38,7 @@ locals { regex_valid_gateway_password_hash = "^[\\$\\./a-zA-Z0-9]*$" // Will fail if var.gateway_password_hash is invalid regex_gateway_password_hash = regex(local.regex_valid_gateway_password_hash, var.gateway_password_hash) == var.gateway_password_hash ? 0 : "Variable [gateway_password_hash] must be a valid password hash" + regex_gateway_maintenance_mode_password_hash = regex(local.regex_valid_gateway_password_hash, var.gateway_maintenance_mode_password_hash) == var.gateway_maintenance_mode_password_hash ? 0 : "Variable [gateway_maintenance_mode_password_hash] must be a valid password hash" regex_valid_primary_ntp = "^[\\.a-zA-Z0-9\\-]*$" // Will fail if var.primary_ntp is invalid diff --git a/terraform/aws/tgw-cross-az-cluster/main.tf b/terraform/aws/tgw-cross-az-cluster/main.tf index e721e3a1..3db48741 100755 --- a/terraform/aws/tgw-cross-az-cluster/main.tf +++ b/terraform/aws/tgw-cross-az-cluster/main.tf @@ -28,6 +28,7 @@ module "cluster_into_vpc" { admin_shell = var.admin_shell gateway_SICKey = var.gateway_SICKey gateway_password_hash = var.gateway_password_hash + gateway_maintenance_mode_password_hash = var.gateway_maintenance_mode_password_hash memberAToken = var.memberAToken memberBToken = var.memberBToken resources_tag_name = var.resources_tag_name diff --git a/terraform/aws/tgw-cross-az-cluster/terraform.tfvars b/terraform/aws/tgw-cross-az-cluster/terraform.tfvars index 17d0b767..46b50e68 100755 --- a/terraform/aws/tgw-cross-az-cluster/terraform.tfvars +++ b/terraform/aws/tgw-cross-az-cluster/terraform.tfvars @@ -26,6 +26,7 @@ gateway_version = "R81.20-BYOL" admin_shell = "/etc/cli.sh" gateway_SICKey = "12345678" gateway_password_hash = "" +gateway_maintenance_mode_password_hash = "" # For R81.10 and below the gateway_password_hash is used also as maintenance-mode password. // --- Quick connect to Smart-1 Cloud (Recommended) --- memberAToken = "" diff --git a/terraform/aws/tgw-cross-az-cluster/variables.tf b/terraform/aws/tgw-cross-az-cluster/variables.tf index 16d916da..65c9f3e6 100755 --- a/terraform/aws/tgw-cross-az-cluster/variables.tf +++ b/terraform/aws/tgw-cross-az-cluster/variables.tf @@ -143,7 +143,11 @@ variable "gateway_password_hash" { description = "(Optional) Admin user's password hash (use command 'openssl passwd -6 PASSWORD' to get the PASSWORD's hash)" default = "" } - +variable "gateway_maintenance_mode_password_hash" { + description = "Maintenance mode password hash for the gateway instances, relevant only for R81.20 and higher versions" + type = string + default = "" +} // --- Quick connect to Smart-1 Cloud (Recommended) --- variable "memberAToken" { type = string diff --git a/terraform/aws/tgw-gwlb-master/README.md b/terraform/aws/tgw-gwlb-master/README.md index 8d4f98f3..afb4e064 100755 --- a/terraform/aws/tgw-gwlb-master/README.md +++ b/terraform/aws/tgw-gwlb-master/README.md @@ -136,6 +136,7 @@ secret_key = "my-secret-key" maximum_group_size = 10 gateway_version = "R81.20-BYOL" gateway_password_hash = "" + gateway_maintenance_mode_password_hash = "" # For R81.10 and below the gateway_password_hash is used also as maintenance-mode password. gateway_SICKey = "12345678" gateways_provision_address_type = "private" allocate_public_IP = false @@ -147,6 +148,7 @@ secret_key = "my-secret-key" management_instance_type = "m5.xlarge" management_version = "R81.20-BYOL" management_password_hash = "" + management_maintenance_mode_password_hash = "" # For R81.10 and below the management_password_hash is used also as maintenance-mode password. gateways_policy = "Standard" gateway_management = "Locally managed" admin_cidr = "" @@ -237,6 +239,8 @@ a | admin_cidr | (CIDR) Allow web, ssh, and graphical clients only from this network to communicate with the Management Server | string | valid CIDR | n/a | no | | gateway_addresses | (CIDR) Allow gateways only from this network to communicate with the Management Server | string | valid CIDR | n/a | no | | volume_type | General Purpose SSD Volume Type | string | - gp3
- gp2 | gp3 | no | +| gateway_maintenance_mode_password_hash | (Optional) Gateway admin user's maintenance password hash (use command `openssl passwd -6 PASSWORD` to get the PASSWORD's hash), relevant only for R81.20 and higher versions | string | n/a | "" | no | +| management_maintenance_mode_password_hash | (Optional) Management admin user's maintenance password hash (use command `openssl passwd -6 PASSWORD` to get the PASSWORD's hash), relevant only for R81.20 and higher versions | string | n/a | "" | no | ## Outputs @@ -264,6 +268,7 @@ In order to check the template version, please refer to [sk116585](https://suppo | 20230806 | Add support for c6in instance type | | 20230829 | Change default Check Point version to R81.20 | | 20230910 | Add bootstrap script execution option for deployed gateways | +| 20230914 | Add support for maintenance mode password | | 20230923 | Add support for C5d instance type | | 20231012 | Update AWS Terraform provider version to 5.20.1 | diff --git a/terraform/aws/tgw-gwlb-master/locals.tf b/terraform/aws/tgw-gwlb-master/locals.tf index 5c045d4d..d75eeaa5 100755 --- a/terraform/aws/tgw-gwlb-master/locals.tf +++ b/terraform/aws/tgw-gwlb-master/locals.tf @@ -26,10 +26,11 @@ locals { regex_valid_management_password_hash = "^[\\$\\./a-zA-Z0-9]*$" // Will fail if var.management_password_hash is invalid regex_management_password_hash = regex(local.regex_valid_management_password_hash, var.management_password_hash) == var.management_password_hash ? 0 : "Variable [management_password_hash] must be a valid password hash" - + regex_management_maintenance_mode_password_hash = regex(local.regex_valid_management_password_hash, var.management_maintenance_mode_password_hash) == var.management_maintenance_mode_password_hash ? 0 : "Variable [management_maintenance_mode_password_hash] must be a valid password hash" regex_valid_gateway_password_hash = "^[\\$\\./a-zA-Z0-9]*$" // Will fail if var.gateway_password_hash is invalid regex_gateway_password_hash = regex(local.regex_valid_gateway_password_hash, var.gateway_password_hash) == var.gateway_password_hash ? 0 : "Variable [gateway_password_hash] must be a valid password hash" + regex_gateway_maintenance_mode_password_hash = regex(local.regex_valid_gateway_password_hash, var.gateway_maintenance_mode_password_hash) == var.gateway_maintenance_mode_password_hash ? 0 : "Variable [gateway_maintenance_mode_password_hash] must be a valid password hash" regex_valid_admin_cidr = "^([0-9]{1,3}\\.){3}[0-9]{1,3}/([0-9]|[1-2][0-9]|3[0-2])$" diff --git a/terraform/aws/tgw-gwlb-master/main.tf b/terraform/aws/tgw-gwlb-master/main.tf index dd913ed7..4233d206 100755 --- a/terraform/aws/tgw-gwlb-master/main.tf +++ b/terraform/aws/tgw-gwlb-master/main.tf @@ -62,6 +62,7 @@ module "tgw-gwlb"{ maximum_group_size = var.maximum_group_size gateway_version = var.gateway_version gateway_password_hash = var.gateway_password_hash + gateway_maintenance_mode_password_hash = var.gateway_maintenance_mode_password_hash gateway_SICKey = var.gateway_SICKey gateways_provision_address_type = var.gateways_provision_address_type allocate_public_IP = var.allocate_public_IP @@ -73,6 +74,7 @@ module "tgw-gwlb"{ management_instance_type = var.management_instance_type management_version = var.management_version management_password_hash = var.management_password_hash + management_maintenance_mode_password_hash = var.management_maintenance_mode_password_hash gateways_policy = var.gateways_policy gateway_management = var.gateway_management admin_cidr = var.admin_cidr diff --git a/terraform/aws/tgw-gwlb-master/terraform.tfvars b/terraform/aws/tgw-gwlb-master/terraform.tfvars index 069c0e1b..8dd4681a 100755 --- a/terraform/aws/tgw-gwlb-master/terraform.tfvars +++ b/terraform/aws/tgw-gwlb-master/terraform.tfvars @@ -52,6 +52,7 @@ minimum_group_size = 2 maximum_group_size = 10 gateway_version = "R81.20-BYOL" gateway_password_hash = "" +gateway_maintenance_mode_password_hash = "" # For R81.10 and below the gateway_password_hash is used also as maintenance-mode password. gateway_SICKey = "12345678" gateways_provision_address_type = "private" allocate_public_IP = false @@ -63,6 +64,7 @@ management_deploy = true management_instance_type = "m5.xlarge" management_version = "R81.20-BYOL" management_password_hash = "" +management_maintenance_mode_password_hash = "" # For R81.10 and below the management_password_hash is used also as maintenance-mode password. gateways_policy = "Standard" gateway_management = "Locally managed" admin_cidr = "0.0.0.0/0" diff --git a/terraform/aws/tgw-gwlb-master/variables.tf b/terraform/aws/tgw-gwlb-master/variables.tf index 6a439084..788de570 100755 --- a/terraform/aws/tgw-gwlb-master/variables.tf +++ b/terraform/aws/tgw-gwlb-master/variables.tf @@ -221,6 +221,11 @@ variable "gateway_password_hash" { type = string description = "(Optional) Admin user's password hash (use command 'openssl passwd -6 PASSWORD' to get the PASSWORD's hash)" } +variable "gateway_maintenance_mode_password_hash" { + description = "Maintenance mode password hash for the gateway instances, relevant only for R81.20 and higher versions" + type = string + default = "" +} variable "gateway_SICKey" { type = string description = "The Secure Internal Communication key for trusted connection between Check Point components (at least 8 alphanumeric characters)" @@ -290,6 +295,11 @@ variable "management_password_hash" { description = "(Optional) Admin user's password hash (use command 'openssl passwd -6 PASSWORD' to get the PASSWORD's hash)" default = "" } +variable "management_maintenance_mode_password_hash" { + description = "Maintenance mode password hash for the management instance, relevant only for R81.20 and higher versions" + type = string + default = "" +} variable "gateways_policy" { type = string description = "The name of the Security Policy package to be installed on the gateways in the Security Gateways Auto Scaling group" diff --git a/terraform/aws/tgw-gwlb/README.md b/terraform/aws/tgw-gwlb/README.md index b727d6ce..b516740d 100755 --- a/terraform/aws/tgw-gwlb/README.md +++ b/terraform/aws/tgw-gwlb/README.md @@ -131,6 +131,7 @@ secret_key = "my-secret-key" maximum_group_size = 10 gateway_version = "R81.20-BYOL" gateway_password_hash = "" + gateway_maintenance_mode_password_hash = "" # For R81.10 and below the gateway_password_hash is used also as maintenance-mode password. gateway_SICKey = "12345678" gateways_provision_address_type = "private" allocate_public_IP = false @@ -142,6 +143,7 @@ secret_key = "my-secret-key" management_instance_type = "m5.xlarge" management_version = "R81.20-BYOL" management_password_hash = "" + management_maintenance_mode_password_hash = "" # For R81.10 and below the management_password_hash is used also as maintenance-mode password. gateways_policy = "Standard" gateway_management = "Locally managed" admin_cidr = "" @@ -237,6 +239,8 @@ secret_key = "my-secret-key" | admin_cidr | (CIDR) Allow web, ssh, and graphical clients only from this network to communicate with the Management Server | string | valid CIDR | n/a | no | | gateway_addresses | (CIDR) Allow gateways only from this network to communicate with the Management Server | string | valid CIDR | n/a | no | | volume_type | General Purpose SSD Volume Type | string | - gp3
- gp2 | gp3 | no | +| gateway_maintenance_mode_password_hash | (Optional) Gateway admin user's maintenance password hash (use command `openssl passwd -6 PASSWORD` to get the PASSWORD's hash), relevant only for R81.20 and higher versions | string | n/a | "" | no | +| management_maintenance_mode_password_hash | (Optional) Management admin user's maintenance password hash (use command `openssl passwd -6 PASSWORD` to get the PASSWORD's hash), relevant only for R81.20 and higher versions | string | n/a | "" | no | ## Outputs @@ -264,6 +268,7 @@ In order to check the template version, please refer to [sk116585](https://suppo | 20230806 | Add support for c6in instance type | | 20230829 | Change default Check Point version to R81.20 | | 20230910 | Add bootstrap script execution option for deployed gateways | +| 20230914 | Add support for maintenance mode password | | 20230923 | Add support for C5d instance type | | 20231012 | Update AWS Terraform provider version to 5.20.1 | diff --git a/terraform/aws/tgw-gwlb/locals.tf b/terraform/aws/tgw-gwlb/locals.tf index 6ae61560..0693df6d 100755 --- a/terraform/aws/tgw-gwlb/locals.tf +++ b/terraform/aws/tgw-gwlb/locals.tf @@ -23,10 +23,12 @@ locals { regex_valid_management_password_hash = "^[\\$\\./a-zA-Z0-9]*$" // Will fail if var.management_password_hash is invalid regex_management_password_hash = regex(local.regex_valid_management_password_hash, var.management_password_hash) == var.management_password_hash ? 0 : "Variable [management_password_hash] must be a valid password hash" + regex_management_maintenance_mode_password_hash = regex(local.regex_valid_management_password_hash, var.management_maintenance_mode_password_hash) == var.management_maintenance_mode_password_hash ? 0 : "Variable [management_maintenance_mode_password_hash] must be a valid password hash" regex_valid_gateway_password_hash = "^[\\$\\./a-zA-Z0-9]*$" // Will fail if var.gateway_password_hash is invalid regex_gateway_password_hash = regex(local.regex_valid_gateway_password_hash, var.gateway_password_hash) == var.gateway_password_hash ? 0 : "Variable [gateway_password_hash] must be a valid password hash" + regex_gateway_maintenance_mode_password_hash = regex(local.regex_valid_gateway_password_hash, var.gateway_maintenance_mode_password_hash) == var.gateway_maintenance_mode_password_hash ? 0 : "Variable [gateway_maintenance_mode_password_hash] must be a valid password hash" regex_valid_admin_cidr = "^([0-9]{1,3}\\.){3}[0-9]{1,3}/([0-9]|[1-2][0-9]|3[0-2])$" diff --git a/terraform/aws/tgw-gwlb/main.tf b/terraform/aws/tgw-gwlb/main.tf index 1dd90b74..94390b20 100755 --- a/terraform/aws/tgw-gwlb/main.tf +++ b/terraform/aws/tgw-gwlb/main.tf @@ -255,6 +255,7 @@ module "gwlb" { maximum_group_size = var.maximum_group_size gateway_version = var.gateway_version gateway_password_hash = var.gateway_password_hash + gateway_maintenance_mode_password_hash = var.gateway_maintenance_mode_password_hash gateway_SICKey = var.gateway_SICKey gateways_provision_address_type = var.gateways_provision_address_type allocate_public_IP = var.allocate_public_IP @@ -266,6 +267,7 @@ module "gwlb" { management_instance_type = var.management_instance_type management_version = var.management_version management_password_hash = var.management_password_hash + management_maintenance_mode_password_hash = var.management_maintenance_mode_password_hash gateways_policy = var.gateways_policy gateway_management = var.gateway_management admin_cidr = var.admin_cidr diff --git a/terraform/aws/tgw-gwlb/terraform.tfvars b/terraform/aws/tgw-gwlb/terraform.tfvars index a3432a8e..2cc64a14 100755 --- a/terraform/aws/tgw-gwlb/terraform.tfvars +++ b/terraform/aws/tgw-gwlb/terraform.tfvars @@ -45,6 +45,7 @@ minimum_group_size = 2 maximum_group_size = 10 gateway_version = "R81.20-BYOL" gateway_password_hash = "" +gateway_maintenance_mode_password_hash = "" # For R81.10 and below the gateway_password_hash is used also as maintenance-mode password. gateway_SICKey = "12345678" gateways_provision_address_type = "private" allocate_public_IP = false @@ -56,6 +57,7 @@ management_deploy = true management_instance_type = "m5.xlarge" management_version = "R81.20-BYOL" management_password_hash = "" +management_maintenance_mode_password_hash = "" # For R81.10 and below the management_password_hash is used also as maintenance-mode password. gateways_policy = "Standard" gateway_management = "Locally managed" admin_cidr = "0.0.0.0/0" diff --git a/terraform/aws/tgw-gwlb/variables.tf b/terraform/aws/tgw-gwlb/variables.tf index 0620066e..6fda77eb 100755 --- a/terraform/aws/tgw-gwlb/variables.tf +++ b/terraform/aws/tgw-gwlb/variables.tf @@ -229,6 +229,11 @@ variable "gateway_password_hash" { type = string description = "(Optional) Admin user's password hash (use command 'openssl passwd -6 PASSWORD' to get the PASSWORD's hash)" } +variable "gateway_maintenance_mode_password_hash" { + description = "Maintenance mode password hash for the gateway instances, relevant only for R81.20 and higher versions" + type = string + default = "" +} variable "gateway_SICKey" { type = string description = "The Secure Internal Communication key for trusted connection between Check Point components (at least 8 alphanumeric characters)" @@ -297,6 +302,11 @@ variable "management_password_hash" { description = "(Optional) Admin user's password hash (use command 'openssl passwd -6 PASSWORD' to get the PASSWORD's hash)" default = "" } +variable "management_maintenance_mode_password_hash" { + description = "Maintenance mode password hash for the management instance, relevant only for R81.20 and higher versions" + type = string + default = "" +} variable "gateways_policy" { type = string description = "The name of the Security Policy package to be installed on the gateways in the Security Gateways Auto Scaling group" From 38b9f41fd1cfed8aeb4a5384853bbea88210539e Mon Sep 17 00:00:00 2001 From: yizhako Date: Wed, 7 Feb 2024 22:34:04 +0200 Subject: [PATCH 2/2] changed description and add log server support --- terraform/aws/gwlb-master/README.md | 4 ++-- terraform/aws/gwlb/README.md | 4 ++-- terraform/aws/management/README.md | 7 ++++--- terraform/aws/management/locals.tf | 6 ++++++ terraform/aws/management/main.tf | 2 +- terraform/aws/management/management_userdata.yaml | 2 +- terraform/aws/management/terraform.tfvars | 2 +- terraform/aws/management/variables.tf | 8 ++++---- terraform/aws/qs-autoscale-master/README.md | 4 ++-- terraform/aws/qs-autoscale/README.md | 4 ++-- terraform/aws/standalone-master/README.md | 2 +- terraform/aws/standalone/README.md | 2 +- terraform/aws/tgw-asg/README.md | 4 ++-- terraform/aws/tgw-asg/variables.tf | 5 +++++ terraform/aws/tgw-cross-az-cluster-master/README.md | 2 +- terraform/aws/tgw-cross-az-cluster/README.md | 4 ++-- terraform/aws/tgw-gwlb-master/README.md | 4 ++-- terraform/aws/tgw-gwlb/README.md | 4 ++-- 18 files changed, 41 insertions(+), 29 deletions(-) diff --git a/terraform/aws/gwlb-master/README.md b/terraform/aws/gwlb-master/README.md index df71a9fe..7e7a231d 100755 --- a/terraform/aws/gwlb-master/README.md +++ b/terraform/aws/gwlb-master/README.md @@ -195,8 +195,8 @@ secret_key = "my-secret-key" | admin_cidr | (CIDR) Allow web, ssh, and graphical clients only from this network to communicate with the Management Server | string | valid CIDR | n/a | no | | gateway_addresses | (CIDR) Allow gateways only from this network to communicate with the Management Server | string | valid CIDR | n/a | no | | volume_type | General Purpose SSD Volume Type | string | - gp3
- gp2 | gp3 | no | -| gateway_maintenance_mode_password_hash | (Optional) Gateway admin user's maintenance password hash (use command `openssl passwd -6 PASSWORD` to get the PASSWORD's hash), relevant only for R81.20 and higher versions | string | n/a | ""| no | -| management_maintenance_mode_password_hash | (Optional) Management admin user's maintenance password hash (use command `openssl passwd -6 PASSWORD` to get the PASSWORD's hash), relevant only for R81.20 and higher versions | string | n/a | ""| no | +| gateway_maintenance_mode_password_hash | Check Point recommends setting Admin user's password and maintenance-mode password for recovery purposes. For R81.10 and below the Admin user's password is used also as maintenance-mode password. (To generate a password hash use the command "grub2-mkpasswd-pbkdf2" on Linux and paste it here). (optional) | string | n/a | ""| no | +| management_maintenance_mode_password_hash | Check Point recommends setting Admin user's password and maintenance-mode password for recovery purposes. For R81.10 and below the Admin user's password is used also as maintenance-mode password. (To generate a password hash use the command "grub2-mkpasswd-pbkdf2" on Linux and paste it here). (optional) | string | n/a | ""| no | ## Outputs diff --git a/terraform/aws/gwlb/README.md b/terraform/aws/gwlb/README.md index 8482b9d5..41a47ad4 100755 --- a/terraform/aws/gwlb/README.md +++ b/terraform/aws/gwlb/README.md @@ -187,8 +187,8 @@ secret_key = "my-secret-key" | admin_cidr | (CIDR) Allow web, ssh, and graphical clients only from this network to communicate with the Management Server | string | valid CIDR | n/a | no | | gateway_addresses | (CIDR) Allow gateways only from this network to communicate with the Management Server | string | valid CIDR | n/a | no | | volume_type | General Purpose SSD Volume Type | string | - gp3
- gp2 | gp3 | no | -| gateway_maintenance_mode_password_hash | (Optional) Gateway admin user's maintenance password hash (use command `openssl passwd -6 PASSWORD` to get the PASSWORD's hash), relevant only for R81.20 and higher versions | string | n/a | "" | no | -| management_maintenance_mode_password_hash | (Optional) Management admin user's maintenance password hash (use command `openssl passwd -6 PASSWORD` to get the PASSWORD's hash), relevant only for R81.20 and higher versions | string | n/a | "" | no | +| gateway_maintenance_mode_password_hash | Check Point recommends setting Admin user's password and maintenance-mode password for recovery purposes. For R81.10 and below the Admin user's password is used also as maintenance-mode password. (To generate a password hash use the command "grub2-mkpasswd-pbkdf2" on Linux and paste it here). (optional) | string | n/a | "" | no | +| management_maintenance_mode_password_hash | Check Point recommends setting Admin user's password and maintenance-mode password for recovery purposes. For R81.10 and below the Admin user's password is used also as maintenance-mode password. (To generate a password hash use the command "grub2-mkpasswd-pbkdf2" on Linux and paste it here). (optional) | string | n/a | "" | no | ## Outputs | Name | Description | diff --git a/terraform/aws/management/README.md b/terraform/aws/management/README.md index aefd1dba..012433e1 100755 --- a/terraform/aws/management/README.md +++ b/terraform/aws/management/README.md @@ -109,7 +109,7 @@ secret_key = "my-secret-key" management_maintenance_mode_password_hash = "" # For R81.10 and below the management_password_hash is used also as maintenance-mode password. // --- Security Management Server Settings --- management_hostname = "mgmt-tf" - is_primary_management = "true" + management_installation_type = "Primary management" SICKey = "" allow_upload_download = "true" gateway_management = "Locally managed" @@ -155,7 +155,7 @@ secret_key = "my-secret-key" | admin_shell | Set the admin shell to enable advanced command line configuration | string | - /etc/cli.sh
- /bin/bash
- /bin/csh
- /bin/tcsh | /etc/cli.sh | no | | management_password_hash | (Optional) Admin user's password hash (use command "openssl passwd -6 PASSWORD" to get the PASSWORD's hash) | string | n/a | "" | no | | management_hostname | (Optional) Security Management Server prompt hostname. The name must not contain reserved words. For details, refer to sk40179. | string | n/a | "" | no | -| is_primary_management | Determines if this is the primary management server or not | bool | true/false | true | no | +| management_installation_type | Determines if this is the primary management server, secondary management server or log server | string | - Primary management
- Secondary management
- Log Server
| Primary management | yes | | SICKey | Mandatory only when deploying a secondary Management Server, the Secure Internal Communication key creates trusted connections between Check Point components. Choose a random string consisting of at least 8 alphanumeric characters | string | n/a | "" | no | | allow_upload_download | Automatically download Blade Contracts and other important data. Improve product experience by sending data to Check Point | bool | true/false | true | no | | gateway_management | Select 'Over the internet' if any of the gateways you wish to manage are not directly accessed via their private IP address | string | - Locally managed
- Over the internet | Locally managed | no | @@ -164,7 +164,7 @@ secret_key = "my-secret-key" | primary_ntp | (Optional) The IPv4 addresses of Network Time Protocol primary server | string | n/a | 169.254.169.123 | no | | secondary_ntp | (Optional) The IPv4 addresses of Network Time Protocol secondary server | string | n/a | 0.pool.ntp.org | no | | management_bootstrap_script | (Optional) Semicolon (;) separated commands to run on the initial boot | string | n/a | "" | no | -| management_maintenance_mode_password_hash | (Optional) Management admin user's maintenance password hash (use command `openssl passwd -6 PASSWORD` to get the PASSWORD's hash), relevant only for R81.20 and higher versions | string | n/a | "" | no | +| management_maintenance_mode_password_hash | Check Point recommends setting Admin user's password and maintenance-mode password for recovery purposes. For R81.10 and below the Admin user's password is used also as maintenance-mode password. (To generate a password hash use the command "grub2-mkpasswd-pbkdf2" on Linux and paste it here). (optional) | string | n/a | "" | no | ## Outputs @@ -191,6 +191,7 @@ In order to check the template version, please refer to [sk116585](https://suppo | 20230914 | Add support for maintenance mode password | | 20230923 | Add support for C5d instance type | | 20231012 | Update AWS Terraform provider version to 5.20.1 | +| 20240207 | Added Log Server installation support | ## License diff --git a/terraform/aws/management/locals.tf b/terraform/aws/management/locals.tf index cc1d2194..896719ba 100755 --- a/terraform/aws/management/locals.tf +++ b/terraform/aws/management/locals.tf @@ -67,4 +67,10 @@ locals { manage_over_the_internet = var.gateway_management == "Over the internet" ? true : false manage_over_internet_and_EIP = var.allocate_and_associate_eip && local.manage_over_the_internet ? true : false pub_mgmt = local.manage_over_internet_and_EIP ? true : false + + management_installation_type_allowed_values = [ + "Primary management", + "Secondary management", + "Log Server"] + validate_management_installation_type = index(local.management_installation_type_allowed_values, var.management_installation_type) } \ No newline at end of file diff --git a/terraform/aws/management/main.tf b/terraform/aws/management/main.tf index f1bf2f04..059aaaed 100755 --- a/terraform/aws/management/main.tf +++ b/terraform/aws/management/main.tf @@ -160,7 +160,7 @@ resource "aws_instance" "management-instance" { NTPSecondary = var.secondary_ntp Shell = var.admin_shell, AdminSubnet = var.admin_cidr - IsPrimary = var.is_primary_management + ManagementInstallationType = var.management_installation_type SICKey = local.management_SICkey_base64, OsVersion = local.version_split EnableInstanceConnect = var.enable_instance_connect diff --git a/terraform/aws/management/management_userdata.yaml b/terraform/aws/management/management_userdata.yaml index a3c76baa..0f3801ff 100755 --- a/terraform/aws/management/management_userdata.yaml +++ b/terraform/aws/management/management_userdata.yaml @@ -1,4 +1,4 @@ #cloud-config runcmd: - | - python3 /etc/cloud_config.py sicKey=\"${SICKey}\" installationType=\"management\" osVersion=\"${OsVersion}\" allowUploadDownload=\"${AllowUploadDownload}\" templateVersion=\"20231012\" templateName=\"management\" templateType=\"terraform\" shell=\"${Shell}\" enableInstanceConnect=\"${EnableInstanceConnect}\" hostName=\"${Hostname }\" ntpPrimary=\"${NTPPrimary}\" ntpSecondary=\"${NTPSecondary}\" passwordHash=\"${PasswordHash}\" MaintenanceModePassword=\"${MaintenanceModePassword}\" primary=\"${IsPrimary}\" adminSubnet=\"${AdminSubnet}\" allocatePublicAddress=\"${AllocateElasticIP}\" overTheInternet=\"${PubMgmt}\" bootstrapScript64=\"${BootstrapScript}\" \ No newline at end of file + python3 /etc/cloud_config.py sicKey=\"${SICKey}\" installationType=\"management\" osVersion=\"${OsVersion}\" allowUploadDownload=\"${AllowUploadDownload}\" templateVersion=\"20231012\" templateName=\"management\" templateType=\"terraform\" shell=\"${Shell}\" enableInstanceConnect=\"${EnableInstanceConnect}\" hostName=\"${Hostname }\" ntpPrimary=\"${NTPPrimary}\" ntpSecondary=\"${NTPSecondary}\" passwordHash=\"${PasswordHash}\" MaintenanceModePassword=\"${MaintenanceModePassword}\" "management_installation_type=\"${ManagementInstallationType}\"" adminSubnet=\"${AdminSubnet}\" allocatePublicAddress=\"${AllocateElasticIP}\" overTheInternet=\"${PubMgmt}\" bootstrapScript64=\"${BootstrapScript}\" \ No newline at end of file diff --git a/terraform/aws/management/terraform.tfvars b/terraform/aws/management/terraform.tfvars index 905db198..be24753c 100755 --- a/terraform/aws/management/terraform.tfvars +++ b/terraform/aws/management/terraform.tfvars @@ -30,7 +30,7 @@ management_password_hash = "" management_maintenance_mode_password_hash = "" # For R81.10 and below the management_password_hash is used also as maintenance-mode password. // --- Security Management Server Settings --- management_hostname = "mgmt-tf" -is_primary_management = "true" +management_installation_type = "Primary management" SICKey = "" allow_upload_download = "true" gateway_management = "Locally managed" diff --git a/terraform/aws/management/variables.tf b/terraform/aws/management/variables.tf index 469ef162..366ba2c2 100755 --- a/terraform/aws/management/variables.tf +++ b/terraform/aws/management/variables.tf @@ -133,10 +133,10 @@ variable "management_hostname" { description = "(Optional) Security Management Server prompt hostname" default = "" } -variable "is_primary_management" { - type = bool - description = "Determines if this is the primary management server or not" - default = true +variable "management_installation_type" { + type = string + description = "Determines the Management Server installation type: Primary management, Secondary management, Log Server" + default = "Primary management" } variable "SICKey" { type = string diff --git a/terraform/aws/qs-autoscale-master/README.md b/terraform/aws/qs-autoscale-master/README.md index 4693cd1a..db6c44a6 100755 --- a/terraform/aws/qs-autoscale-master/README.md +++ b/terraform/aws/qs-autoscale-master/README.md @@ -206,8 +206,8 @@ secret_key = "my-secret-key" | servers_subnets | Provide at least 2 private subnet IDs in the chosen VPC, separated by commas (e.g. subnet-0d72417c,subnet-1f61306f,subnet-1061d06f). | list(string) | n/a | n/a | yes | | servers_instance_type | The EC2 instance type for the web servers | string | - t3.nano
- t3.micro
- t3.small
- t3.medium
- t3.large
- t3.xlarge
- t3.2xlarge | t3.micro | no | | server_ami | The Amazon Machine Image ID of a preconfigured web server (e.g. ami-0dc7dc63) | string | n/a | n/a | yes | -| gateway_maintenance_mode_password_hash | (Optional) Gateway admin user's maintenance password hash (use command `openssl passwd -6 PASSWORD` to get the PASSWORD's hash), relevant only for R81.20 and higher versions | string | n/a | "" | no | -| management_maintenance_mode_password_hash | (Optional) Management admin user's maintenance password hash (use command `openssl passwd -6 PASSWORD` to get the PASSWORD's hash), relevant only for R81.20 and higher versions | string | n/a | "" | no | +| gateway_maintenance_mode_password_hash | Check Point recommends setting Admin user's password and maintenance-mode password for recovery purposes. For R81.10 and below the Admin user's password is used also as maintenance-mode password. (To generate a password hash use the command "grub2-mkpasswd-pbkdf2" on Linux and paste it here). (optional) | string | n/a | "" | no | +| management_maintenance_mode_password_hash | Check Point recommends setting Admin user's password and maintenance-mode password for recovery purposes. For R81.10 and below the Admin user's password is used also as maintenance-mode password. (To generate a password hash use the command "grub2-mkpasswd-pbkdf2" on Linux and paste it here). (optional) | string | n/a | "" | no | diff --git a/terraform/aws/qs-autoscale/README.md b/terraform/aws/qs-autoscale/README.md index 09acb87f..f28045e3 100755 --- a/terraform/aws/qs-autoscale/README.md +++ b/terraform/aws/qs-autoscale/README.md @@ -191,8 +191,8 @@ secret_key = "my-secret-key" | servers_subnets | Provide at least 2 private subnet IDs in the chosen VPC, separated by commas (e.g. subnet-0d72417c,subnet-1f61306f,subnet-1061d06f). | list(string) | n/a | n/a | yes | | servers_instance_type | The EC2 instance type for the web servers | string | - t3.nano
- t3.micro
- t3.small
- t3.medium
- t3.large
- t3.xlarge
- t3.2xlarge | t3.micro | no | | server_ami | The Amazon Machine Image ID of a preconfigured web server (e.g. ami-0dc7dc63) | string | n/a | n/a | yes | -| gateway_maintenance_mode_password_hash | (Optional) Gateway admin user's maintenance password hash (use command `openssl passwd -6 PASSWORD` to get the PASSWORD's hash), relevant only for R81.20 and higher versions | string | n/a | "" | no | -| management_maintenance_mode_password_hash | (Optional) Management admin user's maintenance password hash (use command `openssl passwd -6 PASSWORD` to get the PASSWORD's hash), relevant only for R81.20 and higher versions | string | n/a | "" | no | +| gateway_maintenance_mode_password_hash | Check Point recommends setting Admin user's password and maintenance-mode password for recovery purposes. For R81.10 and below the Admin user's password is used also as maintenance-mode password. (To generate a password hash use the command "grub2-mkpasswd-pbkdf2" on Linux and paste it here). (optional) | string | n/a | "" | no | +| management_maintenance_mode_password_hash | Check Point recommends setting Admin user's password and maintenance-mode password for recovery purposes. For R81.10 and below the Admin user's password is used also as maintenance-mode password. (To generate a password hash use the command "grub2-mkpasswd-pbkdf2" on Linux and paste it here). (optional) | string | n/a | "" | no | ## Outputs diff --git a/terraform/aws/standalone-master/README.md b/terraform/aws/standalone-master/README.md index 7e118be8..4c5a25fe 100755 --- a/terraform/aws/standalone-master/README.md +++ b/terraform/aws/standalone-master/README.md @@ -163,7 +163,7 @@ secret_key = "my-secret-key" | secondary_ntp | (Optional) The IPv4 addresses of Network Time Protocol secondary server | string | n/a | 0.pool.ntp.org | no | | admin_cidr | (CIDR) Allow web, ssh, and graphical clients only from this network to communicate with the Management Server | string | n/a | 0.0.0.0/0 | no | | gateway_addresses | (CIDR) Allow gateways only from this network to communicate with the Management Server | string | n/a | 0.0.0.0/0 | no | -| standalone_maintenance_mode_password_hash | (Optional) Gateway admin user's maintenance password hash (use command `openssl passwd -6 PASSWORD` to get the PASSWORD's hash), relevant only for R81.20 and higher versions | string | n/a | "" | no | +| standalone_maintenance_mode_password_hash | Check Point recommends setting Admin user's password and maintenance-mode password for recovery purposes. For R81.10 and below the Admin user's password is used also as maintenance-mode password. (To generate a password hash use the command "grub2-mkpasswd-pbkdf2" on Linux and paste it here). (optional) | string | n/a | "" | no | ## Outputs diff --git a/terraform/aws/standalone/README.md b/terraform/aws/standalone/README.md index ee831e6d..6ac70d94 100755 --- a/terraform/aws/standalone/README.md +++ b/terraform/aws/standalone/README.md @@ -140,7 +140,7 @@ secret_key = "my-secret-key" | secondary_ntp | (Optional) The IPv4 addresses of Network Time Protocol secondary server | string | n/a | 0.pool.ntp.org | no | | admin_cidr | (CIDR) Allow web, ssh, and graphical clients only from this network to communicate with the Management Server | string | n/a | 0.0.0.0/0 | no | | gateway_addresses | (CIDR) Allow gateways only from this network to communicate with the Management Server | string | n/a | 0.0.0.0/0 | no | -| standalone_maintenance_mode_password_hash | (Optional) Gateway admin user's maintenance password hash (use command `openssl passwd -6 PASSWORD` to get the PASSWORD's hash), relevant only for R81.20 and higher versions | string | n/a | "" | no | +| standalone_maintenance_mode_password_hash | Check Point recommends setting Admin user's password and maintenance-mode password for recovery purposes. For R81.10 and below the Admin user's password is used also as maintenance-mode password. (To generate a password hash use the command "grub2-mkpasswd-pbkdf2" on Linux and paste it here). (optional) | string | n/a | "" | no | ## Outputs diff --git a/terraform/aws/tgw-asg/README.md b/terraform/aws/tgw-asg/README.md index 987b348b..d99a5781 100755 --- a/terraform/aws/tgw-asg/README.md +++ b/terraform/aws/tgw-asg/README.md @@ -176,8 +176,8 @@ secret_key = "my-secret-key" | control_gateway_over_public_or_private_address | Determines if the gateways are provisioned using their private or public address | string | - private
- public | private | no | | management_server | (Optional) The name that represents the Security Management Server in the automatic provisioning configuration | string | n/a | management-server | no | | configuration_template | (Optional) A name of a Security Gateway configuration template in the automatic provisioning configuration | string | n/a | TGW-ASG-configuration | no | -| gateway_maintenance_mode_password_hash | (Optional) Gateway admin user's maintenance password hash (use command `openssl passwd -6 PASSWORD` to get the PASSWORD's hash), relevant only for R81.20 and higher versions | string | n/a | "" | no | -| management_maintenance_mode_password_hash | (Optional) Management admin user's maintenance password hash (use command `openssl passwd -6 PASSWORD` to get the PASSWORD's hash), relevant only for R81.20 and higher versions | string | n/a | "" | no | +| gateway_maintenance_mode_password_hash | Check Point recommends setting Admin user's password and maintenance-mode password for recovery purposes. For R81.10 and below the Admin user's password is used also as maintenance-mode password. (To generate a password hash use the command "grub2-mkpasswd-pbkdf2" on Linux and paste it here). (optional) | string | n/a | "" | no | +| management_maintenance_mode_password_hash | Check Point recommends setting Admin user's password and maintenance-mode password for recovery purposes. For R81.10 and below the Admin user's password is used also as maintenance-mode password. (To generate a password hash use the command "grub2-mkpasswd-pbkdf2" on Linux and paste it here). (optional) | string | n/a | "" | no | ## Outputs diff --git a/terraform/aws/tgw-asg/variables.tf b/terraform/aws/tgw-asg/variables.tf index 1000e03b..9f2885cb 100755 --- a/terraform/aws/tgw-asg/variables.tf +++ b/terraform/aws/tgw-asg/variables.tf @@ -150,6 +150,11 @@ variable "management_password_hash" { description = "(Optional) Admin user's password hash (use command 'openssl passwd -6 PASSWORD' to get the PASSWORD's hash)" default = "" } +variable "management_maintenance_mode_password_hash" { + description = "(optional) Check Point recommends setting Admin user's password and maintenance-mode password for recovery purposes. For R81.10 and below the Admin user's password is used also as maintenance-mode password. (To generate a password hash use the command 'grub2-mkpasswd-pbkdf2' on Linux and paste it here)." + type = string + default = "" +} variable "management_permissions" { type = string description = "IAM role to attach to the instance profile" diff --git a/terraform/aws/tgw-cross-az-cluster-master/README.md b/terraform/aws/tgw-cross-az-cluster-master/README.md index 23cd96ec..94402e3f 100755 --- a/terraform/aws/tgw-cross-az-cluster-master/README.md +++ b/terraform/aws/tgw-cross-az-cluster-master/README.md @@ -170,7 +170,7 @@ secret_key = "my-secret-key" | gateway_bootstrap_script | (Optional) Semicolon (;) separated commands to run on the initial boot | string | n/a | "" | no | | primary_ntp | (Optional) The IPv4 addresses of Network Time Protocol primary server | string | n/a | 169.254.169.123 | no | | secondary_ntp | (Optional) The IPv4 addresses of Network Time Protocol secondary server | string | n/a | 0.pool.ntp.org | no | -| gateway_maintenance_mode_password_hash | (Optional) Gateway admin user's maintenance password hash (use command `openssl passwd -6 PASSWORD` to get the PASSWORD's hash), relevant only for R81.20 and higher versions | string | n/a | "" | no | +| gateway_maintenance_mode_password_hash | Check Point recommends setting Admin user's password and maintenance-mode password for recovery purposes. For R81.10 and below the Admin user's password is used also as maintenance-mode password. (To generate a password hash use the command "grub2-mkpasswd-pbkdf2" on Linux and paste it here). (optional) | string | n/a | "" | no | ## Outputs diff --git a/terraform/aws/tgw-cross-az-cluster/README.md b/terraform/aws/tgw-cross-az-cluster/README.md index 2161bc22..9cd581c2 100755 --- a/terraform/aws/tgw-cross-az-cluster/README.md +++ b/terraform/aws/tgw-cross-az-cluster/README.md @@ -166,8 +166,8 @@ secret_key = "my-secret-key" | gateway_bootstrap_script | (Optional) Semicolon (;) separated commands to run on the initial boot | string | n/a | "" | no | | primary_ntp | (Optional) The IPv4 addresses of Network Time Protocol primary server | string | n/a | 169.254.169.123 | no | | secondary_ntp | (Optional) The IPv4 addresses of Network Time Protocol secondary server | string | n/a | 0.pool.ntp.org | no | -| gateway_maintenance_mode_password_hash | (Optional) Gateway admin user's maintenance password hash (use command `openssl passwd -6 PASSWORD` to get the PASSWORD's hash), relevant only for R81.20 and higher versions | string | n/a | "" | no | -| management_maintenance_mode_password_hash | (Optional) Management admin user's maintenance password hash (use command `openssl passwd -6 PASSWORD` to get the PASSWORD's hash), relevant only for R81.20 and higher versions | string | n/a | "" | no | +| gateway_maintenance_mode_password_hash | Check Point recommends setting Admin user's password and maintenance-mode password for recovery purposes. For R81.10 and below the Admin user's password is used also as maintenance-mode password. (To generate a password hash use the command "grub2-mkpasswd-pbkdf2" on Linux and paste it here). (optional) | string | n/a | "" | no | +| management_maintenance_mode_password_hash | Check Point recommends setting Admin user's password and maintenance-mode password for recovery purposes. For R81.10 and below the Admin user's password is used also as maintenance-mode password. (To generate a password hash use the command "grub2-mkpasswd-pbkdf2" on Linux and paste it here). (optional) | string | n/a | "" | no | ## Outputs diff --git a/terraform/aws/tgw-gwlb-master/README.md b/terraform/aws/tgw-gwlb-master/README.md index afb4e064..47c907c4 100755 --- a/terraform/aws/tgw-gwlb-master/README.md +++ b/terraform/aws/tgw-gwlb-master/README.md @@ -239,8 +239,8 @@ a | admin_cidr | (CIDR) Allow web, ssh, and graphical clients only from this network to communicate with the Management Server | string | valid CIDR | n/a | no | | gateway_addresses | (CIDR) Allow gateways only from this network to communicate with the Management Server | string | valid CIDR | n/a | no | | volume_type | General Purpose SSD Volume Type | string | - gp3
- gp2 | gp3 | no | -| gateway_maintenance_mode_password_hash | (Optional) Gateway admin user's maintenance password hash (use command `openssl passwd -6 PASSWORD` to get the PASSWORD's hash), relevant only for R81.20 and higher versions | string | n/a | "" | no | -| management_maintenance_mode_password_hash | (Optional) Management admin user's maintenance password hash (use command `openssl passwd -6 PASSWORD` to get the PASSWORD's hash), relevant only for R81.20 and higher versions | string | n/a | "" | no | +| gateway_maintenance_mode_password_hash | Check Point recommends setting Admin user's password and maintenance-mode password for recovery purposes. For R81.10 and below the Admin user's password is used also as maintenance-mode password. (To generate a password hash use the command "grub2-mkpasswd-pbkdf2" on Linux and paste it here). (optional) | string | n/a | "" | no | +| management_maintenance_mode_password_hash | Check Point recommends setting Admin user's password and maintenance-mode password for recovery purposes. For R81.10 and below the Admin user's password is used also as maintenance-mode password. (To generate a password hash use the command "grub2-mkpasswd-pbkdf2" on Linux and paste it here). (optional) | string | n/a | "" | no | ## Outputs diff --git a/terraform/aws/tgw-gwlb/README.md b/terraform/aws/tgw-gwlb/README.md index b516740d..67f95566 100755 --- a/terraform/aws/tgw-gwlb/README.md +++ b/terraform/aws/tgw-gwlb/README.md @@ -239,8 +239,8 @@ secret_key = "my-secret-key" | admin_cidr | (CIDR) Allow web, ssh, and graphical clients only from this network to communicate with the Management Server | string | valid CIDR | n/a | no | | gateway_addresses | (CIDR) Allow gateways only from this network to communicate with the Management Server | string | valid CIDR | n/a | no | | volume_type | General Purpose SSD Volume Type | string | - gp3
- gp2 | gp3 | no | -| gateway_maintenance_mode_password_hash | (Optional) Gateway admin user's maintenance password hash (use command `openssl passwd -6 PASSWORD` to get the PASSWORD's hash), relevant only for R81.20 and higher versions | string | n/a | "" | no | -| management_maintenance_mode_password_hash | (Optional) Management admin user's maintenance password hash (use command `openssl passwd -6 PASSWORD` to get the PASSWORD's hash), relevant only for R81.20 and higher versions | string | n/a | "" | no | +| gateway_maintenance_mode_password_hash | Check Point recommends setting Admin user's password and maintenance-mode password for recovery purposes. For R81.10 and below the Admin user's password is used also as maintenance-mode password. (To generate a password hash use the command "grub2-mkpasswd-pbkdf2" on Linux and paste it here). (optional) | string | n/a | "" | no | +| management_maintenance_mode_password_hash | Check Point recommends setting Admin user's password and maintenance-mode password for recovery purposes. For R81.10 and below the Admin user's password is used also as maintenance-mode password. (To generate a password hash use the command "grub2-mkpasswd-pbkdf2" on Linux and paste it here). (optional) | string | n/a | "" | no | ## Outputs