From: | "Mark Feller" <mfeller(at)mgako(dot)com> |
---|---|
To: | "Ted Byers" <r(dot)ted(dot)byers(at)rogers(dot)com>, <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: [Bulk] General advice on database/web applications |
Date: | 2006-03-27 21:23:28 |
Message-ID: | EOEEJCGPFEOMPLBPOALHCEHCFIAA.mfeller@mgako.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
The webserver runs linux and I also have iptables on that server filtering
out all but HTTP and SSH traffic.
I have not yet implemented the database, and I am VERY reluctant to put the
full db outside our "main" firewall because of the need to protect sensitive
info. So my question, is how do the applications on the webserver interface
with the database? My one thought for a solution is to have a more limited
database hosted on the same machine as the webserver that would have
customer account number, price lists, and product lists--enough for an order
to be taken. Credit info, etc. is stored someplace more secure. After an
order is taken, the webserver/database/something then forwards an "order
placed" type of message to the main database. Maybe a synch is done between
webserver database and main database every five minutes, where the main
database pulls any new orders, and pushes any updated part lists, pricing
etc. to the webserver db?
My question, is would such a scheme be practical, or is there a "best
practices" type of approach that I should consider instead, such as the
suggestion in your next-to-last paragraph?
Thanks.
--Mark
-----Original Message-----
From: Ted Byers [mailto:r(dot)ted(dot)byers(at)rogers(dot)com]
Sent: Monday, March 27, 2006 2:54 PM
To: Mark Feller; pgsql-general(at)postgresql(dot)org
Subject: Re: [Bulk] [GENERAL] General advice on database/web
applications
>
> I am developing a small web application. Currently, our web server is
> sitting outside our firewall (running its own firewall), and the
> application
> being developed would let users do things like place orders.
>
> My question is...what and where is the database for this?
>
What do you mean when you say your web server is running its own firewall?
I could well be wrong, but I am not aware of a web server that can run a
firewall; web servers and firewalls are, as I understand them, quite
different kinds of software, though I am aware of some hardware that have
built in firewalls.
Your question, though, doesn't make sense. If, as you say explicitly in
your first sentence, that you're developing a small web application, then
either you don't have a database and need to create it, or you have already
created your database and know both where and what it is. If you haven't
created it already, then you can create it and you have absolute control
over where to put it and what RDBMS to use. The only circumstance in which
I could imagine you having a database back end for your application but not
knowing about it is if you bought hosting services from a company that
provides such services. But if that's the case, then you ought to be asking
that company about it. But if that's the case, they probably already have a
ready made virtual store application for you to use, which makes developing
your own unnecessary unless you're planning to do your own hosting, and that
takes us back to you having complete control over what you use and where you
put it.
If I were to create such a web application as you describe, I'd create a
database using PostgreSQL or something similar and have it live inside the
firewall, configured to respond only to applications running behind the
firewall. Under no circumstances would I want it to accept connections
across the firewall. Similarly, I'd have my application server and my httpd
server behind the firewall and configured to accept connections across the
firewall but only from proxy servers set up in a DMZ.
Since you are dealing with sensitive information such as financial data, you
are going to have to design security into your application from start to
finish, and then harden your entire network inside and out, including
especially your firewall and each machine individually. You have some legal
responsibilities to protect your clients' data. I'm told, by folk who ought
to know, that you could face major problems if you fail to exercise due
diligence in protecting your clients' data.
Cheers,
Ted
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2006-03-27 21:35:28 | Re: Issues with restoring |
Previous Message | Merlin Moncure | 2006-03-27 21:17:29 | Re: getting deadlocks on full table lock |