Currently, as long as a node has access to Galera Cluster's TCP ports, it is allowed to make SST/IST requests. In general, no authentication is performed.
Current Security Methods
Currently, there are basically two ways to prevent an unauthorized node from making SST/IST requests:
1.) Use firewall rules to prevent unauthorized hosts from accessing the Galera Cluster ports.
Some users do not think that any of the current methods are sufficient. They would like MariaDB to implement some method that can be used to allowlist the addresses that are allowed to make SST/IST requests.
How could this be implemented?
Introduced a new variable called wsrep_allowlist to store Galera node IPs in the cluster. If the joiner node IP is not in the wsrep_allowlist, the Galera cluster will not allow the joiner node to join the cluster. This will help prevent unauthorized access to the cluster
The most intuitive method would probably be to treat wsrep_cluster_address as a allowlist of the addresses that can make SST/IST requests., This system variable is already used to configure the addresses of the nodes in the cluster, so it would work out-of-the-box for most users.
Jan Lindström (Inactive)
added a comment - - edited
Set a new preview branch preview-10.10-allowlist-galera
Local testing looks good
Buildbot looks good
ralf.gebhardt@mariadb.com Yes, wsrep_allowlist can be IPv4 or IPv6. It does not accept wildcard IP or hostname. Galera prints warning message in error log if we use Wildcard IP or hostname.
[Warning] WSREP: Invalid IP address 192.168.100.% provided in `wsrep_allowlist` variable
[Warning] WSREP: Invalid IP address localhost provided in `wsrep_allowlist` variable
MariaDB [(none)]> select * from mysql.wsrep_allowlist;
Empty set (0.003 sec)
MariaDB [(none)]>
Ramesh Sivaraman
added a comment - - edited ralf.gebhardt@mariadb.com Yes, wsrep_allowlist can be IPv4 or IPv6. It does not accept wildcard IP or hostname. Galera prints warning message in error log if we use Wildcard IP or hostname.
[Warning] WSREP: Invalid IP address 192.168.100.% provided in `wsrep_allowlist` variable
[Warning] WSREP: Invalid IP address localhost provided in `wsrep_allowlist` variable
MariaDB [(none)]> select * from mysql.wsrep_allowlist;
Empty set (0.003 sec)
MariaDB [(none)]>
People
Jan Lindström (Inactive)
Geoff Montee (Inactive)
Votes:
3Vote for this issue
Watchers:
8Start watching this issue
Dates
Created:
Updated:
Resolved:
Git Integration
Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.
{"report":{"fcp":1721.5999999046326,"ttfb":615,"pageVisibility":"visible","entityId":79637,"key":"jira.project.issue.view-issue","isInitial":true,"threshold":1000,"elementTimings":{},"userDeviceMemory":8,"userDeviceProcessors":64,"apdex":0.5,"journeyId":"46608ab8-4b15-4fa2-8d09-d7800449fe6b","navigationType":0,"readyForUser":1824.4000000953674,"redirectCount":0,"resourceLoadedEnd":2072.5,"resourceLoadedStart":626.8000001907349,"resourceTiming":[{"duration":449.69999980926514,"initiatorType":"link","name":"https://jira.mariadb.org/s/2c21342762a6a02add1c328bed317ffd-CDN/lu2cib/820016/12ta74/0a8bac35585be7fc6c9cc5a0464cd4cf/_/download/contextbatch/css/_super/batch.css","startTime":626.8000001907349,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":626.8000001907349,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":1076.5,"responseStart":0,"secureConnectionStart":0},{"duration":449.7000002861023,"initiatorType":"link","name":"https://jira.mariadb.org/s/7ebd35e77e471bc30ff0eba799ebc151-CDN/lu2cib/820016/12ta74/494e4c556ecbb29f90a3d3b4f09cb99c/_/download/contextbatch/css/jira.browse.project,project.issue.navigator,jira.view.issue,jira.general,jira.global,atl.general,-_super/batch.css?agile_global_admin_condition=true&jag=true&jira.create.linked.issue=true&slack-enabled=true&whisper-enabled=true","startTime":627.0999999046326,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":627.0999999046326,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":1076.8000001907349,"responseStart":0,"secureConnectionStart":0},{"duration":475.7000002861023,"initiatorType":"script","name":"https://jira.mariadb.org/s/0917945aaa57108d00c5076fea35e069-CDN/lu2cib/820016/12ta74/0a8bac35585be7fc6c9cc5a0464cd4cf/_/download/contextbatch/js/_super/batch.js?locale=en","startTime":627.1999998092651,"connectEnd":627.1999998092651,"connectStart":627.1999998092651,"domainLookupEnd":627.1999998092651,"domainLookupStart":627.1999998092651,"fetchStart":627.1999998092651,"redirectEnd":0,"redirectStart":0,"requestStart":627.1999998092651,"responseEnd":1102.9000000953674,"responseStart":1102.9000000953674,"secureConnectionStart":627.1999998092651},{"duration":556.5999999046326,"initiatorType":"script","name":"https://jira.mariadb.org/s/2d8175ec2fa4c816e8023260bd8c1786-CDN/lu2cib/820016/12ta74/494e4c556ecbb29f90a3d3b4f09cb99c/_/download/contextbatch/js/jira.browse.project,project.issue.navigator,jira.view.issue,jira.general,jira.global,atl.general,-_super/batch.js?agile_global_admin_condition=true&jag=true&jira.create.linked.issue=true&locale=en&slack-enabled=true&whisper-enabled=true","startTime":627.5,"connectEnd":627.5,"connectStart":627.5,"domainLookupEnd":627.5,"domainLookupStart":627.5,"fetchStart":627.5,"redirectEnd":0,"redirectStart":0,"requestStart":627.5,"responseEnd":1184.0999999046326,"responseStart":1184.0999999046326,"secureConnectionStart":627.5},{"duration":565,"initiatorType":"script","name":"https://jira.mariadb.org/s/a9324d6758d385eb45c462685ad88f1d-CDN/lu2cib/820016/12ta74/c92c0caa9a024ae85b0ebdbed7fb4bd7/_/download/contextbatch/js/atl.global,-_super/batch.js?locale=en","startTime":627.6999998092651,"connectEnd":627.6999998092651,"connectStart":627.6999998092651,"domainLookupEnd":627.6999998092651,"domainLookupStart":627.6999998092651,"fetchStart":627.6999998092651,"redirectEnd":0,"redirectStart":0,"requestStart":627.6999998092651,"responseEnd":1192.6999998092651,"responseStart":1192.5999999046326,"secureConnectionStart":627.6999998092651},{"duration":565.2999997138977,"initiatorType":"script","name":"https://jira.mariadb.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/lu2cib/820016/12ta74/1.0/_/download/batch/jira.webresources:calendar-en/jira.webresources:calendar-en.js","startTime":627.9000000953674,"connectEnd":627.9000000953674,"connectStart":627.9000000953674,"domainLookupEnd":627.9000000953674,"domainLookupStart":627.9000000953674,"fetchStart":627.9000000953674,"redirectEnd":0,"redirectStart":0,"requestStart":627.9000000953674,"responseEnd":1193.1999998092651,"responseStart":1193.1999998092651,"secureConnectionStart":627.9000000953674},{"duration":565.9000000953674,"initiatorType":"script","name":"https://jira.mariadb.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/lu2cib/820016/12ta74/1.0/_/download/batch/jira.webresources:calendar-localisation-moment/jira.webresources:calendar-localisation-moment.js","startTime":628.0999999046326,"connectEnd":628.0999999046326,"connectStart":628.0999999046326,"domainLookupEnd":628.0999999046326,"domainLookupStart":628.0999999046326,"fetchStart":628.0999999046326,"redirectEnd":0,"redirectStart":0,"requestStart":628.0999999046326,"responseEnd":1194,"responseStart":1194,"secureConnectionStart":628.0999999046326},{"duration":663.5999999046326,"initiatorType":"link","name":"https://jira.mariadb.org/s/b04b06a02d1959df322d9cded3aeecc1-CDN/lu2cib/820016/12ta74/a2ff6aa845ffc9a1d22fe23d9ee791fc/_/download/contextbatch/css/jira.global.look-and-feel,-_super/batch.css","startTime":628.3000001907349,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":628.3000001907349,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":1291.9000000953674,"responseStart":0,"secureConnectionStart":0},{"duration":566,"initiatorType":"script","name":"https://jira.mariadb.org/rest/api/1.0/shortcuts/820016/47140b6e0a9bc2e4913da06536125810/shortcuts.js?context=issuenavigation&context=issueaction","startTime":628.5,"connectEnd":628.5,"connectStart":628.5,"domainLookupEnd":628.5,"domainLookupStart":628.5,"fetchStart":628.5,"redirectEnd":0,"redirectStart":0,"requestStart":628.5,"responseEnd":1194.5,"responseStart":1194.5,"secureConnectionStart":628.5},{"duration":663.4000000953674,"initiatorType":"link","name":"https://jira.mariadb.org/s/3ac36323ba5e4eb0af2aa7ac7211b4bb-CDN/lu2cib/820016/12ta74/d176f0986478cc64f24226b3d20c140d/_/download/contextbatch/css/com.atlassian.jira.projects.sidebar.init,-_super,-project.issue.navigator,-jira.view.issue/batch.css?jira.create.linked.issue=true","startTime":628.5999999046326,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":628.5999999046326,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":1292,"responseStart":0,"secureConnectionStart":0},{"duration":566.5,"initiatorType":"script","name":"https://jira.mariadb.org/s/5d5e8fe91fbc506585e83ea3b62ccc4b-CDN/lu2cib/820016/12ta74/d176f0986478cc64f24226b3d20c140d/_/download/contextbatch/js/com.atlassian.jira.projects.sidebar.init,-_super,-project.issue.navigator,-jira.view.issue/batch.js?jira.create.linked.issue=true&locale=en","startTime":628.8000001907349,"connectEnd":628.8000001907349,"connectStart":628.8000001907349,"domainLookupEnd":628.8000001907349,"domainLookupStart":628.8000001907349,"fetchStart":628.8000001907349,"redirectEnd":0,"redirectStart":0,"requestStart":628.8000001907349,"responseEnd":1195.3000001907349,"responseStart":1195.3000001907349,"secureConnectionStart":628.8000001907349},{"duration":1008,"initiatorType":"script","name":"https://jira.mariadb.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/lu2cib/820016/12ta74/1.0/_/download/batch/jira.webresources:bigpipe-js/jira.webresources:bigpipe-js.js","startTime":634.5999999046326,"connectEnd":634.5999999046326,"connectStart":634.5999999046326,"domainLookupEnd":634.5999999046326,"domainLookupStart":634.5999999046326,"fetchStart":634.5999999046326,"redirectEnd":0,"redirectStart":0,"requestStart":634.5999999046326,"responseEnd":1642.5999999046326,"responseStart":1642.5999999046326,"secureConnectionStart":634.5999999046326},{"duration":1429.5999999046326,"initiatorType":"script","name":"https://jira.mariadb.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/lu2cib/820016/12ta74/1.0/_/download/batch/jira.webresources:bigpipe-init/jira.webresources:bigpipe-init.js","startTime":642.9000000953674,"connectEnd":642.9000000953674,"connectStart":642.9000000953674,"domainLookupEnd":642.9000000953674,"domainLookupStart":642.9000000953674,"fetchStart":642.9000000953674,"redirectEnd":0,"redirectStart":0,"requestStart":642.9000000953674,"responseEnd":2072.5,"responseStart":2072.5,"secureConnectionStart":642.9000000953674},{"duration":494,"initiatorType":"xmlhttprequest","name":"https://jira.mariadb.org/rest/webResources/1.0/resources","startTime":1328.4000000953674,"connectEnd":1328.4000000953674,"connectStart":1328.4000000953674,"domainLookupEnd":1328.4000000953674,"domainLookupStart":1328.4000000953674,"fetchStart":1328.4000000953674,"redirectEnd":0,"redirectStart":0,"requestStart":1328.4000000953674,"responseEnd":1822.4000000953674,"responseStart":1822.4000000953674,"secureConnectionStart":1328.4000000953674}],"fetchStart":0,"domainLookupStart":0,"domainLookupEnd":0,"connectStart":0,"connectEnd":0,"requestStart":452,"responseStart":615,"responseEnd":625,"domLoading":619,"domInteractive":2116,"domContentLoadedEventStart":2116,"domContentLoadedEventEnd":2179,"domComplete":3045,"loadEventStart":3045,"loadEventEnd":3046,"userAgent":"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)","marks":[{"name":"bigPipe.sidebar-id.start","time":2091.5},{"name":"bigPipe.sidebar-id.end","time":2093.0999999046326},{"name":"bigPipe.activity-panel-pipe-id.start","time":2093.300000190735},{"name":"bigPipe.activity-panel-pipe-id.end","time":2095.199999809265},{"name":"activityTabFullyLoaded","time":2199.9000000953674}],"measures":[],"correlationId":"4ec9dd1a1ef816","effectiveType":"4g","downlink":9.5,"rtt":0,"serverDuration":109,"dbReadsTimeInMs":16,"dbConnsTimeInMs":25,"applicationHash":"9d11dbea5f4be3d4cc21f03a88dd11d8c8687422","experiments":[]}}