FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Gentoo > Gentoo User

 
 
LinkBack Thread Tools
 
Old 04-29-2008, 09:51 AM
Peter Humphrey
 
Default Network access to MySQL

Having just installed mysql on my server, I've found that I have to set
bind-address = 0.0.0.0 in /etc/mysql/my.cnf to enable me to connect to
mysqld over the local network: leaving it at the default 127.0.0.1 causes
connection requests to be rejected.

Is there a more secure value for this parameter? I want to be able to
connect over either of two network segments, 192.168.2.0/29 and
192.168.3.0/29, as well as locally on the server box. I've tried a compound
setting in bind-address, but mysqld then refuses to start. 0.0.0.0 is the
only setting I've found so far that lets me in.

--
Rgds
Peter
--
gentoo-user@lists.gentoo.org mailing list
 
Old 04-29-2008, 01:15 PM
Hamish
 
Default Network access to MySQL

On Tuesday 29 April 2008 10:51:30 Peter Humphrey wrote:
> Having just installed mysql on my server, I've found that I have to set
> bind-address = 0.0.0.0 in /etc/mysql/my.cnf to enable me to connect to
> mysqld over the local network: leaving it at the default 127.0.0.1 causes
> connection requests to be rejected.
>

Yes. because 127.0.0.1 is the address of the LOOPBACK interface. An INTERNAL
only pseudo network interface. 0.0.0.0 means that the local socket will be
bound to no specific interface, and thus will accept inbound connections TO
any IP address configured on the system.

> Is there a more secure value for this parameter? I want to be able to
> connect over either of two network segments, 192.168.2.0/29 and
> 192.168.3.0/29, as well as locally on the server box. I've tried a compound
> setting in bind-address, but mysqld then refuses to start. 0.0.0.0 is the
> only setting I've found so far that lets me in.
>

Sorry, the question doesn't make sense... The security for connecting to the
database is performed elsewhere. Either using IPTables (And specifying who
can connect), and/or userid's with passwords specified for explicit hosts
(Read up on the grant syntax in the mysql manual for details of granting
access and how to limit.

I'd recommend BOTH iptable and limited userid's myself.

Hamish.
--
gentoo-user@lists.gentoo.org mailing list
 
Old 04-29-2008, 05:24 PM
kashani
 
Default Network access to MySQL

Peter Humphrey wrote:
Having just installed mysql on my server, I've found that I have to set
bind-address = 0.0.0.0 in /etc/mysql/my.cnf to enable me to connect to
mysqld over the local network: leaving it at the default 127.0.0.1 causes
connection requests to be rejected.


Is there a more secure value for this parameter? I want to be able to
connect over either of two network segments, 192.168.2.0/29 and
192.168.3.0/29, as well as locally on the server box. I've tried a compound
setting in bind-address, but mysqld then refuses to start. 0.0.0.0 is the
only setting I've found so far that lets me in.




I generally remove the bind setting so that Mysql listens on all IPs on
the box. You can then have firewall rules at your border or locally on
the box to control access to 3306. You can also set access on a per user
basis within mysql


GRANT CREATE,DELETE,INSERT,SELECT,UPDATE PRIVILEGES ON your_db.* TO
'your_user'@'localhost';
GRANT CREATE,DELETE,INSERT,SELECT,UPDATE PRIVILEGES ON your_db.* TO
'your_user'@'192.168.2.%';


and so on.

kashani
--
gentoo-user@lists.gentoo.org mailing list
 
Old 04-29-2008, 09:40 PM
Mick
 
Default Network access to MySQL

On Tuesday 29 April 2008, kashani wrote:
> Peter Humphrey wrote:
> > Having just installed mysql on my server, I've found that I have to set
> > bind-address = 0.0.0.0 in /etc/mysql/my.cnf to enable me to connect to
> > mysqld over the local network: leaving it at the default 127.0.0.1 causes
> > connection requests to be rejected.
> >
> > Is there a more secure value for this parameter? I want to be able to
> > connect over either of two network segments, 192.168.2.0/29 and
> > 192.168.3.0/29, as well as locally on the server box. I've tried a
> > compound setting in bind-address, but mysqld then refuses to start.
> > 0.0.0.0 is the only setting I've found so far that lets me in.
>
> I generally remove the bind setting so that Mysql listens on all IPs on
> the box. You can then have firewall rules at your border or locally on
> the box to control access to 3306. You can also set access on a per user
> basis within mysql
>
> GRANT CREATE,DELETE,INSERT,SELECT,UPDATE PRIVILEGES ON your_db.* TO
> 'your_user'@'localhost';
> GRANT CREATE,DELETE,INSERT,SELECT,UPDATE PRIVILEGES ON your_db.* TO
> 'your_user'@'192.168.2.%';
>
> and so on.
>
> kashani

The --bind-address option works for one IP address only. If you set it to
127.0.0.1 only connections from localhost will be listened to. If you set it
to 0.0.0.0 connections from all addresses are listened to. I believe that
you can have one IP address set by using --bind-address and also have defined
a unix socket for mysqld to listen to. The unix socket can be set up for
local connections (you need to allow fs access for the unix socket to the
mysql client user of course, otherwise the socket will not be accessible).

As others have mentioned the firewall adds security by restricting inbound
source addresses.

HTH.
--
Regards,
Mick
 
Old 05-03-2008, 08:25 AM
Peter Humphrey
 
Default Network access to MySQL

On Tuesday 29 April 2008 22:40:09 Mick wrote:

> HTH.

Thanks to both of you. I'll leave the bind address unspecific.

--
Rgds
Peter
--
gentoo-user@lists.gentoo.org mailing list
 
Old 01-28-2009, 03:13 PM
Peter Humphrey
 
Default Network access to mysql

Afternoon all,

I have mysql running on my workstation and on my local server, and I want to
connect as an ordinary user from the workstation to the server; I can't.
This is what happens:

$ mysql -p -h serv.ethnet
Enter password:
ERROR 2003 (HY000): Can't connect to MySQL server on 'serv.ethnet' (111)

The same thing happens if I try as root.

I can connect locally as myself or as root on either machine and manipulate
tables in various ways. I haven't yet installed a firewall on either
machine.

I've set DEBUG=4 in /etc/conf.d/mysql on both machines, but nothing shows up
in /var/log/mysql/*; only some startup debug messages. I've run tcpdump on
the server, which shows that one packet passes in each direction, followed
immediately by a reverse lookup of the workstation being sent to the name
server. I don't know why nothing happens after the name-service request is
answered, but it seems to imply that the workstation is refusing the
request itself rather than forwarding it to the server.

I can't see anything in /etc/conf.d/mysql or in /etc/mysql/* on either
machine to restrict network access, so what have I missed?

--
Rgds
Peter
 
Old 01-28-2009, 03:25 PM
AllenJB
 
Default Network access to mysql

Peter Humphrey wrote:

Afternoon all,

I have mysql running on my workstation and on my local server, and I want to
connect as an ordinary user from the workstation to the server; I can't.
This is what happens:


$ mysql -p -h serv.ethnet
Enter password:
ERROR 2003 (HY000): Can't connect to MySQL server on 'serv.ethnet' (111)

The same thing happens if I try as root.

I can connect locally as myself or as root on either machine and manipulate
tables in various ways. I haven't yet installed a firewall on either
machine.


I've set DEBUG=4 in /etc/conf.d/mysql on both machines, but nothing shows up
in /var/log/mysql/*; only some startup debug messages. I've run tcpdump on
the server, which shows that one packet passes in each direction, followed
immediately by a reverse lookup of the workstation being sent to the name
server. I don't know why nothing happens after the name-service request is
answered, but it seems to imply that the workstation is refusing the
request itself rather than forwarding it to the server.


I can't see anything in /etc/conf.d/mysql or in /etc/mysql/* on either
machine to restrict network access, so what have I missed?




Check the bind-address setting in /etc/my.cnf - if this is 127.0.0.1
then no other machines will be able to connect to the mysql server. To
listen on all available interfaces, this setting should be "0.0.0.0" or
unset.


Also check that skip-networking is not enabled.
 
Old 01-28-2009, 03:28 PM
Alejandro
 
Default Network access to mysql

2009/1/28 AllenJB <gentoo-lists@allenjb.me.uk>

Peter Humphrey wrote:


Afternoon all,



I have mysql running on my workstation and on my local server, and I want to connect as an ordinary user from the workstation to the server; I can't. This is what happens:



$ mysql -p -h serv.ethnet

Enter password:

ERROR 2003 (HY000): Can't connect to MySQL server on 'serv.ethnet' (111)



The same thing happens if I try as root.



I can connect locally as myself or as root on either machine and manipulate tables in various ways. I haven't yet installed a firewall on either machine.



I've set DEBUG=4 in /etc/conf.d/mysql on both machines, but nothing shows up in /var/log/mysql/*; only some startup debug messages. I've run tcpdump on the server, which shows that one packet passes in each direction, followed immediately by a reverse lookup of the workstation being sent to the name server. I don't know why nothing happens after the name-service request is answered, but it seems to imply that the workstation is refusing the request itself rather than forwarding it to the server.




I can't see anything in /etc/conf.d/mysql or in /etc/mysql/* on either machine to restrict network access, so what have I missed?






Check the bind-address setting in /etc/my.cnf - if this is 127.0.0.1 then no other machines will be able to connect to the mysql server. To listen on all available interfaces, this setting should be "0.0.0.0" or unset.




Also check that skip-networking is not enabled.



Too late for me.
 
Old 01-29-2009, 01:44 PM
Peter Humphrey
 
Default Network access to mysql

On Wednesday 28 January 2009 16:25:16 AllenJB wrote:

> Check the bind-address setting in /etc/my.cnf - if this is 127.0.0.1
> then no other machines will be able to connect to the mysql server. To
> listen on all available interfaces, this setting should be "0.0.0.0" or
> unset.

That was it - thanks.

I'll raise a document bug to have this added to the MySQL startup guide,
which talks gaily of connecting to various hosts, but not how to make that
possible.

> Also check that skip-networking is not enabled.

It's disabled by default, and I knew I didn't want to enable it.

--
Rgds
Peter
 

Thread Tools




All times are GMT. The time now is 04:12 AM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org