ummm,学院的一个月赛,关于linux的安全配置,学习一些之前不了解的知识,这里记录下
注释:所以配置位于个人购买的腾讯云服务器,部分步骤为博客地址(个人以前写的,附截图的,这里就直接放个人博客的链接)
1.安装apache+php+mysql环境
http://blog.csdn.net/wy_97/article/details/78045541
2.修改使得可以用root用户登录:
http://blog.csdn.net/wy_97/article/details/78294562
3.设置首页
从网上下载了一套模板,代替Apache初始的index.html
4.关闭目录遍历
删去indexes即可,注:Indexes 的作用就是当该目录下没有 index.html 文件时,就显示目录结构,去掉 Indexes ,Apache 就不会显示该目录的列表了。
5. 更改权限
对index.html等模板文件更改权限为755,即不给写权限,只保留root组的写权限
6.使用netstat -anp
查看了当前正在启用的端口
Ummm,都是有用的端口,这里就不关闭了,
备注:
关闭命令
iptables -A INPUT -p tcp --drop 端口号-j DROP
iptables -A OUTPUT -p tcp --dport 端口号-j DROP
7. 允许特定用户远程访问数据库
mysql -u root -p 登录进行授权操作:
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'youpassword' WITH GRANT OPTION;
重载授权表:
FLUSH PRIVILEGES;
退出mysql数据库:
exit
8. 隐藏相关信息
首先可以利用curl --head http://localhost 来查看当前会显示的服务器相关信息
隐藏apache信息
修改(ubuntu服务器)/etc/apache2/conf-available/security.Conf
ServerTokens Prod
ServerSignature Off
隐藏php信息
打开/etc/php/7.0/apache2/php.ini
加入expose_php = Off
重启Apache
service apache2 restart
9. 修改ssh登录端口
vi /etc/ssh/ssh_config
vi /etc/ssh/sshd_config
然后修改为port 8888
以root身份service sshd restart (redhat as3)
使用putty,端口8888