Re: authentication question
Re: authentication question
am 07.08.2003 05:12:32 von Robby Russell
Cath Lawrence wrote:
> Hi,
>
> Not sure if this is a novice or a PHP question; so I sent it to both.
>
> Anyway, I can't seem to deny access to my database through the web
> server/PHP connection...
>
> In my pg_hba.conf, at the top, before getting to the real databases,
> I have:
> # temporary, cath testing access on example
> local temp all reject
> host temp all 127.0.0.1 255.255.255.255 reject
> host temp all 0.0.0.0 255.255.255.255 reject
>
> Command line psql won't let me connect to temp - so far so good.
> But when I use PHP's pg_connect with host, dbname, username, password
> specified, it lets me through. It does fail non-users or bad passwords
> - but all existing postgresql users seem to be able to make the
> connection regardless.
>
> What have I missed? Ultimately, I am trying to set this up so only
> specific known users can connect to my database from particular hosts.
Cath,
I'm not sure if this will help you or not, but try adding this to the
bottom (seen this as a common practice)
# reject all connections from all hosts not granted above
host all 0.0.0.0 0.0.0.0 reject
-Robby
--
Robby Russell, Sr. Administrator / Lead Programmer
Command Prompt, Inc.
rrussell@commandprompt.com
http://www.commandprompt.com (503) 222.2783
---------------------------(end of broadcast)---------------------------
TIP 6: Have you searched our list archives?
http://archives.postgresql.org
Re: authentication question
am 07.08.2003 05:37:04 von Robby Russell
Cath Lawrence wrote:
> On Thursday, August 7, 2003, at 01:12 PM, Robby Russell wrote:
>
>> Cath Lawrence wrote:
>> I'm not sure if this will help you or not, but try adding this to the
>> bottom (seen this as a common practice)
>> # reject all connections from all hosts not granted above
>> host all 0.0.0.0 0.0.0.0 reject
>
>
> D'oh! That does it. Thanks Robby.
> Blindly copy'n'paste-ing a line with the wrong netmask did NOT help!
>
> But while I'm here - how does PHP connect? If rejecting connections
> from the local machine and from 127.0.0.1 didn't do the trick, why
> not? (Or is that getting into network issues and I needed the host's
> IP address?)
Cath,
It depends, is the php (on apache I assume) running on the same machine?
If it is, than usually rejecting 127.0.0.1 will do the trick (given that
the /etc/hosts file has an entry for localhost). If it's a remote
connection, than you will need to look at all your configuration
settings to try and determine this issue.
Glad that other bit of info helped though.
--
Robby Russell, | Sr. Administrator / Lead Programmer
Command Prompt, Inc. | http://www.commandprompt.com
rrussell@commandprompt.com | Telephone: (503) 222.2783
---------------------------(end of broadcast)---------------------------
TIP 7: don't forget to increase your free space map settings
authentication question
am 07.08.2003 07:47:29 von Cath Lawrence
Hi,
Not sure if this is a novice or a PHP question; so I sent it to both.
Anyway, I can't seem to deny access to my database through the web
server/PHP connection...
In my pg_hba.conf, at the top, before getting to the real databases, I
have:
# temporary, cath testing access on example
local temp all reject
host temp all 127.0.0.1 255.255.255.255 reject
host temp all 0.0.0.0 255.255.255.255 reject
Command line psql won't let me connect to temp - so far so good.
But when I use PHP's pg_connect with host, dbname, username, password
specified, it lets me through. It does fail non-users or bad passwords
- but all existing postgresql users seem to be able to make the
connection regardless.
What have I missed? Ultimately, I am trying to set this up so only
specific known users can connect to my database from particular hosts.
thanks for any help,
regards
Cath
Cath Lawrence, Cath.Lawrence@anu.edu.au
Senior Scientific Programmer, Centre for Bioinformation Science,
John Curtin School of Medical Research (room 4088)
Australian National University, Canberra ACT 0200
ph: (02) 61257959 mobile: 0421-902694 fax: (02) 61252595
---------------------------(end of broadcast)---------------------------
TIP 5: Have you checked our extensive FAQ?
http://www.postgresql.org/docs/faqs/FAQ.html
Re: [PHP] authentication question
am 07.08.2003 08:27:48 von Cath Lawrence
On Thursday, August 7, 2003, at 01:12 PM, Robby Russell wrote:
> Cath Lawrence wrote:
> I'm not sure if this will help you or not, but try adding this to the
> bottom (seen this as a common practice)
> # reject all connections from all hosts not granted above
> host all 0.0.0.0 0.0.0.0 reject
D'oh! That does it. Thanks Robby.
Blindly copy'n'paste-ing a line with the wrong netmask did NOT help!
But while I'm here - how does PHP connect? If rejecting connections
from the local machine and from 127.0.0.1 didn't do the trick, why not?
(Or is that getting into network issues and I needed the host's IP
address?)
thanks again
Cath
Cath Lawrence, Cath.Lawrence@anu.edu.au
Senior Scientific Programmer, Centre for Bioinformation Science,
John Curtin School of Medical Research (room 4088)
Australian National University, Canberra ACT 0200
ph: (02) 61257959 mobile: 0421-902694 fax: (02) 61252595
---------------------------(end of broadcast)---------------------------
TIP 5: Have you checked our extensive FAQ?
http://www.postgresql.org/docs/faqs/FAQ.html
Re: authentication question
am 07.08.2003 08:39:40 von Christopher Kings-Lynne
> But while I'm here - how does PHP connect? If rejecting connections
> from the local machine and from 127.0.0.1 didn't do the trick, why not?
> (Or is that getting into network issues and I needed the host's IP
> address?)
PHP is probably using a Unix domain socket (eg. /tmp/pgsql.1321 or
something), and not using an actual TCP/IP connection.
Chris
---------------------------(end of broadcast)---------------------------
TIP 4: Don't 'kill -9' the postmaster
Re: [PHP] authentication question
am 07.08.2003 16:04:13 von Tom Lane
Robby Russell writes:
> I'm not sure if this will help you or not, but try adding this to the
> bottom (seen this as a common practice)
> # reject all connections from all hosts not granted above
> host all 0.0.0.0 0.0.0.0 reject
This is unnecessary --- if the postmaster falls off the end of the file
without a match, it defaults to "reject". Nothing wrong with having
such a line for documentation purposes, but it shouldn't change the
behavior one bit.
My guess about Cath's original problem is that the lines she showed us
only controlled attempted connections to the "temp" database ... not to
any other database. If she had more lines later in the file, those
would be consulted for any connection to a database not named "temp".
Another common mistake (been burnt this way more than once) is to forget
to SIGHUP the postmaster (eg, pg_ctl reload) after editing the config
file. You can get *really* confused if you are trying different things
and sometimes you remember to SIGHUP and sometimes you don't.
regards, tom lane
---------------------------(end of broadcast)---------------------------
TIP 4: Don't 'kill -9' the postmaster