Създаване на правила за защитната стена на SonicWALL

Използвах този инструмент за изтегляне на списък в ".htaccess позволи"формат, който позволява трафик от моята страна и ограничава всички останали, но все още е достъпен при посещение от куп чуждестранни прокси.

Ограничавам достъпа до моя сървър за домашни разработчици, където със сигурност не се нуждая от трафик от Китай, Уганда, Русия и други страни, които открих при проверката на регистрационните файлове на Apache.

Очевидно този формат изглежда не работи:

 order deny,allow allow from 37.18.184.0/22 allow from 37.18.188.0/22 allow from 37.19.104.0/22 allow from 37.19.108.0/22 allow from 37.35.8.0/22 allow from 37.35.12.0/22 allow from 37.35.64.0/22 allow from 37.35.68.0/22 allow from 37.77.168.0/22 allow from 37.77.172.0/22 deny from all  

  • Какво се случва, ако някой в ​​Русия използва прокси във вашата страна за свързване? Или VPN по този въпрос?
  • Убеден съм, че аз или моята среда за разработчици не се интересуваме толкова много от някого да предприеме тези стъпки, за да се опита да ми навреди. аз просто се опитвам да филтрирам скриптове, които по някаква причина всеки ден ме удрят.
  • denyhosts е добър скрипт за автоматично въвеждане на IP адреси във вашия файл с хостове и отказ за достъп, когато се правят опити за груба сила SSH. Моят е пълен с русински и китайски IP. Понякога получавам груби сили на FTP (vsftpd) и въвеждам ръчно тези IP, тъй като това не е често. Също така ми харесва да използвам програма, наречена multitail, за да преглеждам множество регистрационни файлове в реално време в един терминален цвят, кодиран за лесно гледане. Много е хубаво да го проверите

Опитайте с мрежовата маска вместо нотацията CIDR:

 order deny,allow allow from 37.18.184.0/255.255.252.0 ... allow from 37.77.172.0/255.255.252.0 deny from all  

Алтернативно го направете така:

 order deny,allow allow from 37.18.184. allow from 37.18.185. allow from 37.18.186. allow from 37.18.187. ... allow from 37.77.172. allow from 37.77.173. allow from 37.77.174. allow from 37.77.175. deny from all  
  • опитах, не работи при мен. по някаква причина. :(

Най-добрият начин е да използвате някои съществуващи инструменти на Apache-GeoIP (или модули)

  • mod-geoip (пример за Debian)
  • MaxMind GeoLite Country (използване - Получаване на държавата на посетителя с PHP, използвайки Geo IP)
  • MaxMind е наистина бърз, IP адресите се проверяват срещу файл, който съхранявате локално, вместо да използвате API, свързващ се с отдалечен сървър, както повечето други услуги за API на IP към държава. Използвайки файла локално, можете бързо да търсите много IP адреси. Това би било най-добрият начин, ако искат да проверят всеки IP, свързващ се със своя сървър.

От информацията във въпроса ви е трудно да се каже какво може да не е наред. Предлагам да започнете със следния тест:

  1. Напишете прост скрипт, който да повтаря вашия IP адрес обратно, нещо подобно (в PHP):

    Your IP address is: <?= $SERVER['REMOTE_ADDR']  ?> var13 ->
  2. Посетете скрипта от чужд прокси и отбележете адреса, който той съобщава. Сравнете адреса с Allow линии във вашия .htaccess файл.

Резултатите от този експеримент трябва да стеснят малко възможностите:

  • Ако докладваният IP адрес не съвпада с нито един от Allow редове, тогава или Apache изобщо не се подчинява на контролите ви за достъп по някаква причина, или има друга Allow линия някъде, която позволява на заявката да премине.

  • Ако IP адресът прави съвпадат с един от Allow линии, но изглежда, че е правилният адрес на проксито (опитайте обратното DNS търсене), тогава вашата база данни GeoIP е грешна или проксито не се намира там, където смятате, че е.

  • Ако докладваният IP адрес сочи към вашия собствен уеб хост, той може да принадлежи на обратен HTTP прокси пред вашия уеб сървър. В този случай ще трябва да разберете как да извлечете истински IP адрес на клиента от заглавките на заявката (напр. X-Forwarded-For), зададени от прокси.

  • Ако IP адресът, отчетен от скрипта, е ваш, тогава или не сте конфигурирали правилно браузъра си да използва проксито, или (малко вероятно) проксито е предал вашия IP адрес заедно в заглавките на заявката и по някаква причина вашият уеб сървър е конфигуриран да се доверява сляпо на такива заглавки (което е лоша идея - заглавията на HTTP заявки са тривиални за подправяне).

  • Ако нищо от горепосоченото не държи, значи става нещо странно. Извършването на обратен DNS и / или WHOIS търсене на отчетения IP адрес може да ви помогне да разберете какво.

Пс. Вероятно не искате да използвате около вас контроли за достъп, поне ако наистина не сте искам да позволи напр. HEAD и PUT заявки от която и да е държава.

е работил за вас: Charles Robertson | Искате ли да се свържете с нас?