W tej dokumentacji opisano, jak zintegrować Rublon MFA z Oracle Database przy użyciu protokołu RADIUS, aby umożliwić uwierzytelnianie wieloskładnikowe dla logowań do usługi Oracle Database.
Omówienie uwierzytelniania MFA dla usługi Oracle Database
Uwierzytelnianie Rublon MFA dla Oracle Database stanowi dodatkową warstwę ochrony, zapewniającą, że tylko uprawnieni użytkownicy mają dostęp do systemu. Oracle Database MFA wymusza zarówno podstawowe uwierzytelnienie (nazwa użytkownika i hasło), jak i drugą metodę, taką jak Powiadomienie mobilne, aby zagwarantować dostęp wyłącznie zweryfikowanym użytkownikom w ramach wielowarstwowego podejścia do bezpieczeństwa.
Nasza dokumentacja opisuje prosty i szybki sposób integracji Rublon MFA z usługą Oracle Database przy użyciu protokołu RADIUS. Integracja ta pozwala włączyć uwierzytelnianie wieloskładnikowe podczas logowań użytkowników i podnieść poziom bezpieczeństwa w przedsiębiorstwie.
Wspierane metody uwierzytelniania
| Authentication Method | Supported | Comments |
| Mobile Push | ✔ | N/A |
| FIDO | – | N/A |
| Passcode | ✔ | N/A |
| SMS Passcode | – | N/A |
| SMS Link | ✔ | N/A |
| Phone Call | ✔ | N/A |
| QR Code | – | N/A |
| Email Link | ✔ | N/A |
| YubiKey OTP | ✔ | N/A |
| RFID | – | N/A |
Zanim zaczniesz konfigurować uwierzytelnianie MFA dla usługi Oracle Database
Przed skonfigurowaniem uwierzytelniania Rublon MFA dla Oracle Database:
- Upewnij się, że wszystkie wymagane komponenty są gotowe.
- Utwórz aplikację w konsoli Rublon Admin Console.
- Zainstaluj aplikację mobilną Rublon Authenticator.
Wymagane komponenty
1. Dostawca tożsamości (IdP) — potrzebujesz zewnętrznego dostawcy tożsamości, takiego jak FreeRADIUS czy Microsoft NPS.
2. Rublon Authentication Proxy – zainstaluj usługę Rublon Authentication Proxy, jeśli jeszcze nie jest zainstalowana oraz skonfiguruj usługę Rublon Authentication Proxy jako serwer proxy RADIUS.
3. Oracle Database – Prawidłowo zainstalowana i skonfigurowana usługa Oracle Database. Przetestowano na Oracle Database 19c Enterprise Edition.
Utwórz aplikację w konsoli Rublon Admin Console
1. Zarejestruj się w konsoli Rublon Admin Console. Oto jak to zrobić.
2. W konsoli Rublon Admin Console przejdź do zakładki Applications (Aplikacje) i kliknij Add Application (Dodaj aplikację).
3. Wprowadź nazwę swojej aplikacji (np. Oracle Database), a następnie ustaw jej typ na Rublon Authentication Proxy.
4. Kliknij przycisk Save (Zapisz), aby dodać nową aplikację w konsoli Rublon Admin Console.
5. Skopiuj i zapisz wartości System Token i Secret Key. Te wartości będą Ci potrzebne później.
Zainstaluj aplikację Rublon Authenticator
Niektórzy użytkownicy końcowi prawdopodobnie skorzystają z aplikacji mobilnej Rublon Authenticator. Dlatego też, jako osoba konfigurująca uwierzytelnianie MFA dla usługi Oracle Database, zdecydowanie zalecamy Ci zainstalowanie aplikacji mobilnej Rublon Authenticator. Dzięki temu możliwe będzie przetestowanie uwierzytelniania MFA dla usługi Oracle Database za pomocą metody uwierzytelniania Powiadomienie mobilne.
Pobierz aplikację Rublon Authenticator dla systemu:
Konfiguracja uwierzytelniania wieloskładnikowego (MFA) dla usługi Oracle Database
Konfiguracja zapory sieciowej
Aby umożliwić komunikację z klientami (SQL*Plus) oraz usługą Rublon Authentication Proxy (RADIUS), należy otworzyć odpowiednie porty.
1. Wpisz sudo su –, aby zalogować się jako użytkownik systemowy root, a następnie wykonaj poniższe komendy:
# 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
1. Wpisz sudo su – oracle, aby zalogować się jako użytkownik systemowy oracle.
2. Załaduj zmienne środowiskowe, aby system wiedział, gdzie znajduje się Twoja instalacja bazy (zmienna $ORACLE_HOME). Możesz to zrobić automatycznie, uruchamiając narzędzie konfiguracji:
. oraenv
Gdy system zapyta o ORACLE_SID, wpisz nazwę swojej instancji (np. ORCLCDB) i zatwierdź Enterem.
Konfiguracja sieciowa
Adapter RADIUS w Oracle 19c wymaga trybu zgodności (Legacy).
1. Utwórz plik ze wspólnym sekretem.
Uwaga: Podmień YOUR_RADIUS_SECRET na swoje własne hasło. W dalszej cześci konfiguracji to samo hasło trzeba będzie podać w radius_secret w pliku konfiguracyjnym usługi Rublon Authentication Proxy, więc wybierz silne hasło.
mkdir -p $ORACLE_HOME/network/security
printf "YOUR_RADIUS_SECRET" > $ORACLE_HOME/network/security/radius.key
chmod 600 $ORACLE_HOME/network/security/radius.key
2. Skonfiguruj plik sqlnet.ora. Skopiuj i wklej poniższy blok do terminala. Utworzy on plik w odpowiednim katalogu.
Uwaga: Podmień ADRES_IP_RUBLON na IP serwera Rublon Authentication Proxy.
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
3. Zrestartuj usługę nasłuchu (Listener):
lsnrctl stop
lsnrctl start
Konfiguracja użytkowników
1. Wykonaj poniższy blok poleceń w narzędziu sqlplus (uruchom narzędzie wpisując w terminalu: sqlplus / as sysdba).
Uwaga: W kroku 4. poniższego bloku poleceń zmień nazwę ORCLPDB1 jeśli Twoja baza nazywa się inaczej.
Uwaga: Każdy użytkownik chroniony przez rozwiązanie Rublon MFA musi być utworzony w bazie jako identyfikowany zewnętrznie („IDENTIFIED EXTERNALLY”). Nazwa użytkownika w poleceniu CREATE USER musi być zgodna z nazwą konta w usłudze Active Directory. W przykładzie użyto użytkownika demo, ale w praktyce należy utworzyć w ten sposób wszystkich użytkowników Active Directory, którzy mają mieć dostęp do bazy.
-- 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
1. Edytuj plik konfiguracyjny usługi Rublon Auth Proxy i wklej wcześniej skopiowane wartości System Token i Secret Key odpowiednio w opcjach system_token i secret_key.
2. W radius_secret, podaj hasło RADIUS. Musi to być to samo hasło, które wcześniej zdefiniowano w sekcji Konfiguracja sieciowa.
3. Przykładowa konfiguracja w pliku YAML:
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/
Zobacz: Jak skonfigurować certyfikaty LDAPS w Rublon Authentication Proxy?
Konfiguracja klienta
Na stacji roboczej klienta (np. komputerze użytkownika lub serwerze aplikacji), w pliku konfiguracyjnym klienta sqlnet.ora, należy dodać wpis wymuszający obsługę RADIUS.
Lokalizacja pliku sqlnet.ora:
- Linux (Instant Client): Katalog network/admin wewnątrz folderu instalacyjnego.
- Windows: Katalog wskazany przez zmienną środowiskową TNS_ADMIN.
Do pliku sqlnet.ora dodaj następującą zawartość, która wymusza obsługę protokołu RADIUS:
NAME.DIRECTORY_PATH= (TNSNAMES, EZCONNECT, HOSTNAME)
SQLNET.AUTHENTICATION_SERVICES = (RADIUS)
Teraz możesz skonfigurować zmienne środowiskowe dla jednego użytkownika lub od razu dla wszystkich, którzy łączą się z bazą danych.
Jeśli masz wielu użytkowników, którzy logują się do bazy danych, zalecamy wykonanie instrukcji konfiguracji zmiennych środowiskowych dla każdego użytkownika dostępnego na hoście, aby uniknąć konieczności dodawania zmiennych dla każdego użytkownika z osobna.
Konfiguracja zmiennych środowiskowych dla jednego użytkownika
Uwaga: Zastosowano domyślne ścieżki. Jeśli korzystasz z innych ścieżek, dokonaj zmian w poniższym bloku.
# 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
1. Edytuj plik /etc/environment jako root:
sudo nano /etc/environment
2. Znajdź linię zaczynającą się od PATH=”…”.
- Dopisz ścieżkę do Oracle na końcu istniejącej linii PATH (wewnątrz cudzysłowu, po dwukropku).
- Dodaj nowe linie dla ORACLE_HOME i LD_LIBRARY_PATH na dole.
Plik powinien wyglądać jak poniżej (zwróć uwagę na pełne ścieżki):
# 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"
3. Zapisz plik (Ctrl+O, Enter) i wyjdź z edytora pliku (Ctrl+X).
- Aby zastosować zmiany dokonane w pliku /etc/environment, wyloguj się i zaloguj ponownie.
- Aby przetestować w obecnej sesji bez wylogowywania (inni użytkownicy i inne sesje nie zobaczą zmian, dopóki się nie wylogują i zalogują ponownie) wykonaj polecenie source /etc/environment.
- Jeśli chcesz, aby zmiany zostały zastosowane dla wszystkich użytkowników od razu, zrestartuj serwer. Po restarcie każdy użytkownik będzie musiał zalogować się ponownie, aby jego sesja korzystała z nowych ustawień.
Testowanie uwierzytelniania wieloskładnikowego (MFA) dla usługi Oracle Database
Ten przykład przedstawia logowanie wieloskładnikowe Rublon MFA do usługi Oracle Database. Metoda uwierzytelniania Powiadomienie mobilne została ustawiona jako drugi czynnik w konfiguracji usługi Rublon Authentication Proxy (Parametr AUTH_METHOD został ustawiony na Push).
1. Z poziomu stacji roboczej rozpocznij logowanie przy użyciu konsolowego klienta SQL*Plus:
sqlplus demo@//ADRES_IP_BAZY:1521/ORCLPDB1
2. Wpisz hasło domenowe Active Directory.
3. Otrzymasz żądanie uwierzytelniania za pomocą metody Powiadomienie mobilne na swój telefon. Wybierz ZATWIERDŹ.

4. Otrzymasz dostęp do usługi Oracle Database.
Rozwiązywanie problemów z uwierzytelnianiem MFA dla usługi Oracle Database
Jeśli napotkasz jakiekolwiek problemy z integracją Rublon, skontaktuj się z pomocą techniczną Rublon Support.