Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Mailing Lists -> Oracle-L -> RE: OPS$ / default accounts
Yes, Andy Duncan and I are collaborating on one.
Jared
"James McCann" <james_at_openet-telecom.com>
Sent by: root_at_fatcity.com
01/31/02 12:50 PM
Please respond to ORACLE-L
To: Multiple recipients of list ORACLE-L <ORACLE-L_at_fatcity.com> cc: Subject: RE: OPS$ / default accounts
Jared,
I'll have a go when I get the chance.
Did I hear someone on the list mention that you are bringing out an
Oracle/Perl book?
Jim
-----Original Message-----
Jared.Still_at_radisys.com
Sent: 31 January 2002 18:39
To: Multiple recipients of list ORACLE-L
For those of you that use Perl and DBI, here's a script to check for
default
passwords. If you feel like extending the password list ( hint, hint ), I
wouldn't
mind a bit.
Jared
#!/export/home/oracle/perl/bin/perl
# odpc.pl
# oracle default password check
# Jared Still
# jkstill_at_cybcon.com
use warnings;
use DBI;
use strict;
use Getopt::Long;
my %optctl = ();
Getopt::Long::GetOptions(
\%optctl,
"database=s", "username=s", "password=s", "sysdba!", "sysoper!", "z","h","help");
my($db, $username, $password, $connectionMode);
if (
$optctl{h}
|| $optctl{z}
|| $optctl{help}
) {
Usage(0);
}
$connectionMode = 0;
if ( $optctl{sysoper} ) { $connectionMode = 4 }
if ( $optctl{sysdba} ) { $connectionMode = 2 }
if ( ! defined($optctl{database}) ) {
Usage(1);
die "database required\n";
}
$db=$optctl{database};
if ( ! defined($optctl{username}) ) {
Usage(1);
die "username required\n";
}
$username=$optctl{username};
$password = $optctl{password};
my $dbh = DBI->connect(
'dbi:Oracle:' . $db,
$username, $password,
{
RaiseError => 1, AutoCommit => 0, ora_session_mode => $connectionMode}
die "Connect to $db failed \n" unless $dbh;
# this is a hash of common default accounts and
# the default passwords in hex form
# to extend the list, just use this SQL
#
#
my %defusers = (
CTXSYS => '24ABAB8B06281B4C', DBSNMP => 'E066D214D5421CCC', LBACSYS => 'AC9700FD3F1410EB', MDSYS => '72979A94BAD2AF80', OAS_PUBLIC => '9300C0977D7DC75E', OLAPDBA => '1AF71599EDACFB00', OLAPSYS => '3FB8EF9DB538647C', ORDPLUGINS => '88A2B2C183431F00', ORDSYS => '7EFA02EC7EA6B86F', OUTLN => '4A3BA55E08595C81', SYS => 'D4C5016086B2DC6A', SYSTEM => 'D4DF7931AB130E37', TRACESVR => 'F9DA8977092B7B81', WEBSYS => 'A97282CE3D94E29E', WKSYS => '545E13456B7DDEA0'
my $MySql="select username, password from dba_users "; $MySql .= q{ where username in('} . join(q{','}, keys %defusers) . q{')};
#print "sql: $MySql\n";
my $sth = $dbh->prepare($MySql);
use vars qw{$rv};
my $rv = $sth->execute || die "error with statement $MySql \n";
while( my $hash = $sth->fetchrow_hashref ) {
#print "username: $hash->{USERNAME} password: $hash->{PASSWORD}\n"; if ( exists $defusers{$hash->{USERNAME}} ) {
if ( $defusers{$hash->{USERNAME}} eq $hash->{PASSWORD} ) { printf("Account %-20s is using a default password\n", $hash->{USERNAME}); }
$dbh->disconnect;
sub Usage {
my $exitval = shift;
use File::Basename;
my $basename = basename($0);
print qq{
usage: $basename Oracle Default Password Checker
-database ORACLE_SID -username DBA account -password account password use one of the following options to connect as SYSOPER or SYSDBA [-sysdba || -sysoper]
};
exit $exitval;
}
"James McCann" <james_at_openet-telecom.com>
Sent by: root_at_fatcity.com
01/31/02 08:42 AM
Please respond to ORACLE-L
To: Multiple recipients of list ORACLE-L <ORACLE-L_at_fatcity.com>
cc: Subject: RE: OPS$ / default accounts
Speaking of default accounts with default passwords, here is my list that
I
check for. Anyone want to compare notes :) i.e. have I missed any?
Thanks,
Jim
perfstat/perfstat
TRACESVR ??? is only used with 7.x Databases
REPADMIN ???
CTXSYS/CTXSYS
DBSNMP/DBSNMP
INTERNAL/ORACLE
MDSYS/MDSYS
MTSSYS/MTSSYS
ORDPLUGINS/ORDPLUGINS
ORDSYS/ORDSYS
OUTLN/OUTLN
SYS/CHANGE_ON_INSTALL
SYSTEM/MANAGER
SCOTT/TIGER
-----Original Message-----
Kirti
Sent: 31 January 2002 15:25
To: Multiple recipients of list ORACLE-L
Stephane,
Thanks. Yes, we are properly fenced....
None of the databases have those default accounts with default passwords.
We do not use OEM and that agent. Passwords of critical accounts get
changed
regularly and often. Database user ids are generated & approved by Data
Security group before DBAs can add them to databases (so others do not
know
and can not guess who has what id), and they request reports of access
privileges when least expected.
So, it's all how you manage your set up. When I joined this company I was
going nuts about such things (remote_os_authent, default links by virtue
of
Oracle Names etc), but as I learned the environment I was comfortable..
And
it is helping us more than creating problems and concerns.
Cheers !
-----Original Message-----
Sent: Thursday, January 31, 2002 2:20 AM
To: Multiple recipients of list ORACLE-L
"Deshpande, Kirti" wrote:
>
> We use REMOTE_OS_AUTHENT in many of our databases. I know we shouldn't
do
> this, but we have to, and that's another topic... > > We also use a specific auth prefix. > > Now, can someone show me how a Windoze user, 'GOD' get in the databasewhen
> I do not have a user, '<Auth_Prefix>GOD' in my database. > > I say, I have nothing to worry about this setup as long as 'GOD' user inmy
> database is controlled appropriately via roles, grants, profile etc.... > > Sure, if I had <auth_prefix>GOD in the database, I will be looking for > another job.... > Right? > > - Kirti >
The problem as I see it is that it's fairly easy to get the names of users on a database. The number of databases you can connect to using dbsnmp/dbsnmp or outln/outln is desperately high, and from there you can query ALL_USERS. I must say that I am truly hopeless with any Microsoft OS, so you could safely let me with admin rights on the box when I feel at my most mischievous. But imagine I come with Linux on my laptop, I plug (like many 'nomad' users often do) into your network, manage to connect (as a less-than-nothing user), check the user list, spot something looking like a prefix, and use this information to add with linuxconf a suitably named account to my machine? I am certain that in your case everything is correctly fenced, but I have met many many many databases where the standard in terms of grants was 'TO PUBLIC', and where database links were PUBLIC as well, and usually connected to the other database as the owner of most tables (even as DBA). IMHO, if you really want to be secure, you must first know Oracle and your environment well, and also audit sensitive information.
-- Regards, Stephane Faroult Oriole Ltd -- Please see the official ORACLE-L FAQ: http://www.orafaq.com -- Author: Stephane Faroult INET: sfaroult_at_oriole.com -- Please see the official ORACLE-L FAQ: http://www.orafaq.com -- Author: Deshpande, Kirti INET: kirti.deshpande_at_verizon.com Fat City Network Services -- (858) 538-5051 FAX: (858) 538-5051 San Diego, California -- Public Internet access / Mailing Lists -------------------------------------------------------------------- To REMOVE yourself from this mailing list, send an E-Mail message to: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in the message BODY, include a line containing: UNSUB ORACLE-L (or the name of mailing list you want to be removed from). You may also send the HELP command for other information (like subscribing). -- Please see the official ORACLE-L FAQ: http://www.orafaq.com -- Author: James McCann INET: james_at_openet-telecom.com Fat City Network Services -- (858) 538-5051 FAX: (858) 538-5051 San Diego, California -- Public Internet access / Mailing Lists -------------------------------------------------------------------- To REMOVE yourself from this mailing list, send an E-Mail message to: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in the message BODY, include a line containing: UNSUB ORACLE-L (or the name of mailing list you want to be removed from). You may also send the HELP command for other information (like subscribing). -- Please see the official ORACLE-L FAQ: http://www.orafaq.com -- Author: INET: Jared.Still_at_radisys.com Fat City Network Services -- (858) 538-5051 FAX: (858) 538-5051 San Diego, California -- Public Internet access / Mailing Lists -------------------------------------------------------------------- To REMOVE yourself from this mailing list, send an E-Mail message to: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in the message BODY, include a line containing: UNSUB ORACLE-L (or the name of mailing list you want to be removed from). You may also send the HELP command for other information (like subscribing). -- Please see the official ORACLE-L FAQ: http://www.orafaq.com -- Author: James McCann INET: james_at_openet-telecom.com Fat City Network Services -- (858) 538-5051 FAX: (858) 538-5051 San Diego, California -- Public Internet access / Mailing Lists -------------------------------------------------------------------- To REMOVE yourself from this mailing list, send an E-Mail message to: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in the message BODY, include a line containing: UNSUB ORACLE-L (or the name of mailing list you want to be removed from). You may also send the HELP command for other information (like subscribing). -- Please see the official ORACLE-L FAQ: http://www.orafaq.com -- Author: INET: Jared.Still_at_radisys.com Fat City Network Services -- (858) 538-5051 FAX: (858) 538-5051 San Diego, California -- Public Internet access / Mailing Lists -------------------------------------------------------------------- To REMOVE yourself from this mailing list, send an E-Mail message to: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in the message BODY, include a line containing: UNSUB ORACLE-L (or the name of mailing list you want to be removed from). You may also send the HELP command for other information (like subscribing).Received on Thu Jan 31 2002 - 16:20:08 CST