銘哥linux運維安全+面試技巧

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()
?>

www.lishiming.net/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 www.abljadkj.com
#curl -xlocalhost:80 www.abljadkj.com -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://www.lishiming.net/thread-5365-1-1.html
nginx:http://www.lishiming.net/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設備

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章