ძირითადი შინაარსიდან გადასვლა

ბრძოლა კორუფციის წინააღმდეგ



საკმაოდ დიდი ხნის განმავლობაში სხვადასხვა საიტებზე და ფორუმებზე იყო სტატიები და თემები, რომ ისაუბრა მრავალი უხეში ძალის გამოყენების თავდასხმების WordPress საიტები. ცოტა ხნის წინ ჰქონდა ამ ინფექციის წინაშე. :)

ამ პოსტის, მინდა გითხრათ, ჩემი გამოცდილება შესახებ საქმე შერჩევა პაროლი საიტები, რომლებიც მუშაობენ WordPress. დაუყოვნებლივ აღვნიშნავ, რომ ყველა ჩემი საიტი მუშაობს nginx + php-fpm- ზე .



როგორც ინსტრუქციის თანახმად, ერთი მუხლი საფუძვლად დაედო საფუძვლად. თუმცა აღწერილი რეცეპტი ოდნავ შეცვლილა მისი თავდამსხმელების სპეციფიკისთვის. :)

მორგება



პირველი ნაბიჯი არის დააყენოთ fail2ban. ეს არ უნდა გამოიწვიოს სირთულეები.

  aptitude install fail2ban 

ამის შემდეგ ჩვენ დავამატებთ შემდეგ /etc/fail2ban/jail.conf კონფიგურაციის ფაილის ბოლოს:

  [nginx-wp-auth]
 ჩართულია = true
 ფილტრი = nginx-wp-auth
 action = iptables-multiport [სახელი = wp-auth, port = "http, https"]
 logpath = /var/log/nginx/*.access.log
 maxretry = 3
 bantime = 3600 

ამ შემთხვევაში, ქმედება ხელს უშლის დამრღვევთათვის დაშვებულ ოქმებს მხოლოდ მითითებულ პროტოკოლებზე და დაასახელა ისინი, როგორც wp-auth. ჟურნალში მითითებულ გზავნილებს მიუთითებთ.



ყველა ჟურნალი გაანალიზდება, მაგალითად example.com.access.log. ვებ-გვერდის ჟურნალებისთვის შეგიძლიათ დააყენოთ სპეციალური სახელები, მაგალითად, wordpress-example.com.access.log, რომ მხოლოდ ამ ჟურნალის ფაილები გაანალიზებულია.

ავტორიზაციის მაქსიმალური რაოდენობა ერთი IP- ისთვის არის სამი. დაბლოკვა დრო არის საათი. ორივე ეს პარამეტრი ინდივიდუალურად შეირჩევა.

შემდეგი ნაბიჯი არის ფილტრის შესაქმნელად.

  შეეხეთ /etc/fail2ban/filter.d/nginx-wp-auth.conf 

ამ მოქმედებების დროს მქონდა სირთულეები: ორიგინალური სტატიის მაგალითი არ მომხდარა. მან უნდა შეცვალოს. :)

  [განმარტება]
 failregex = <HOST>. * / wp-login.php HTTP / 1.1 "200
      <HOST>. * / Wp-login.php / HTTP / 1.1 "302
      <HOST>. * / Wp-login.php HTTP / 1.0 "200
 ignoreregex =

პირველი პარამეტრი შეიცავს ყველა იმ მატჩს, რომელიც უნდა იყოს ნაპოვნი ფაილში. აქ თქვენ უნდა გაანალიზოთ თავდამსხმელთა მოთხოვნები თქვენი სერვერის ჟურნალში და დაამატეთ ყველა საეჭვო პირობა, რომელიც დაკავშირებულია wp-login.php- სთან.

მეორე პარამეტრი განკუთვნილია პირველი ხაზის გამონაკლისებისათვის. არ არის საჭირო და ცარიელი რჩება.

ტესტირება

ფილტრის შექმნის შემდეგ შეამოწმეთ მისი ოპერაცია ბრძანებით:

  fail2ban-regex / var / log / nginx / example.com .access.log /etc/fail2ban/filter.d/nginx-wp-auth.conf 

ჩატარებული მატჩები გამოჩნდება ტესტის შედეგებში. მაგალითად:

  მიმდინარე ტესტები
 ==============

 გამოიყენეთ regex ფაილი: /etc/fail2ban/filter.d/nginx-wp-auth.conf
 გამოიყენეთ ჟურნალის ფაილი: /var/log/nginx/***.ru..access.log


 შედეგები
 =======

 ფილერეგესი
 | - რეგულარული გამონათქვამები
 |  [1]. * / Wp-login.php HTTP / 1.1 "200
 |  [2]. * / Wp-login.php / HTTP / 1.1 "302
 |  [3]. * / Wp-login.php HTTP / 1.0 "200
 |
 `- მატჩების რაოდენობა:
    [1] 1 მატჩი (ებ)
    [2] 0 მატჩი (ებ)
    [3] 0 მატჩი (ებ)

 Ignoreregex
 | - რეგულარული გამონათქვამები
 |
 `- მატჩების რაოდენობა:

 რეზიუმე
 =======

 ნაპოვნია მისამართები:
 [1]
     192.99.186.30 (ოთხ ივლ 04 07:29:20 2014)
 [2]
 [3]

 თარიღი თარგი ჰიტები:
 0 ჰიტი (ებ) ი: MONTH დღე საათი: წუთი: მეორე
 0 ჰიტი (ებ) ი: WEEKDAY MONTH DAY საათი: წუთი: მეორე წელი
 0 ჰიტი (ებ) ი: WEEKDAY MONTH DAY საათი: წუთი: მეორე
 0 ჰიტი (ებ) ი: წელი / თვე / დღე საათი: წუთი: მეორე
 0 ჰიტი (ებ) ი: დღე / თვე / წელი საათი: წუთი: მეორე
 0 ჰიტი (ებ) ი: დღე / თვე / წელი საათი: წუთი: მეორე
 58 ჰიტი (ებ) ი: დღე / თვე / წელი: საათი: წუთი: მეორე
 0 ჰიტი (ებ) ი: თვე / დღე / წელი: საათი: წუთი: მეორე
 0 ჰიტი (ებ) ი: წელი-საათიანი საათი: წუთი: მეორე
 0 ჰიტი (ებ) ი: წელი.მეხვიე.დღე საათი: წუთი: მეორე
 0 ჰიტი (ებ) ი: Day-MONTH- წელი Hour: Minute: Second [.Millisecond]
 0 მოხვდა: დღე-თვე წელი: წუთი: მეორე
 0 დარტყმა (ებ) ი: TAI64N
 0 ჰიტი (ებ) ი: ეპოქა
 0 ჰიტი (ებ) ი: ISO 8601
 0 ჰიტი (ებ) ი: საათი: წუთი: მეორე
 0 ჰიტი (ებ) ი: <თვე / დღე / წელი @ საათი: წუთი: მეორე>

 წარმატება, მატჩის საერთო რაოდენობა 1 

ჩაკეტ

Fail2ban ჩაიწერს ყველა ჩამკეტის წარმოებას. საჭიროების შემთხვევაში, შეგიძლიათ შეამოწმოთ ჟურნალი ფაილი /var /log/fail2ban.log მათი ყოფნისთვის.

  grep გაფრთხილება /var /log/fail2ban.log 


როგორ შეაფასებ სტატიას?
Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 (არა რეიტინგი)
იტვირთება ...

კომენტარის დამატება

თქვენი ელფოსტა არ გამოქვეყნდება.