Ostatnia aktualizacja dnia July 13 2026
Omówienie uwierzytelniania MFA dla usługi Oracle Database
Włącz logowanie kontem Entra ID do usługi Oracle Database przy użyciu Rublon MFA
Wspierane metody uwierzytelniania
Zanim zaczniesz konfigurować uwierzytelnianie MFA dla usługi Oracle Database
Wymagane komponenty
Utwórz aplikację w konsoli Rublon Admin Console
Zainstaluj aplikację Rublon Authenticator
Konfiguracja uwierzytelniania wieloskładnikowego (MFA) dla usługi Oracle Database
Konfiguracja zapory sieciowej
# Otwarcie portu nasłuchu bazy danych (Dla klientów)
firewall-cmd --permanent --add-port=1521/tcp
# Otwarcie portu RADIUS (Dla komunikacji wychodzącej/zwrotnej z Rublon MFA)
firewall-cmd --permanent --add-port=1812/udp
# Przeładowanie konfiguracji
firewall-cmd --reload
Przygotowanie środowiska
. oraenv
Konfiguracja sieciowa
mkdir -p $ORACLE_HOME/network/security
printf "YOUR_RADIUS_SECRET" > $ORACLE_HOME/network/security/radius.key
chmod 600 $ORACLE_HOME/network/security/radius.key
cat > $ORACLE_HOME/network/admin/sqlnet.ora <<EOF
NAME.DIRECTORY_PATH= (TNSNAMES, EZCONNECT, HOSTNAME)
# Metody uwierzytelniania: Lokalne (BEQ) oraz Zdalne (RADIUS)
SQLNET.AUTHENTICATION_SERVICES = (BEQ, RADIUS)
# Konfiguracja serwera RADIUS (Tryb Legacy)
SQLNET.RADIUS_AUTHENTICATION = ADRES_IP_RUBLON
SQLNET.RADIUS_AUTHENTICATION_PORT = 1812
SQLNET.RADIUS_AUTHENTICATION_TIMEOUT = 60
SQLNET.RADIUS_SECRET = $ORACLE_HOME/network/security/radius.key
# Wyłączenie funkcji niekompatybilnych z prostymi klientami
SQLNET.RADIUS_SEND_ACCOUNTING = OFF
SQLNET.RADIUS_CHALLENGE_RESPONSE = OFF
EOF
lsnrctl stop
lsnrctl start
Konfiguracja użytkowników
-- 1. Wyłącz prefiks OPS$ (Wymagane dla zgodności z Active Directory)
-- Robione to jest w kontenerze głównym (CDB$ROOT)
ALTER SESSION SET CONTAINER=CDB$ROOT;
ALTER SYSTEM SET OS_AUTHENT_PREFIX='' SCOPE=SPFILE;
-- 2. Zrestartuj bazę danych (Wymagane, aby parametr wszedł w życie)
SHUTDOWN IMMEDIATE;
STARTUP;
-- 3. Otwórz bazy aplikacyjne (PDB)
ALTER PLUGGABLE DATABASE ALL OPEN;
ALTER PLUGGABLE DATABASE ALL SAVE STATE;
-- 4. Przełącz się do bazy aplikacyjnej (np. ORCLPDB1)
-- UWAGA: Zmień nazwę ORCLPDB1 jeśli Twoja baza nazywa się inaczej
ALTER SESSION SET CONTAINER=ORCLPDB1;
-- 5. Utwórz użytkownika testowego (Nazwa użytkownika musi być zgodna z nazwą w Active Directory)
CREATE USER demo IDENTIFIED EXTERNALLY;
GRANT CREATE SESSION TO demo;
EXIT;
Rublon Authentication Proxy
global:
secret_source: plain # Options: plain, env, vault
log:
debug: false
rublon:
api_server: https://core.rublon.net
#OracleDB
system_token: YOURSYSTEMTOKEN
secret_key: YOURSECRETKEY
proxy_servers:
- name: RADIUS-Proxy
type: RADIUS
radius_secret: YOURRADIUSSECRET
ip: 0.0.0.0
port: 1812
mode: standard
auth_source: LDAP_SOURCE_1
auth_method: push,email
cert_path: /etc/ssl/certs/ca.crt
pkey_path: /etc/ssl/certs/key.pem
force_message_authenticator: false
auth_sources:
- name: LDAP_SOURCE_1
type: LDAP
ip: 172.16.0.127
port: 636
transport_type: ssl
search_dn: dc=example,dc=org
access_user_dn: cn=admin,dc=example,dc=org
access_user_password: CHANGE_ME
ca_certs_dir_path: /etc/ssl/certs/
Konfiguracja klienta
NAME.DIRECTORY_PATH= (TNSNAMES, EZCONNECT, HOSTNAME)
SQLNET.AUTHENTICATION_SERVICES = (RADIUS)
Konfiguracja zmiennych środowiskowych dla jednego użytkownika
# Dodaj zmienne do .bashrc
echo 'export ORACLE_HOME=/opt/oracle/instantclient_19_24' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=$ORACLE_HOME:$LD_LIBRARY_PATH' >> ~/.bashrc
echo 'export PATH=$ORACLE_HOME:$PATH' >> ~/.bashrc
# Przeładuj konfigurację (żeby zadziałało od razu)
source ~/.bashrc
Konfiguracja zmiennych środowiskowych dla każdego użytkownika dostępnego na hoście
sudo nano /etc/environment
# Dopisz : /opt/oracle/instantclient_19_24 na końcu istniejącego PATH
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/oracle/instantclient_19_24"
# Dodaj te linie na dole:
ORACLE_HOME="/opt/oracle/instantclient_19_24"
LD_LIBRARY_PATH="/opt/oracle/instantclient_19_24"
Testowanie uwierzytelniania wieloskładnikowego (MFA) dla usługi Oracle Database
sqlplus demo@//ADRES_IP_BAZY:1521/ORCLPDB1
