目录介绍:
关于MySQL的几点安全配置
1、安装完MySQL后
修改root用户密码
5.5以前,rpm包安装完MySQL后,root用户密码为空
5.6中,rpm包安装完MySQL后,会随机生成一个root密码,保存在/root/.mysql_secret
5.7以后,使用mysqld --initialize初始化时,默认会自动生成随机密码,并且不创建除root@localhost 外的其他账号,也不创建test库;
2、正确授权
mysql库中有4张权限表,user、db、tables_priv、columns_priv,分别对应用户密码、用户对数据库的权限、对表的权限、对列的权限。
当一个用户向MySQL发起请求时,首先会从user表中验证host、user、password,然后再依次验证db、tables_priv、columns_priv,验证过程中,如果db表中对应权限为Y,则此用户对某个库的权限全为Y,将不再验证tables_priv和columns_priv。
对于MySQL中的账户权限相关的安全配置,总结如下:
针对每个网站建立一个单独的账户
为每个网站单独建立一个专属数据库
按照user-db-tables_priv-columns_pri的顺序进行细粒度的权限控制
为每个用户单独配置一个专属数据库,保证当前用户的所有操作只能发生在它自己的数据库中,防止SQL注入发生后,黑客通过注入点访问到系统表
如果有必要,改变MySQL的root用户的用户名(在user表中更改)
3、MySQL网络完全配置
禁止root用户远程登录
防火墙设置
更改默认端口(默认3306),可以从一定程度上防止端口扫描工具的扫描
限制单个用户的连接数量:
[mysqld]
max_user_connections 20
4、文件权限及文件安全
使用非root用户启动MySQL服务
限制启动MySQL的用户的文件权限,同时确保该用户对MySQL的数据文件等有读写权限
可以使用chroot更改根目录,防止非root用户访问到一些敏感文件,比如:/etc/passwd
不要给非root用户授予process和super权限,mysqladmin processlist和show processlist命令会查看到任何用户执行的命令,这可能看到其他用户执行的update user set password=...;命令,super权限可以终止会话、更改系统参数等
不要对表使用软连接(--skip-symbolic-links参数用来禁用这一功能),表的软连接只有MyISAM支持,因为开启表软连接后(尤其是对于使用系统root用户启动MySQL服务的),MySQL用户就可以使用mysqld来删除、重命名数据文件所在位置以外的文件了
如果plugin文件夹可以被MySQL server写,那么用户就可以使用select ... into dumpfile命令把可执行代码写入到里面,可以通过把plugin_dir参数对应的路径设为只读以及调整--secure-file-priv参数来提高安全性
不要给非root用户授予文件读写权限,防止使用load data local infile来提取本地文件(比如提取/etc/passwd里的信息,会对系统安全造成威胁)
[mysqld]
local-infile=0
5、如果有必要,可以删除~/.bash_history文件,防止读取历史命令
# rm .bash_history .mysql_history
# ln -s /dev/null .bash_history
# ln -s /dev/null .mysql_history
成为黑客的基础是什么?
成为黑客的必备基础:
1、黑客的精神态度是很重要的,但技术则更是重要。黑客的态度虽然是无可取代,随着新科技的发明和旧技术的取代,这些工具随时间在慢慢的改变。例如:以往总是会学会用机器码写程序,直到最近我们开始使用HTML。不过,在1996年末,当然,这是基础的hacking技能。在1997年,理所当然的,必须学会C。 但如果只是学一种语言,那么不能算是一位黑客,了不起只能算是一个programmer。除此之外,还必须学会学会以独立于任何程序语言之上的概括性观念来思考一件程序设计上的问题。要成为一位真正的黑客,必须要能在几天之内将manual内容和目前己经知道的关连起学会一种新的语言。也就是说,必须学会了C之外的东西,至少还要会LISP或Perl(Java也正在努力的挤上这个名单)。除了几个重要的hacking常用语言之外,这些语言提供一些不同的程序设计途径,并且在好的方法中学习。
程序设计是一种复杂的技术。但是有一些一些在书本上和课堂上所没有的东西(有很多,几乎全部最好的黑客们都是自习而来的)。读别人的程序码;(写程序,这两项是不错的方法。学习写程序就像在学习写一种良好的自然语言,最好的方法是去看一些专家们所写的东西,然后写一些自己的东西,然后读更多,再写更多。然后一直持续,一直到你发展出一种属于自己的风格和特色。要找到好的程序码来看是很一件很困难的事,因为,对菜鸟黑客们而言,适于供他们阅读和努力的大型程序的source数量很少。但这事己有了戏剧性的变化了; 现在免费的供应的软件、程序设计工具和操作系统(大都公开提供 source,而且全都是由黑客们写成的)到处可看。进入下一个主题。
2、取得一个免费的 UNIX,并学习使用和维护。 取得黑客技巧的第一个步骤是取得一份Linux 或者一份免费的 BSD-Unix,并将它安装在自己的机器,并使之顺利的运作。没错,在这个世界上除了Unix之外,还有其它的操作系统。但是他们只提供bianry,不能看到他们的程序码,你也不能修改他们。想要在DOS或Windows或MacOS开始hacking,无疑就是要你绑着枷锁跳舞一样。
除此之外,Unix是Internet上的操作系统。当你在不懂Unix的情况下学习使用Internet时,你没辨法在不懂Unix的情况下成为Internet的黑客。因为这个原故,现在的黑客文化还是很牢固的以Unix为中心。(这并不完全是正确的,而且有些活在旧时代的黑客甚至也不喜欢这种情形,但是Unix和Internet之间的共生共成己经到了牢不可破的地步,即使是Microsoft的大块肌肉也没能在上面留下明显的伤痕。) 因些,把Unix装起来吧! 学习它,让它运作起来。 用它向整个Internet喊话。看程序码,改程序。
看一下Linux distribution的目录或 Linux CD,并把自己交付给它。
3、学习使用World Wide Web并学会写 HTML。
在黑客文化创造出来的东西,大多在他们的活动范围外被使用着,如,在工厂和辨公室或大学被漠漠的使用着。但Web是一个很大的例外,这个黑客眼中的大玩具甚至还被政客们接受,并巧巧的在改变这个世界。因此(还有很多好的理由),必须学习Web。并不只是学习使用browser(这太容易了)而己,还要学会写HTML这个Web的标签语言。如果不知道如何设计程序,写HTML也可以给一些习惯上的帮助。建立home page吧! 不过,有一个home page 并没任何特别之处能让你成为一位黑客。Web上到处都是home page,而且大部份都没什么重点,没什么内容的烂泥 -- 很好看的烂泥巴,但是看起来都一样,差不多。
4、至少学会以下的其中两种:
1)、网站服务器程序ASP、PHP、CGI、jsP
2)、程序语言:C语言、C++、VB、JAVA、PERL、DELPHI、汇编语言
其中C语言的通用性最好,可以跨平台(操作系统)使用。还要试着自己写程序、开发软件等工作。
3)、数据库管理软件:MYSQL、SQL、FOXPRO……等。
4)、几种常用的操作系统:WIN98、WIN2000、WINNT、WINXP、UNIX、LINUX、要是能学到UNIX那是最好不过的了。
黑客需要什么知识啊?
都是靠自己学 黑人不是教出来的 是自己学出来的
1。至少精通2个操作系统
从windows操作,管理,工具使用,安全配置,到系统内幕,底层驱动这需要多少时间……?
从linux的基本操作,到去睹shellcode,联系到bsd/其他unix系统,这又需要多少时间……
?
2。至少精通一门程序
从c语言到c++,数据结构,算法(加密解密),单单这些,又需要多少时间……?
而且不排除网络程序,从perl学到php,asp,jsp又是热门,能不学吗?光这些,又需要多少
时间……?
3。图形美工
作为hacker,当然要精通pc行业里的绝大多数东西了,
从最底层的html,到flash,这些学习要多少时间……?而且偏又碰到我这刁钻爱美的人,能
做到真正的赏心悦目
又需要多少时间……?
单单这些,深点呢,dx,3dmax,玛雅……这些又都是需要一辈子去学习的东西……?
4。硬件
装pc算不算难?……需要多少时间?换服务器呢?……?多少时间?
故障排除处理呢?这需要多少时间和经验……?
5。破解
单单一门汇编,学好需要多少时间?外加破解呢,又需要多少时间?……
6。数据库
从mssql……mysql……oracle单单这几个数据库需要多少时间……?
other……
够了!!!!!
回答者:aaddcc2020
做黑客必须具备的语言有哪些?
程序员用C++,还有的程序员用Delphi
编程语言可分为以下几类:web page script languages (网页代码);Interpreted Languages(解释型语言);Hybrid Laguages(混合型语言);COMPILING Languages(编译型语言);Assembly Languages(汇编语言);取得一个免费的 UNIX,并学习使用和维护;学会用机器码写程序;学习使用World Wide Web并学会写 HTML;Basic语言 Visual Basic;Pascal语言 Delphi;C语言 Visual C++;C++语言 C++ Builder;SQL语言 Power Builder;网站服务器程序ASP、PHP、CGI、JSP; 程序语言:C语言、C++、VB、JAVA、PERL、DELPHI、汇编语言;数据库管理软件:MYSQL、SQL、FOXPRO……等;几种常用的操作系统:WIN98、WIN2000、WINNT、WINXP、UNIX、LINUX、要是能学到UNIX那是最好不过的了。最最基本的WIN2K、WINNT也要学会吧。
web page script languages(网页代码),比如Html、javascript、Css、Asp、Php、Xml都应该属于此类。
Interpreted Languages(解释型语言) ,包括Perl、Python、REBOL、Ruby等,也常被称作Script语言,通常被用于和底下的操作系统沟通。这类语言的缺点是效率差、源代码外露——所以不适合用来开发软件产品,一般用于网页服务器。
Hybrid Laguages(混合型语言),代表是JAVA和C#。介于解释型和编译型之间。
COMPILING Languages(编译型语言),C/C++,JAVA都是编译型语言。C++比较复杂,要成为高手没三五年是不行的,虽然如此,但真正要成为高手的都应该懂C/C++。 至于Delphi,如果想要跨Linux和Windows平台的语言,则Delphi似乎是最好的选择。
Assembly Languages(汇编语言),汇编语言是最接近于硬件的语言,不过现在几乎没多少人用了。
网友评论
最新评论
;COMPILING Languages(编译型语言);Assembly Languages(汇编语言);取得一个免费的 UNIX,并学习使用和维护;学会用机器码写程序;学习使用World Wide
来。 用它向整个Internet喊话。看程序码,改程序。看一下Linux distribution的目录或 Linux CD,并把自己交付给它。3、学习使用World Wide Web并学会写 HTML。在黑客
成为一位黑客。Web上到处都是home page,而且大部份都没什么重点,没什么内容的烂泥 -- 很好看的烂泥巴,但是看起来都一样,差不多。4、至少学会以下的其中两种:1)、网站服务器程序ASP、PHP、CGI、jsP2)、程序语言:C语言、C++、VB、JAVA、PERL、DELPHI
max_user_connections 204、文件权限及文件安全 使用非root用户启动MySQL服务 限制启动MySQL的用户的文件权限,同时确保该用户对MySQL的数据文
d Laguages(混合型语言);COMPILING Languages(编译型语言);Assembly Languages(汇编语言);取得一个免费的 UNIX,并学习使用和维护;学会用机器码写程序