Nginx

在 nginx 上查看訪問我網站的 IP

  • December 7, 2013

我真的不想知道這件事,因為我想保持它真正的私密性並儘可能地給我的訪問者他們的隱私(雖然不是我的部落格很受歡迎)。

我剛剛使用 Digital Ocean 的 nginx 安裝了 Ubuntu,並預裝了Ghost,但之前我使用的是 Wordpress。現在(在我寫作的這一刻)我一直看到這個日誌

POST /bidRequest?exchange=smaato 500 2ms - 19b
POST /bidRequest?exchange=smaato 500 1ms - 19b
POST /bidRequest?exchange=smaato 500 1ms - 19b
POST /bidRequest?exchange=smaato 500 2ms - 19b
POST /bidRequest?exchange=smaato 500 1ms - 19b
POST /bidRequest?exchange=smaato 500 1ms - 19b
POST /bidRequest?exchange=smaato 500 2ms - 19b
POST /bidRequest?exchange=smaato 500 3ms - 19b
POST /wp-admin/admin-ajax.php 500 2ms - 19b
POST /bidRequest?exchange=smaato 500 2ms - 19b
POST /bidRequest?exchange=smaato 500 3ms - 19b
GET /winBid?erid=EzLM7nyV0n&eid=2&cpm=1.45449&bid=1628&w=1384697998 301 2ms
POST /bidRequest?exchange=smaato 500 2ms - 19b
POST /bidRequest?exchange=smaato 500 1ms - 19b
POST /bidRequest?exchange=smaato 500 3ms - 19b
POST /bidRequest?exchange=smaato 500 2ms - 19b

如您所見,它每秒都在發生,他們從不停止,我在想他們是在嘗試在我使用 Wordpress 時入侵我的網站,或者這些請求正在發生某些事情。我想了解這些攻擊並阻止他們的 IP,如果這是壞事的話。我將如何發現或應該在我的盒子中安裝某種模組/外掛以防止這種行為?

日誌通常可以開啟並設置路徑開啟nginx.conf /etc/nginx/nginx.conf

如果您vim或使用您的編輯器並編輯該文件並更改或檢查此行

access_log  /var/log/nginx/access.log  main;

NGINX 能夠記錄您可能感興趣的 IP 和其他資訊,但您在此處顯示的日誌似乎未配置為包含該資訊。如果你調整你的 nginx 日誌,你應該能夠啟用它。如果您需要幫助,請在此處發布您的 nginx 日誌記錄配置。我的看起來像這樣:

   log_format main
           '$remote_addr - $remote_user [$time_local] '
           '"$request" $status $bytes_sent '
           '"$http_referer" "$http_user_agent" '
           '"$gzip_ratio"';

並在日誌中記錄這樣的日誌:

76.113.215.212 - -

$$ 17/Nov/2013:10:19:19 -0600 $$“GET / HTTP/1.1” 200 15411 “-” “Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.57 Safari/537.36”

一旦找到有問題的 IP,您應該能夠以多種方式阻止它們 - 最有效的可能是作為防火牆 (iptables) 的一部分,或者,如果可以接受在重新啟動之前進行臨時阻止,您可以使用 REJECT 路由條目,這基本上會使您的電腦完全拒絕與該主機通信。如果您認為這有點笨拙,您可以製定規則以各種方式阻止 nginx(想到速率限制)。

引用自:https://serverfault.com/questions/555558