When configured according to this tutorial, the policy.py file of Application-level Gateway should look something like this:
Configuring TLS proxying:
EncryptionPolicy(
name="MyTLSEncryption",
encryption=TwoSidedEncryption(
client_verify=ClientNoneVerifier(),
client_tls_options=ClientTLSOptions(),
server_verify=ServerCertificateVerifier(
verify_ca_directory="/etc/ca.d/certs/",
verify_crl_directory="/etc/ca.d/crls/",
trusted=TRUE, verify_depth=4,
permit_invalid_certificates=FALSE,
permit_missing_crl=FALSE,
check_subject=TRUE
),
server_tls_options=ServerTLSOptions(
ciphers=TLS_CIPHERS_DEFAULT, timeout=300,
tls_min_version=TLS_VERSION_1_3,
),
client_certificate_generator=StaticCertificate(
certificates=(
Certificate.fromFile(
certificate_file_path="/etc/key.d/VMS_Engine/cert.pem",
private_key=PrivateKey.fromFile(
"/etc/key.d/VMS_Engine/key.pem")),
))
))
def demo() :
Service(
name='demo/intra_HTTPS_inter',
router=TransparentRouter(),
chainer=ConnectChainer(),
proxy_class=HttpProxy,
max_instances=0,
max_sessions=0,
keepalive=V_KEEPALIVE_NONE,
encryption_policy="MyTLSEncryption"
)
Rule(
rule_id=300,
src_subnet=('192.168.1.1/32', ),
dst_zone=('internet', ),
proto=6,
service='demo/intra_HTTPS_inter'
)If keybridging is performed:
EncryptionPolicy(
name="KeybridgingEncryption",
encryption=TwoSidedEncryption(
client_verify=ClientNoneVerifier(),
client_tls_options=ClientTLSOptions(),
server_verify=ServerCertificateVerifier(),
server_tls_options=ServerTLSOptions(),
client_certificate_generator=DynamicCertificate(
private_key=PrivateKey.fromFile(key_file_path="/etc/key.d/TLS-bridge/key.pem"),
trusted_ca=Certificate.fromFile(
certificate_file_path="/etc/ca.d/certs/CA_for_Trusted_certs.pem",
private_key=PrivateKey.fromFile("/etc/ca.d/keys/CA_for_Trusted_certs.pem")),
untrusted_ca=Certificate.fromFile(
certificate_file_path="/etc/ca.d/certs/CA_for_Untrusted_certs.pem",
private_key=PrivateKey.fromFile("/etc/ca.d/keys/CA_for_Untrusted_certs.pem")),
cache_directory="/var/lib/vela/tls-bridge")
))
def demo_instance() :
Service(name='demo/intra_HTTPS_Keybridge_inter', router=TransparentRouter(), chainer=ConnectChainer(), proxy_class=HttpProxy, max_instances=0, max_sessions=0, keepalive=V_KEEPALIVE_NONE, encryption_policy="KeybridgingEncryption")
Rule(rule_id=20,
src_zone=('intra', ),
dst_zone=('internet', ),
proto=6,
service='demo_instance/intra_HTTPS_Keybridge_inter'
)Copyright: © 2021 Balasys IT Security
Send your comments to support@balasys.hu


