Port 1521 is the Oracle Database TNS (Transparent Network Substrate) listener port. The TNS listener accepts client connections and routes them to the appropriate database instance. Exposing port 1521 to the internet enables brute-force attacks against database accounts and exploitation of unpatched Oracle vulnerabilities.
Port Number
1521
Protocol
TCP
Service
Oracle TNS Listener
Range
IANA Registered (1024–49151)
Test TNS connectivity to the listener
tnsping ORCLShow listener status, registered services, and connection count
lsnrctl statusBrute-force Oracle SID names (security audit)
nmap -p 1521 --script oracle-sid-brute targetList unlocked database accounts (check for defaults)
sqlplus -s / as sysdba <<< "SELECT username,account_status FROM dba_users WHERE account_status='OPEN';"sqlplus user/pass@//host:1521/ORCL
tnsping ORCL
lsnrctl status LISTENEROracle Database has used port 1521 for the TNS (Transparent Network Substrate) Listener since Oracle 7 (1992). TNS is Oracle's proprietary network protocol. The listener acts as a broker – clients connect to 1521, request a specific SID/service name, and the listener hands off the connection. Oracle 12c (2013) introduced multitenant architecture (CDB/PDB). Oracle Autonomous Database (2018) provides managed service eliminating direct port exposure.
How do I encrypt Oracle TNS traffic?
Option 1 (easiest): Oracle Native Network Encryption – add to sqlnet.ora: SQLNET.ENCRYPTION_SERVER=REQUIRED, SQLNET.ENCRYPTION_TYPES_SERVER=(AES256). No cert management needed, transparent to applications. Option 2 (strongest): TLS/SSL – configure wallet with certificates, listener on port 2484, TCPS protocol in tnsnames.ora. Cloud: Oracle Autonomous DB uses TLS by default with mutual TLS (mTLS) wallets.
What are the most dangerous default Oracle accounts?
SYS/SYSTEM (DBA), DBSNMP (monitoring, often password=dbsnmp), SCOTT/TIGER (demo), HR/HR (sample schema), OUTLN/OUTLN (plan stability). Oracle 12c+ locks most defaults and enforces password changes at install. On older versions: ALTER USER account ACCOUNT LOCK for all unused accounts. Never change SYS/SYSTEM to simple passwords – they have DBA privilege.