[转]linux之nginx安全讲解

nginx大家了解了一部分了,就剩下代理和负载均衡没讲,看看论坛中对linux喜欢的也不是太多,所以就没继续了,就讲了前四课,开始吧...

【一】、nginx安全

1、配置文件安全

nginx 1.3默认有个解析漏洞,所以我们需要修改下配置文件
[转]linux之nginx安全讲解

service nginx reload

在配置文件中,修改error,防止版本泄漏...

[转]linux之nginx安全讲解

2、目录安全

yum install acl来进行安装

tmp默认是777的权限,一般拿到shell后都会放在tmp下进行反弹,做好权限
[转]linux之nginx安全讲解

3.用户安全

默认nginx是nobody,修改权限

[转]linux之nginx安全讲解
[转]linux之nginx安全讲解
以上是最简单的一个安全修改方式吧,其实还有很多很多...

【二】、针对问题

今天一个朋友问我,真对各种攻击该怎么防御,怎么去操作,下面就针对这个问题进行个人看法...

1、ddos攻击,采用的是UDP、SYN洪水等之类的,小规模的可以采用cdn加速,具体怎么配置,可以谷歌、百度

2、通过nginx日志查看非法IP,然后进行访问,可以先建立break.list,然后在配置文件中加一句

include break.list

然后重启服务就可以了,把要拒绝的ip全部放到break.list里面

3、服务器多的话可以做负载均衡,可以做限制,10秒内访问多次的,自动跳转到别的服务器,这样可以抵抗一些简单的数据流

【三】、linux运维下常用的命令

  1. 1,查看nginx进程:
  2. ps aux | grep nginx | grep -v grep | wc -l
  3. 2,查看80端口的tcp连接:
  4. netstat -tan | grep "ESTABLISHED" | grep ":80" | wc -l
  5. 3,通过日志查看当天ip连接数,过滤重复:
  6. cat www.example.com-access.log | grep "26/February/2013" | awk '{print $$2}' | sort | uniq -c | sort -nr
  7. 4,当天ip连接数最高的ip都在干些什么(原来是蜘蛛):
  8. cat www.example.com-access.log | grep "26/February/2013:00" | grep "122.102.7.212" | awk '{print $$8}' | sort | uniq -c | sort -nr | head -n 10
  9. 5,当天访问页面排前10的url:
  10. cat www.example.com-access.log | grep "26/February/2013:00" | awk '{print $$8}' | sort | uniq -c | sort -nr | head -n 10
  11. 6,用tcpdump嗅探80端口的访问看看谁最高
  12. tcpdump -i eth0 -tnn dst port 80 -c 1000 | awk -F"." '{print $$1"."$$2"."$$3"."$$4}' | sort | uniq -c | sort -nr
  13. <pre>接着从日志里查看该ip在干嘛:
  14. cat www.example.com-access.log  | grep 122.102.7.212| awk '{print $$1"\t"$$8}' | sort | uniq -c | sort -nr | less
  15. 7,查看某一时间段的ip连接数:
  16. grep "2013:0[7-8]" www.example.com-access.log | awk '{print $$2}' | sort | uniq -c| sort -nr | wc -l
  17. ==============================nginx
  18. log_format main '[$$time_local] $$remote_addr $$status $$request_time $$body_bytes_sent "$$request" "$$http_referer"';
  19. access_log /var/log/nginx/www.example.com-access.log  main;
  20. 格式如下:
  21. [26/February/2013:11:52:15 +0800] 58.60.188.61 200 0.265 28 "POST /event/time HTTP/1.1" "http://host/loupan/207846/feature"
  22. 通过日志查看当天ip连接数,过滤重复
  23. cat www.example.com-access.log  | grep "26/February/2013" | awk '{print $$3}' | sort | uniq -c | sort -nr
  24. 38 112.97.192.16
  25. 20 117.136.31.145
  26. 19 112.97.192.31
  27. 3 61.156.31.20
  28. 2 209.213.40.6
  29. 1 222.76.85.28
  30. 当天访问页面排前10的url:
  31. cat www.example.com-access.log  | grep "26/February/2013" | awk '{print $$8}' | sort | uniq -c | sort -nr | head -n 10
  32. 找出访问次数最多的10个IP
  33. awk '{print $$3}' www.example.com-access.log |sort |uniq -c|sort -nr|head
  34. 10680 10.0.21.17
  35. 1702 10.0.20.167
  36. 823 10.0.20.51
  37. 504 10.0.20.255
  38. 215 58.60.188.61
  39. 192 183.17.161.216
  40. 38 112.97.192.16
  41. 20 117.136.31.145
  42. 19 112.97.192.31
  43. 6 113.106.88.10
  44. 找出某天访问次数最多的10个IP
  45. cat /tmp/access.log | grep "26/February/2013" |awk '{print $$3}'|sort |uniq -c|sort -nr|head
  46. 38 112.97.192.16
  47. 20 117.136.31.145
  48. 19 112.97.192.31
  49. 3 61.156.31.20
  50. 2 209.213.40.6
  51. 1 222.76.85.28
  52. 当天ip连接数最高的ip都在干些什么:
  53. cat www.example.com-access.log  | grep "10.0.21.17" | awk '{print $$8}' | sort | uniq -c | sort -nr | head -n 10
  54. 224 /test/themes/default/img/logo_index.gif
  55. 224 /test/themes/default/img/bg_index_head.jpg
  56. 224 /test/themes/default/img/bg_index.gif
  57. 219 /test/vc.php
  58. 219 /
  59. 213 /misc/js/global.js
  60. 211 /misc/jsext/popup.ext.js
  61. 211 /misc/js/common.js
  62. 210 /sladmin/home
  63. 197 /misc/js/flib.js
  64. 找出访问次数最多的几个分钟
  65. awk '{print $$1}' www.example.com-access.log | grep "26/February/2013" |cut -c 14-18|sort|uniq -c|sort -nr|head
  66. 24 16:49
  67. 19 16:17
  68. 16 16:51
  69. 11 16:48
  70. 4 16:50
  71. 3 16:52
  72. 1 19:09
  73. 1 19:05
  74. 1 19:03
  75. 1 18:55

 

=================================================
作者: break
日期: 2013-02-26
来源: 黑客反病毒 (http://bbs.hackav.com)

还没有评论,快来抢沙发!

发表评论

  • 😉
  • 😐
  • 😡
  • 😈
  • 😯
  • 😛
  • 😳
  • 😮
  • 😆
  • 💡
  • 😀
  • 👿
  • 😥
  • 😎
  • 😕