|
![]() | 作者: magic [buaaytt]
![]() |
登录 |
我的配置:linux7.2+mysql3.23.41 在编程序的时候没有给数据库的root加上密码。 现在网页做完了,想给root加上密码,但程序比较多,也记不起哪些程序用了数据库。 所以想在/etc/hosts.deny里面加上ip验证,但是不知道mysql的进程名叫什么? 请教各位了? |
地主 发表时间: 09/19 19:45 |
![]() | 回复: NetDemon [netdemon] ![]() |
登录 |
mysqld or safe_mysqld 不过我不明白你在干什么 一般程序的写法是 config文件中 包含 $UserName ='root';$PassWord ='passwd'; 然后每个程序 include config进来,以后改动config这个文件就行了 一开始养成良好的程序编写习惯是很必要的 另外要mysql拒绝其他主机的连接要在mysql本身上动手 不知道你要在host.deny上 deny什么 mysql的密码是绝对必要的,即使主机被入侵,得到root并把数据库dump回去,没有密码一样歇菜 |
B1层 发表时间: 09/19 20:50 |
![]() | 回复: magic [buaaytt] ![]() |
登录 |
收到,多谢老大了,偶会改的 我是在host.deny里用 in.telnetd:all except ip proftpd:all except ip 这样的方法来禁止除了局域网内的两台机器以外的其它机器用telnet和ftp 登陆服务器的,所以想用同样的办法来阻止别人拿我的数据库 不知道这样的安全性有多大? |
B2层 发表时间: 09/20 13:18 |
![]() | 回复: zeeno [zeeno] ![]() |
登录 |
mysql的数据库里有user的table,就是mysql的权限表 里面用select user,host from user delete from user where user='root' and host='%' 删掉host='%'的记录,这样除localhost外的主机均不能访问, 如要远程登录,你加个root ,但host='xxx@xxx.xxx.xxx.xxx' 限制用户登录的主机,如果只是网页查询的话,留'localhost'就行了 我做PHP通常将数据库连接和用户auth放在一个.inc文件里,编程的习惯 另:update user set password=password('xxxxx') where user='root' [此贴被 zeeno(zeeno) 在 9月23日7时21分 编辑过] |
B3层 发表时间: 9/23 7:58 |
![]() | 回复: TomyChen [tomychen] ![]() |
登录 |
引用: 其实呢,我觉得你的第一种说法很对,就是把mysql 做成只允许localhost访问。但是呢,你的第二种办法把用户auth放到一个.inc文件里我是极力反对!!! 因为.inc文件不是被解释型文件。就是说,他是可以以原代码形式显示的。其实把.inc改成.php的效果是一样的,何乐而不为? |
B4层 发表时间: 09/21 14:59 |
![]() | 回复: zeeno [zeeno] ![]() |
登录 |
^_^ thanx, 出于极力向C靠近区分程序体和头文件的虚荣心 |
B5层 发表时间: 09/21 15:16 |
![]() | 回复: tomas [tomas] ![]() |
登录 |
感觉你用 mysql 过程中有很多问题 1)就象前几位说的,在一个地方保存用户名和密码来连接数据库,这样改密码时会很方便 2)web 上的程序不应该用 root 用户连接 mysql ,否则一旦网页上有漏洞会威胁到系统的安全,以前 www.apache.org 被黑掉就是因为他们用 root 用户运行 mysql ,而且被人得到了 mysql 的 root 权限 3)mysql 应该和防火墙配合使用,授权时只给用户最小权限,但不限制主机,这样做的好处也是出于方便的考虑 例如 mysql> grant select, insert, delete, update, create, drop on MyDB.* to somebody@'%' identified by 'mypassword'; 尽量不要用 insert, update, delete 去操作 mysql.user 因为这样做的结果并不能立即使设置生效,你还需要一个 mysql> flush privileges; |
B6层 发表时间: 01/22 14:23 |
![]() | 回复: group [group] ![]() |
登录 |
如果拿到了主机的权限,Mysql的密码就没有意义了 因为mysql的数据库是以文件夹的形式存放的 随便找一个知道密码的Mysql,把MySQL目录拷过来覆盖你设过密码的那个东西,密码就被重置了 |
B7层 发表时间: 01/22 16:41 |
![]() | 回复: tomas [tomas] ![]() |
登录 |
出现这种情况一定是管理员太水的缘故,mysql 应该用是用单独用户运行的,比方说有人用一个 cgi 漏洞得到 nobody 权限,而 mysql 的设置又没有什么毛病,他就没办法覆盖 mysql 的文件,除非 mysql 也是以 nobody 的权限运行的 |
B8层 发表时间: 01/22 18:10 |
|
20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon
粤ICP备05087286号