Need Help? We are right here!
PostgreSQL is a database which uses techniques to provide security to site-to-site connections. Also, it secures a point-to-point connection. You can enable two-factor authentication (2FA) for your PostgreSQL with Active Directory as a user store to increase security level. When you enable 2FA, your users enter their username and password (first factor) as usual, and as a second factor they have to enter an authentication code which will be shared virtually on their device or in the form of a hardware token. This 2FA/MFA solution adds an additional security measure to prevent unwanted users getting access to your PostgreSQL .
The 2-factor authentication can be of two types depending on the applications.
Note: PostgreSQL do not support RADIUS challenge.
miniOrange accomplishes this by acting as a RADIUS server that accepts the username/password of the user entered as a RADIUS request and validates the user against the user store as Active Directory (AD). After the first level of authentication, miniOrange prompts the user with 2-factor authentication and either grants/revokes access based on the input by the user.
miniOrange supports multiple 2FA/MFA authentication methods for PostgreSQL secure access such as, Push Notification, Soft Token, Microsoft / Google Authenticator etc.
|miniOrange Authenticator||Soft Token|
|miniOrange Push Notification|
|Mobile Token||Google Authenticator|
|SMS||OTP Over SMS|
|SMS with Link|
|OTP Over Email|
|Email with Link|
|Call Verification||OTP Over Call|
|Hardware Token||Yubikey Hardware Token|
|Display Hardware Token|
You can opt for any of the 2FA methods to secure your PostgreSQL . To integrate 2FA, you can enable RADIUS authentication in PostgreSQL and configure policies in miniOrange to enable or disable 2FA for users.
miniOrange provides user authentication from various external directories such as miniOrange Directory, Microsoft AD, Azure Active Directory/LDAP, AWS Cognito and many more.
Can't find your Directory? Contact us on email@example.com
|Client Name:||Any name for your reference.|
|Client IP:||IP address of VPN server which will send Radius authentication request.|
|Shared Secret:||Security key.
For Eg. "sharedsecret"
(Keep this with you, you will need to configure same on VPN Server).
|Vendor Name||Group Attribute||Vendor ID||Vendor Attribute ID|
|Cisco ASA VPN||26 Vendor-Specific||3076||25|
|Fortinet VPN||26 Vendor-Specific||12356||1|
|Palo Alto VPN||26 Vendor-Specific||25461||5|
|SonicWall VPN||26 Vendor-Specific||8741||3|
|Citrix VPN||26 Vendor-Specific||66||16|
|Group Name:||Group for which the policy will apply.|
|Policy Name:||Any Identifier that specifies policy name.|
|Login Method||Login Method for the users associated with this policy.|
|Enable 2-Factor Authentication||Enables Second Factor during Login for users associated with this policy.|
|Enable Adaptive Authentication||Enables Adaptive Authentication for Login of users associated with this policy.|
Only For On-Premise Version
Open Firewall Ports.
updatedb locate pg_hba.conf vi /etc/postgresql/12/main/pg_hba.conf
host all all 0.0.0.0/0 radius radiusservers=<MO Radius IP> radiussecrets=<radius password> radiusports=1812
(The Active Directory Group Provisioning (Sync) setup is done. Now, whenever a user is created or modified in LDAP server and if the Assign Users to groups is enabled, then user group attribute from the LDAP server will be automatically synced and the user group will be assigned or changed accordingly in miniOrange.)
Note: You can follow this guide, if you want to customize and enroll MFA for end users.
Our Other Identity & Access Management Products