Негізгі мазмұнға өту

Nginx http_referer_module әкімшілік сайтты күшті күштен қорғау үшін пайдалану



Nginx веб-серверінің құжаттамасын оқыған кезде, http реферирлік модулі деп аталатын қызықты модульге тап болдым. Егер сұрауда дұрыс сілтеме тақырыбы болмаса, ол сайтқа немесе оның бөлімдеріне кіруді блоктауға мүмкіндік береді.

Бұл модуль кез келген сайттың әкімшісін қатал күштен қорғау үшін пайдаланылуы мүмкін. Мәселен, сайт WordPress-те жұмыс істейді, бірақ егер сайт тіркелді болса, онда ip арқылы кіруді бұғаттау орынсыз болады. Олар сондай-ақ түпнұсқалығын растау керек және олардың ip жинау - бұл мағынасыз жаттығу. :)



Пайдалану қағидаты қарапайым: сайтында wp-login.php логин парағына сілтеме көрсетіледі, және nginx конфигурациясының файлында wp-login.php және / wp-admin / сұратуларын растау тақырыбындағы сайтымыздың мекен-жайының болуын тексеруді орнатамыз.

Ең алдымен, қалаған беттер үшін арнайы орынды жасаңыз. Мысалы:


 сервер {... орналасқан жері ~ * (wp-login \ .php | wp-admin (. *)) $ {try_files $ uri = 404;  fastcgi_pass unix: /run/php-www.sock;  location ~ \ .php $ {қамтиды fastcgi_params;  fastcgi_param SCRIPT_FILENAME $ document_root $ fastcgi_script_name;  fastcgi_ignore_client_abort өшірулі;  fastcgi_param PHP_VALUE «sendmail_path = / usr / sbin / sendmail -t -i -fmail@example.com»;  fastcgi_param PHP_ADMIN_VALUE «open_basedir = / var / www / example.com /: / var / save_path /: / var / tmp_dir /»;  }} ...} 

Көріп отырғаныңыздай, мұнда php сценарийлерін өңдеу параметрлері көрсетіледі (әйтпесе орнында көрсетілген сценарийлер жұмыс істемейді).

Модульдің конфигурациясы location ~* (wp-login\.php|wp-admin(.*))$ { кейін бірден тіркелуі мүмкін.

Бірінші жол:


  valid_referers server_names 

Бұл торап сілтемесі дұрыс сілтеме өрісі деп саналуы керек.

Сондай-ақ біз сынақ жағдайын тіркейміз. Егер сілтеме өрісі дұрыс болмаса, сервер 403 қатені көрсетеді (кіруге тыйым салынған).

  егер ($ invalid_referer) {
     403 қайтару;
 }

Нәтижесінде, конфигурация келесідей болады:

  сервер {
 ...
 орналасуы ~ * (wp-login \ .php | wp-admin (. *)) $ {
 valid_referers server_names
 егер ($ invalid_referer) {
     403 қайтару;
 }
 (Fastcgi параметрлері)
 }
 ...
 }

Соңында, сайтта логин бетіне сілтеме (wp-login.php немесе тағы бір нәрсе) қосыңыз. Егер осы сілтеме бойынша келуші бассаңыз, ол авторизация формасын алады. Бірақ егер боттың бұл файлға тікелей соқтығысты болса, ол кіру қатесін алады.

Ия, бас тақырыпты сілтеме жасай алатындығын ескеру керек. Бірақ мен үшін жеке-жеке алғанда, дұрыс толтырылған реферат өрісі бар боттар өте сирек кездесіп, ip арқылы тыйым салынған. :) Сондықтан бұл әдіс әбден орынды болуы мүмкін.



Сіз мақаланы қалай бағалайсыз?
Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 ( 1 рейтингі, орташа: 1.00 оның 5)
Жүктелуде ...

Пікір қосу

Сіздің электронды поштаңыз жарияланбайды.