ISSUES
(documented by Vicky Shiv, J.|Powell, July 20, 1999)
(reviewed by T. Bingham, P. Renouf, July 21, 1999)
-
- Oracle / Sybase / MDAC / ODBC / RDS
Issues:
- - The current compatibility & Y2K problems have now been compounded by a
security issue.
- Old version of MDAC (v1.5)
is only version that works with Sybase ODBC drivers.
- Old version of MDAC (v1.5)
is not Y2K compliant. This problem is corrected in MDAC v2.1. (See Appendix "A"
for details.)
- Old version of MDAC (v1.5)
has a security issue with the IIS Internet server (Using RDS COM objects in code can allow
an unauthorized external back-door to Internet server). This problem is corrected in MDAC
v2.1. (See Appendix "B" for details.)
- Old version of MDAC (v1.5)
does not support all of the Development Tools used by Web Developers. (Visual
InterDevs DB connection tools.)
OPTIONS:
(1) Continue using Sybase as Web
backend DB and MDAC 1.5. (Current Status)
- PRO:
- - Requires no new hardware or expertise.
- - Requires no reprogramming.
- CON:
- - MDAC 1.5 is NOT Y2K compliant. (See Appendix "A" for details.)
- - MDAC 1.5 when used with RDS provides a security hole. (Would require the
removal of RDS code from some Apps to fix completely. See Appendix "B".)
- - Non-isolated Web Database environment. (Web applications still shares hardware
with Frequent Shopper.)
- - Stifled development. (RDS is used to improve performance of DB calls.)
-
- (2) Continue using Sybase as Web backend DB and upgrade to MDAC 2.1.
- PRO:
- - Fixes Y2K issue.
- - Fixes security problem.
- - No rewriting or reconfiguring necessary.
- - Sybase knowledge more prevalent than Oracle in Web Developers and
on-site in Stellarton.
- CON:
- - Sybase ODBC drivers* will consistantly perform "unpredictably"
and cause crashes of Web applications. (Certain data-types will not work in Sybase tables
in conjunction with others.)
- - Non-isolated Web Database environment. (Web applications still shares
hardware with Frequent Shopper.)
- * Sybase has been working on new drivers for several months, are aware of
our problem and have been unable to provide an effective solution to date.
-
-
- (3) Convert all current Web apps to Oracle backend DB and upgrade
to MDAC 2.1.
- PRO:
- - Fixes Y2K issue.
- - Fixes security problem.
- - Improves general operability of IIS. (Oracle works much better then
Sybase with IIS.)
- - Provides isolated environment for Web Databases (Oracle boxes).
- - Improves operability of development tools (Visual InterDev provides
tighter integration with Oracle DBs).
- CON:
- - Requires rewrite of all existing Sybase to Oracle.
- - Requires new hardware and configuration. (Production and Development
Oracle DB servers)
- - Oracle learning curve among web developers.
- - Lack of on-site Oracle knowledge in Stellarton.
-
- Recommendations:
- Option (1):
Option (1)
obviously provides no solutions to the pressing problems, but if the Y2K ramifications are
minimal, or can isolated, then the status quo could possibly be maintained in the
short-term. RDS can be removed and code using it re-written or temporarily shut down. This
affects primarily the "Atheneum" (document library) application, but also
the"IP address look-up" application and to a small extent the "LAN
Administrator" app.
Conclusion: The time spent chasing the Y2K and RDS
issues in the large amounts of existing code would be time-consuming and difficult,
especially with larger applications and applications written by developers no longer with
the company.
Option (2):
Option (2) presents the
greatest danger as the unpredictability of crashes and data loss is high. It does address
the security and Y2K issues, but at the cost of reliability.
Conclusion: Instability and potential for data-loss
render this option the least attractive.
Option (3): Recommendation
Option (3) would appear to
present the most suitable solution long-term. Oracles over-all product line (and
Oracle 8i, specifically) appears to be designed with Internet applications in mind,
whereas Sybase is having difficulty developing ODBC drivers that function with
Microsofts Internet Server software (which represents 28% of the overall Internet
server market). Given Oracles near seamless integration with our current Web server
(and development tools), it appears to be the most appropriate choice.
Further, converting our pre-existing Sybase tables to
Oracle tables appears to be a relatively easy process (with the exception being the HR
applications, which is more complex).
Conclusion: Given the deadline of January 1, 2000
(MDAC 1.5 is non-Y2K), the sooner we can obtain and configure the Oracle hardware and
software the sooner we can begin to port the tables and update the Web-based code. This
will require resources and expertise from Shared Services in addition to Web developers
from Applications.
As for RDS, it can be removed and the apps that use
it can either be temporarily shut down, or re-written to bypass RDS. The largest
application currently using RDS is the Atheneum (document library) application on the
Intranet, but it is also used very frequently in the IP application and the Network
Manager application. A final option would be to ignore the RDS problem assuming the Oracle
/ MDAC issue can be implemented within a month or so. Given that we have survived to date
without a security breach, this may be the most appealing option, thus making all our
resources available to convert to the Oracle DB.
Appendix "A" MDAC 1.5 Y2K Compliance
Issue:
(Compiled by P. Renouf, July 20, 1999)
We are running MDAC version 1.5, the current version of MDAC
is 2.1.2.4202.3 (GA).
The Known Year 2000 problems with MDAC 1.5 are:
(OLE DB compliance):
The known Year 2000 issues for OLE DB data coercion library are:
If you code to ADO,
- AND your ADO Recordset includes Date data types, such as: adDate, adDBDate,
adFileTime, or adDBTimeStamp.
- AND you are using a date format in which periods are used instead of slashes for date
separator (01.01.98 instead of 01/01/98)
- AND you specify a two-digit year less than 60,
- AND you do not specify a time as part of the date/time information
THEN Data Convert (msdadc.dll) may translate your date as a time. For example, 01.01.01
(January 1, 2001) could be converted to 01:01:01 (December 30, 1899, 1:01:01am).
If you code directly to OLE DB, the same case exists:
If you are converting from a variant (BSTR, VARIANT or PROPVARIANT) to date datatypes,
such as:
DBTYPE_DATE
DBTYPE_DBDATE
DBTYPE_DBTIME
DBTYPE_FILETIME
DBTYPE_DBTIMESTAMP
- AND you are using a date format in which periods are used instead of slashes for date
separator (01.01.98 instead of 01/01/98)
- AND you specify a two-digit year less than 60,
- AND you do not specify a time as part of the date/time information
THEN Data Convert (msdadc.dll) may translate your date as a time. For example, 01.01.01
(January 1, 2001) could be converted to 01:01:01 (December 30, 1899, 1:01:01am).
- There are no known Year 2000 problems with MDAC 2.1.2.4202.3.
- Appendix "B" MDAC 1.5 RDS Security Issue:
- (Documented by P. Renouf, July 20, 1999)
The recent RDS security hole is a rather large one. The
implication is that through RDS (with MDAC 1.5 either running now, or installed previously
and upgraded) an external user can access the Web Server as System. System is an access
level even beyond Administrator, it has total unequivocal control over the server.
- To make matters worse, through this hole the attacker can access any database devices
the RDS has access to. The details of this attack have not yet been made public, but this
is by far one of the worst security holes to date.
- There are a two ways around this:
- 1. Uninstall MDAC 1.5 and install 2.1.2 (which does not have this problem) then add
entries to the registry to allow better handling of RDS requests.
- 2. Delete a directory on the Web Server which will remove the hole, but also disable
RDS.
-
- To be susceptible to this hole you need to have IIS and MDAC 1.5 installed, and be using
RDS. We fit all three.
- This may also effect any other servers we have that have had IIS installed on them
perviously. With those machines it will not be an issue because we can simply disable RDS
to plug the hole.
|