linux运维安全

1、账号以及密码一定要复杂 2、可以拿一台机器作为跳板机来登陆其他服务器

#vim /etc/ssh/sshd_config PermitRootLogin no

3、能使用密钥尽量避免使用密码登陆

4、服务器上用不到的服务尽量关掉 #ntsysv #chkconfig --list #chkconfig nginx off

5、应用环境程序软件(apache,nginx,php,mysql)避免使用太老版本

6、不可逆操作在操作前一定要备份相关的数据或配置文件

7、重要数据一定要备份,尽量本地和远程备份两份

8、敲命令切勿太快,避免误操作

#rm ./* #rm /*

9、可以禁止root直接登陆服务器,只允许普通用户登陆,普通用su到root(PermitRootLogin no)

10、web禁止目录浏览(apache:Options -Indexes; nginx编译时加上--without-http_autoindex_module)

#ls /var/www/html/ #/etc/init.d/httpd restart 192.168.0.11/postfixadmin/login.php

#cd /var/www/html/ #cd postfixadmin #vim /etc/httpd/conf/httpd.conf #httpd -t

#apachectl -t

#!vim

#mkdir 123 #cd 123 #touch 1 2 3 #!v #fg #/etc/init.d/httpd restart

<Directory /var/www/html/123> Options FollowSymLinks Options +Indexes AllowOverride None </Directory>

11、web可写目录下禁止解析php(apache:php_admin_flag engine off; nginx:location~.abc/..php?${deny all;} #ps aux|grep php #vim 1.php <?php echo 1 phpinfo() ?>

/data/attachment/forum/2013/14/1.php

#vim /usr/local/nginx/conf/vhosts/lishiming.net.conf

location ~ .data/..php${ deny all; }

#/usr/local/nginx/sbin/nginx -t #!vim #/usr/local/nginx/sbin/nginx -t

#/etc/init.d/nginx reload #/etc/init.d/nginx restart #!vim #pwd #fg #rm -f 1.php

#vim /etc/httpd/conf/httpd.conf #apachectl restart #/etc/init.d/httpd

php_admin_flag engine off #fg

12、web默认虚拟主机禁止访问,apache每个虚拟术机,nginx如果不单独分离虚拟主机配置文件也为第一个, 否则就是有“listen 80 default”那个

#cd /etc/httpd/ #ls #vim conf/httpd.conf

#cd conf.d/ #ls #vim ../conf/httpd.conf

DocumentRoot /var/www/html/postfixadm

#apachectl -t #/etc/init.d/httpd restart

#curl localhost -I

#curl -xlocalhost:80
#curl -xlocalhost:80 -I

#!vim

#apachectl -t #apachectl restart

#!curl #!vim

<Directory /var/www/html/postfixadmin> Order allow,deny Deny from all Allow from 1.1.1.1 </Dirctory>

#cd /etc/nginx/

#ls

#cd vhosts/ #vim lb.conf #nginx -t

#/etc/init.d/httpd stop

#nginx -t #netstat -lnp #!vim

#nginx -t #curl localhost

13、设定php禁用函数:php.ini中增加disable_functions=

#vim /etc/php.ini disable_functions

14、设定openbase_dir(apache:php_admin_value open_basedir/data/123:/tmp/;;php-fpm: php_admin_value[open_basedir]=/data/123:/tmp/)

15、网站根目录下禁止用test命名的文件如test.php 16、php.ini中关闭display_error 17、php禁止访问远程文件(php.ini中allow_url_fopen=off allow_url_include=off0 18、站点后台访问需要限定ip (apache http:///thread-5365-1-1.html nginx:http:///thread-6458-1-1.html)

19、建议每个站点都配置访问日志,并且做日志切割压缩归档,磁盘空间允许的话,尽量存放比较久的时间)

20、尽量避免开放ftp服务,如果要开放要满足两个原则: 1)限定IP访问(iptables实现); 2) 密码设置一定要复杂

SAN DNSpod

系统架构总览

DNS的View功能可以根据IP库来智能解析电信、联通、教育网、移动等网络,前提是我们需要一个比较

全面的IP库。目前有个免费的解决方案-DNSpod

**Squid缓存服务器缓存的是静态文件(图片、js、css等)

**机房可以选择多线机房,服务器之间通过内网传输 **Memcached为mysql数据通信缓存服务,需要web服务器支持(安装php的memcache扩展) **共享存储可以自己搭建NFS,但效率不高,建议使用SAN设备