1+ {
2+ "class": "ADC",
3+ "schemaVersion": "3.16.0",
4+ "remark": "Configure BIG-IP Common/Shared objects",
5+ "Common": {
6+ "Shared": {
7+ "class": "Application",
8+ "template": "shared",
9+ "maintenance_rule": {
10+ "remark": "Default Maintenance iRule",
11+ "class": "iRule",
12+ "iRule": "when HTTP_REQUEST {\n HTTP::respond 200 content \"<html><head><title>Maintenance</title></head><body><strong>This site is in maintenance now.</strong></body></html>\"\n}"
13+ },
14+ "wildcardAddress": {
15+ "class": "Service_Address",
16+ "virtualAddress": "0.0.0.0"
17+ },
18+ "lb_healthProbe_rule": {
19+ "remark": "Respond to LB healthProbe",
20+ "class": "iRule",
21+ "iRule": "when CLIENT_ACCEPTED {\n TCP::close\n}"
22+ },
23+ "lb_healthProbe_vs": {
24+ "class": "Service_TCP",
25+ "remark": "LB Health Probe VS",
26+ "virtualPort": 666,
27+ "virtualAddresses": [
28+ { "use": "wildcardAddress" }
29+ ],
30+ "iRules": [
31+ "lb_healthProbe_rule"
32+ ]
33+ },
34+ "telemetry_local_rule": {
35+ "remark": "Only required when TS is a local listener",
36+ "class": "iRule",
37+ "iRule": "when CLIENT_ACCEPTED {\n node 127.0.0.1 6514\n}"
38+ },
39+ "telemetry_local": {
40+ "remark": "Only required when TS is a local listener",
41+ "class": "Service_TCP",
42+ "virtualAddresses": [
43+ "255.255.255.254"
44+ ],
45+ "virtualPort": 6514,
46+ "iRules": [
47+ "telemetry_local_rule"
48+ ]
49+ },
50+ "telemetry": {
51+ "class": "Pool",
52+ "members": [
53+ {
54+ "enable": true,
55+ "serverAddresses": [
56+ "255.255.255.254"
57+ ],
58+ "servicePort": 6514
59+ }
60+ ],
61+ "monitors": [
62+ {
63+ "bigip": "/Common/tcp"
64+ }
65+ ]
66+ },
67+ "telemetry_hsl": {
68+ "class": "Log_Destination",
69+ "type": "remote-high-speed-log",
70+ "protocol": "tcp",
71+ "pool": {
72+ "use": "telemetry"
73+ }
74+ },
75+ "telemetry_formatted": {
76+ "class": "Log_Destination",
77+ "type": "splunk",
78+ "forwardTo": {
79+ "use": "telemetry_hsl"
80+ }
81+ },
82+ "telemetry_publisher": {
83+ "class": "Log_Publisher",
84+ "destinations": [
85+ {
86+ "use": "telemetry_formatted"
87+ }
88+ ]
89+ },
90+ "telemetry_traffic_log_profile": {
91+ "class": "Traffic_Log_Profile",
92+ "responseSettings": {
93+ "responseEnabled": true,
94+ "responseProtocol": "mds-tcp",
95+ "responsePool": {
96+ "use": "telemetry"
97+ },
98+ "requestTemplate": "event_source=\"request_logging\",hostname=\"$BIGIP_HOSTNAME\",client_ip=\"$CLIENT_IP\",server_ip=\"$SERVER_IP\",http_method=\"$HTTP_METHOD\",http_uri=\"$HTTP_URI\",virtual_name=\"$VIRTUAL_NAME\",event_timestamp=\"$DATE_HTTP\"",
99+ "responseTemplate": "event_source=\"response_logging\",hostname=\"$BIGIP_HOSTNAME\",client_ip=\"$CLIENT_IP\",server_ip=\"$SERVER_IP\",http_method=\"$HTTP_METHOD\",http_uri=\"$HTTP_URI\",response_msec=\"$RESPONSE_MSEC\",response_size=\"RESPONSE_SIZE\",virtual_name=\"$VIRTUAL_NAME\",event_timestamp=\"$DATE_HTTP\""
100+ }
101+ },
102+ "telemetry_security_log_profile": {
103+ "class": "Security_Log_Profile",
104+ "application": {
105+ "localStorage": false,
106+ "remoteStorage": "splunk",
107+ "protocol": "tcp",
108+ "servers": [
109+ {
110+ "address": "255.255.255.254",
111+ "port": "6514"
112+ }
113+ ],
114+ "storageFilter": {
115+ "requestType": "illegal-including-staged-signatures"
116+ }
117+ },
118+ "network": {
119+ "publisher": {
120+ "use": "telemetry_publisher"
121+ },
122+ "storageFormat": {
123+ "fields": [
124+ "action",
125+ "dest-ip",
126+ "dest-port",
127+ "src-ip",
128+ "src-port"
129+ ]
130+ },
131+ "logRuleMatchAccepts": true,
132+ "logRuleMatchRejects": true,
133+ "logRuleMatchDrops": true,
134+ "logIpErrors": true,
135+ "logTcpErrors": true,
136+ "logTcpEvents": true
137+ }
138+ }
139+ }
140+ },
141+ "INET": {
142+ "class": "Tenant",
143+ "IpFwding": {
144+ "class": "Application",
145+ "template": "generic",
146+ "IpFwdingSvc": {
147+ "class": "Service_Forwarding",
148+ "remark": "IP Forwarding Virtual Server",
149+ "virtualAddresses": [
150+ { "use": "/Common/Shared/wildcardAddress" }
151+ ],
152+ "virtualPort": 0,
153+ "forwardingType": "ip",
154+ "layer4": "tcp",
155+ "profileL4": "basic",
156+ "allowVlans": [
157+ { "bigip": "/Common/internal" }
158+ ]
159+ }
160+ }
161+ },
162+ "SRA": {
163+ "class": "Tenant",
164+ "Webtop": {
165+ "class": "Application",
166+ "template": "https",
167+ "serviceMain": {
168+ "class": "Service_HTTPS",
169+ "redirect80": false,
170+ "virtualAddresses": [
171+ { "use": "/Common/Shared/wildcardAddress" }
172+ ],
173+ "virtualPort": 10443,
174+ "snat": "none",
175+ "profileTCP": {
176+ "bigip": "/Common/f5-tcp-progressive"
177+ },
178+ "profileHTTP": {
179+ "use": "webtop_http"
180+ },
181+ "clientTLS": {
182+ "bigip": "/Common/serverssl-insecure-compatible"
183+ },
184+ "serverTLS": "webtop_clientssl",
185+ "policyWAF": {
186+ "use": "Ingress_WAF_Policy"
187+ },
188+ "profileTrafficLog": {
189+ "use": "/Common/Shared/telemetry_traffic_log_profile"
190+ },
191+ "securityLogProfiles": [
192+ {
193+ "bigip": "/Common/Log all requests"
194+ },
195+ {
196+ "use": "/Common/Shared/telemetry_security_log_profile"
197+ }
198+ ],
199+ "allowVlans": [
200+ { "bigip": "/Common/external" }
201+ ]
202+ },
203+ "webtop_http": {
204+ "class": "HTTP_Profile",
205+ "hstsInsert": true,
206+ "hstsPreload": true
207+ },
208+ "Ingress_WAF_Policy": {
209+ "class": "WAF_Policy",
210+ "url": "https://raw.githubusercontent.com/f5devcentral/f5-asm-policy-templates/master/generic_ready_template/Passive_Deployment_Policy_13_1.xml",
211+ "ignoreChanges": true
212+ },
213+ "webtop_clientssl": {
214+ "certificates": [
215+ {
216+ "certificate": "Wildcard_certificate"
217+ }
218+ ],
219+ "ciphers": "DEFAULT",
220+ "requireSNI": false,
221+ "class": "TLS_Server"
222+ },
223+ "Wildcard_certificate": {
224+ "class": "Certificate",
225+ "remark": "in practice we recommend using a passphrase",
226+ "certificate": "-----BEGIN CERTIFICATE-----\nMIIDtTCCAp2gAwIBAgIBAzANBgkqhkiG9w0BAQsFADBGMQswCQYDVQQGEwJVUzET\nMBEGA1UECAwKQ2FsaWZvcm5pYTESMBAGA1UECgwJTXlDb21wYW55MQ4wDAYDVQQD\nDAVsYWJDQTAeFw0xOTA0MjUyMzM3NDVaFw0yOTA0MjIyMzM3NDVaMF8xCzAJBgNV\nBAYTAkNBMRAwDgYDVQQIEwdPbnRhcmlvMRQwEgYDVQQKEwtGNSBOZXR3b3JrczEO\nMAwGA1UECxMFU2FsZXMxGDAWBgNVBAMTD3dlYnRvcC5mNXNlLmNvbTCCASIwDQYJ\nKoZIhvcNAQEBBQADggEPADCCAQoCggEBAO6mWzsOY0UuRzSiVU65gmlSit4d7tW4\nE/kWYY3LT/dxG2V/kzHhO70amNCTDVv5oAKkToLYCdJNWWxEI+EgUigDtg/v4E1R\nH0KEQdGC6RHnYK8kOmWWm9Pminh1P1o03QiJ41zj5KcyFYJq4pFRctN5iPs0+F/Y\n5JBDbPcnuk3OuRLxI67tPwqAQQurXcvGzCYF1y1zxlHxxWyUbuTdCo3GeO2Vo3bN\nMSTSj9hmxc8QEXif1qA/KDnLtY+IemptJT5aC0WZRwp2lncKOpSLcMcdQAprxHYA\n6LLkztNqVwCXQFjA7zfVRXV63JGhjV+oR4O8yemLffUVydihXzcsruMCAwEAAaOB\nlDCBkTAJBgNVHRMEAjAAMB0GA1UdDgQWBBRjzhMuUopHVdDvj9xvCskIPacvQzAf\nBgNVHSMEGDAWgBQMgRSSF2oS8RCZJADBj3YSv90EsTAOBgNVHQ8BAf8EBAMCBeAw\nNAYDVR0lAQH/BCowKAYIKwYBBQUHAwIGCCsGAQUFBwMBBggrBgEFBQcDAwYIKwYB\nBQUHAwQwDQYJKoZIhvcNAQELBQADggEBAKxtUE9tImn6MF0E2RNYeaTkIyCozjPw\nARofuW4eE5VKoZyq8JCbzUG44yT8gCSAj24LYuM7mk9CceHpu4pSyLHuptP1W8ZT\nzpy4BPHaeFoJZCgBW8KkOdlW/4WRTmbfG3YaxPClOj7f5P4Tkw2XaftPJqQWZnCx\npEBU8e5AVOSmV1/vkhEi5FjV1aCXEm2DH9TJQtxABKGCaNtwnS701mmJH0HWlDSm\nMyBI/jTOO2XMoWGEzL9pIMiPPGZZbGWUIfvfhsgBFnJoSUa9ijteR5CLhX7DIfAl\njuMTHgWmsN80SOIEUaLYNfeFQxkgL0uVc8nzc3JGN+78h+Ktg4piRCM=\n-----END CERTIFICATE-----",
227+ "privateKey": "-----BEGIN PRIVATE KEY-----\nMIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDupls7DmNFLkc0\nolVOuYJpUoreHe7VuBP5FmGNy0/3cRtlf5Mx4Tu9GpjQkw1b+aACpE6C2AnSTVls\nRCPhIFIoA7YP7+BNUR9ChEHRgukR52CvJDpllpvT5op4dT9aNN0IieNc4+SnMhWC\nauKRUXLTeYj7NPhf2OSQQ2z3J7pNzrkS8SOu7T8KgEELq13LxswmBdctc8ZR8cVs\nlG7k3QqNxnjtlaN2zTEk0o/YZsXPEBF4n9agPyg5y7WPiHpqbSU+WgtFmUcKdpZ3\nCjqUi3DHHUAKa8R2AOiy5M7TalcAl0BYwO831UV1etyRoY1fqEeDvMnpi331FcnY\noV83LK7jAgMBAAECggEAE06WFuMFGPWzgQiZCjNr34V0AqA9UEECLKao4cXPBF+8\nLavyhpiIMrZSIp2i+Qvq7AvK5j8AHGlxkJa6qF3rB521PvjTFq43bzQv9vk2TeKA\nKesuZkWW+b+u+CvUIkIgl65AHKW7O+OLZe+rwMHsHju430nbxjVP2HP7/srSAbVN\nt3yyXPmI4VSB2P8NzkYCzr/B46LcS/2OBno9iwjQwDspQNJhpUmxPsFfG0OS0WWh\nqLgpUvG8GEPkCv8fRjjrqh9iJ3kZOpmv5nQ1OE0ypwYoPhJDiJAAZiXRtPImoM06\n2M6CbvtdunRuVvVNBYgu75jRgunZycQJP48tWWcWsQKBgQD7/X1WKBIqJRZcDYTf\n8pHFDzZxhDOpYX31vddk7A3xv9XvqQVCu6hkbFvMu5b80AOeYlo2SCvaA97sS7Bp\nbafoT6ZCwBztEBjk9v+X0LOSg847c/ik3+M9Nsnpv9N0qdjGtPgm8Kb15PaiHYAH\nT6kLkvYCFS5G17B2sVoOoWg7fQKBgQDycoX2+FPMPFqUesZ3BlAcZM8sVFTg1VL6\nRGesJLrT/3ueOUiCWjjcJlPodBNg2Y8N3hQV0CdwGxR14nKoVw0vpv+r/iJp1F7s\nsGqjtMIw6fHdqPdX2GIvraIxU+j8p94R1ACii3aztqcluJ1S8CsNmUxgUoMJKtO/\ntvNB4Pjh3wKBgELz/kpXCUSDaCZ7PRPXup12RkvxCVz212Xk1AcvpSDXjLtJ2Gj7\nvWk5VUbXjO2NQ3jgvwFvOZ+Kqb90+OF6TkOubgmMS+M9BLBJZG3s+Nl0BebMEIOW\nLSWFmi5uVnvH6R4a1VhbVrE87b7zQaIvq0W0/YJeKFaQVoWi57+9aRltAoGBANV/\n5FjH9YM04s8+Dudht8pJO+ddnCEhuiCJfIIrFhr6MHH1H9UqfkffuKRLE4WGEGO1\n3RoYY6JlNm9ZKn7zqbj85ske0k8/pRfpgv8Gfrt0SHlaAfZppo016k5mBhX3/abV\nenmpNq6reiXNnT0cIc2n4YoxHxNDk5SQF0c8Re8hAoGATtdkvUp4f6A4v9ppdJZs\npz7M6/NbKGJH9F3GZseSKTBKgtndiBugrfePOrcdC+4O0i33lvWDOs70kREC4wCG\nXMt36aS9Z384Pl7Z7FhiVQrTF2ZuRP/6v1r3iJDHixmJYQzjBO2Zh1D7Sf39BxOv\n2h0dFcPMKaZcLsXTFH1qS0I=\n-----END PRIVATE KEY-----"
228+ }
229+ },
230+ "WebSSHProxy": {
231+ "class": "Application",
232+ "template": "http",
233+ "serviceMain": {
234+ "class": "Service_HTTP",
235+ "virtualPort": 10022,
236+ "snat": "none",
237+ "profileTCP": {
238+ "bigip": "/Common/f5-tcp-progressive"
239+ },
240+ "virtualAddresses": [
241+ "${webssh_vs_addr}"
242+ ],
243+ "iRules": [
244+ {
245+ "bigip": "/Common/WebSSH2_plugin/webssh2_node"
246+ }
247+ ],
248+ "allowVlans": [
249+ { "bigip": "/Common/external" }
250+ ]
251+ }
252+ }
253+ }
254+ }
0 commit comments