How secure is MS Access???

This is a discussion on "How secure is MS Access???" within the Databases section. This forum, and the thread "How secure is MS Access??? are both part of the Program Your Website category.



Go Back   Webforumz.com > Main Forums > Program Your Website > Databases

Notices


Closed Thread
 
LinkBack Thread Tools
  #1 (permalink)  
Old Jan 28th, 2004, 01:11
Highly Reputable Member
Join Date: Aug 2003
Location: Australia
Posts: 662
Thanks: 0
Thanked 0 Times in 0 Posts
How secure is MS Access???

Well from what i have been told, MS Access is about as secure as a locked door with the key in it. Is this true? If it is, how can I go about changing it to be more secure?

  #2 (permalink)  
Old Jan 28th, 2004, 05:38
Most Reputable Member
Join Date: Jul 2003
Posts: 1,856
Thanks: 0
Thanked 0 Times in 0 Posts
Depends on what you're talking about being secure from. The most basic thing people do wrong is put it in a publicly accessible location on their website.
  #3 (permalink)  
Old Jan 28th, 2004, 09:29
Highly Reputable Member
Join Date: Jul 2003
Location: Ipswich, UK
Posts: 690
Thanks: 0
Thanked 0 Times in 0 Posts
What exactly where you told?
  #4 (permalink)  
Old Jan 28th, 2004, 09:56
Reputable Member
Join Date: Aug 2003
Location: United Kingdom
Posts: 158
Thanks: 0
Thanked 0 Times in 0 Posts
You could setup a DSN connection, have your ISP setup a private folder (out of view from the web site) and store your .mdb there. This will stop people from stealing the complete db via a download.

But I would consider other options to Access like SQL/mySQL. Access is slow, it was not designed to be used on the web, it can only handle 10 concurrent connections...

As your site gets bigger (unless it is already popular) I would go for SQL. It will save you work in the future when you eventually have to upgrade.

HTH
u2o
  #5 (permalink)  
Old Jan 28th, 2004, 10:08
Rob's Avatar
Rob Rob is offline
Head Admin & CEO

SuperMember
Join Date: Jul 2003
Location: at my desk
Age: 34
Posts: 2,953
Blog Entries: 7
Thanks: 7
Thanked 4 Times in 4 Posts
I have to say 'WHOAAA' hold up there...

Access is fine for most things on the web.... You would have to be having traffic to the levels of these forums to warrant switching to SQL.

It's true Access doesn't like more than around 10-15 connections at the same time, but to have 10-15 visitors all requesting a database access page at the same time means you would probabally have a very busy site.

SQL is expensive, and should be kept back until you start seeing a performance shift downward. If you have written you ASP pages in a way that can handle both Access and SQL, then upgrading at a later stage will be releatively painless.

I have around 10 sites running on access, and have to say that each of them are pretty quick. I keep a close eye on them.

Some of the fairly busy, medium Size Job Boards out there are running on Access, to which I'm sure at least 2 members I know of will testify.
__________________
Rob - SEO Specialist
Owner & Founder of Webforumz.com

I am currently unavailable for private work
  #6 (permalink)  
Old Jan 28th, 2004, 10:19
Junior Member
Join Date: Sep 2003
Location: Vatican City
Posts: 45
Thanks: 0
Thanked 0 Times in 0 Posts
<blockquote id="quote"><font size="1" face="geneva, verdana, arial" id="quote">quote:<hr height="1" noshade id="quote">Originally posted by kulegamr

Well from what i have been told, MS Access is about as secure as a locked door with the key in it. Is this true? If it is, how can I go about changing it to be more secure?
<hr height="1" noshade id="quote"></blockquote id="quote"></font id="quote">

Access can be secure. You have to make sure you take proper steps

As has been mentioned, number 1 is to have the db off the webspace... most hosts have a private folder or database folder for this purpose. You can FTP to it, but not HTTP so no one can download the db even if they guess where it is. This folder will usually have IUSR write permissions too, if not you'll only be able to pull data from it, and not input data.

Usual other security points as with building any databased site.
1) make sure backend (if you have a place where you update the database online) is secure, good unguessable password, and recheck this password on everypage... ie don't let people avoid the password by going straight to a page within the backend thereby avoiding the login page. We tend to plant a cookie with username/password when you login then check on each page
2) SQL injection attacks. Google for this for more info. Main thing is if you pass parameters from one page to another via querystring or even form field, check what data you get on the next page to make sure no one hacked it, eg if you used pagename.asp?id=23, then check that the ID on the next page receives IS a number and not some clever code.
3) Defaults. Really a problem with packages. Eg we sell shopping cart software that ships with a default user/pass. Some people won't bother to change these, making it easy for an attacker to get in. Therefore we check for default installs and give big warnings to anyone using our software, forcing them to change from default settings.

Access isn't inherently insecure, but like any system, you gotta make sure you use it properly. Its very easy to build an insecure web system in any database - learn how such systems are attacked and bear this in mind with every page you code.
  #7 (permalink)  
Old Jan 28th, 2004, 10:25
Junior Member
Join Date: Sep 2003
Location: Vatican City
Posts: 45
Thanks: 0
Thanked 0 Times in 0 Posts
<blockquote id="quote"><font size="1" face="geneva, verdana, arial" id="quote">quote:<hr height="1" noshade id="quote">Originally posted by CactusJack
Access can be secure. You have to make sure you take proper steps
<hr height="1" noshade id="quote"></blockquote id="quote"></font id="quote">
Another thing I thought of... make sure server isn't giving too much info in error messages. 2 ways to do this
1) trap as many errors as possible. If someone f***s about with a querystring to cause a SQL error, trap that and deal with it with a handled error. Don't let the system show the SQL code that failed on the screen, this gives valuable info about the structure of the database to an attacker, as well as letting them know in many cases what db is being used (access, sql server etc).
2) servers can be configured to show minimal errors, though don't know off the top of my head where this is configured. Such informative errors are good when you are testing locally but bad on a live site.

3) another thing, make sure if you authorize users that you don't let one authorized user to stuff to other peoples accounts. Easy thing to miss. Eg on this site, I am authorized to post, but not authorized to edit your posts. Often bugs revolve around poor security between logged in users, as opposed to those who aren't logged in.
  #8 (permalink)  
Old Jan 28th, 2004, 10:26
Junior Member
Join Date: Sep 2003
Location: Dubai, United Arab Emirates
Posts: 26
Thanks: 0
Thanked 0 Times in 0 Posts
Access is not insecure but some common mistakes can make Access sites insecure. The most common problem is that people put their db in a location where it can be downloaded with HTTP. They also use a DSNless connection that includes the path so that an error message might give this path away.

Many hosts set up a 'data' or 'database' folder when you FTP in, alongside the 'www' or 'html' folder where the root of your site is. This is where MDBs should be located. This way, they cannot be downloaded via HTTP because they are outside the web. You can use a DSN or DSNless connection - the path is useless even if known to an attacker because they cannot download the file.

Another common problem that renders any database vulnerable is SQL injection attacks. This applies to MS SQL, MySQL as well as Access, but with Access you don't have the option of using SPROCS to avoid this so you need more defensive coding.

Access is fine for most webs. Access 2000 files perform much better than 97 due to individual record locking. We recommend SQL above 80,000 page views, but had a client run an Access db on a dedicated server with over half a million page views per month. I would certainly recommend Access for web use.
  #9 (permalink)  
Old Jan 28th, 2004, 15:36
Highly Reputable Member
Join Date: Aug 2003
Location: Australia
Posts: 662
Thanks: 0
Thanked 0 Times in 0 Posts
well, I have a DB folder outside of the WWW folder. I tried to put the file in thier and then run a finder.asp file to search and find my database. It searched and found nothing. So I just renamed it and left it alone. Only reason I really care about how secure it is is for the future of my designs. This site I am currently working on isn't that big of a deal if someone downloads the database, but I would like to know how to link to it when its in my DB folder. Can someone tell me how?
  #10 (permalink)  
Old Jan 28th, 2004, 16:10
Highly Reputable Member
Join Date: Jul 2003
Location: Ipswich, UK
Posts: 690
Thanks: 0
Thanked 0 Times in 0 Posts
you would either create a DSN (data source name) which references your database (see your host's faq for instructions) or make sure you have the correct path to the database in your connection string.

Maybe if you post your connection string and directory structure, i can show you what it needs to change to.

  #11 (permalink)  
Old Jan 28th, 2004, 18:19
Highly Reputable Member
Join Date: Aug 2003
Location: Australia
Posts: 662
Thanks: 0
Thanked 0 Times in 0 Posts
Its the Snitz Forum that I am trying to hide the database in. I have tried using a non virtual path to get to the database. It is d:\webspace\ADMIN\HaegloDesigns.com\db\snitz_forum _2000.mdb Of course thats not the real database name but I have it written correctly. When I use this it finds the database file, but says I am using the wrong Connection String... So I tried all of them and none of them seemed to work correctly.

Code: Select all
strConnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("snitz_forum_2000.mdb") '## MS Access 2000 using virtual path
'strConnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("/USERNAME/db/snitz_forums_2000.mdb") '## MS Access 2000 on Brinkster
'strConnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="'\d:\webspace\ADMIN\HaegloDesigns.com\db\snitz_forum_2000.mdb'" '## MS Access 2000
  #12 (permalink)  
Old Jan 29th, 2004, 09:01
Highly Reputable Member
Join Date: Jul 2003
Location: Ipswich, UK
Posts: 690
Thanks: 0
Thanked 0 Times in 0 Posts
<blockquote id="quote"><font size="1" face="geneva, verdana, arial" id="quote">quote:<hr height="1" noshade id="quote">
but says I am using the wrong Connection String
<hr height="1" noshade id="quote"></blockquote id="quote"></font id="quote">

Can you show me this error message?
  #13 (permalink)  
Old Jan 29th, 2004, 09:56
Rob's Avatar
Rob Rob is offline
Head Admin & CEO

SuperMember
Join Date: Jul 2003
Location: at my desk
Age: 34
Posts: 2,953
Blog Entries: 7
Thanks: 7
Thanked 4 Times in 4 Posts
You need this:-
strConnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\webspace\ADMIN\HaegloDesigns.com\db\snit z_forum_2000.mdb"
__________________
Rob - SEO Specialist
Owner & Founder of Webforumz.com

I am currently unavailable for private work
  #14 (permalink)  
Old Jan 29th, 2004, 14:17
Highly Reputable Member
Join Date: Aug 2003
Location: Australia
Posts: 662
Thanks: 0
Thanked 0 Times in 0 Posts
Thanks Rob. That worked. I appreciate the help guys!
Closed Thread

Tags
secure, access

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On

Similar Threads
Thread Thread Starter Forum Replies Last Post
How to secure scripts and pages Wolf Blade PHP Forum 8 May 10th, 2008 16:03
secure connections nightmares E-Commerce and Business 4 Nov 26th, 2007 23:10
Creating a Secure Site prizm Website Planning 6 May 23rd, 2007 19:20
ASP Multi users Access to Microsoft Access ish Classic ASP 0 Apr 26th, 2007 20:05
secure db benbramz Databases 3 Jun 1st, 2005 18:07


All times are GMT. The time now is 07:21.


Powered by vBulletin®
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0 RC8
© 2003-2008 Webforumz.com : All Rights Reserved

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43