Динамический nginx доменный корневой путь на основе имени хоста?

Я лично засвидетельствовал живой, в пути, почтовый перехват. Это было на технической конференции, и сессия была всем о сниффинге сетей. Преподаватель просто разжег ее сниффера в беспроводной сети конференции, и в течение 15 минут имел несколько пар аутентификации POP3/SMTP вместе с полученными и отправленными сообщениями. Они были ноутбуками в конференц-залах, опрашивающих их электронную почту по незашифрованным протоколам. Затем за эти 15-30 минут после сессии участники сессии делали то же самое, после того как они загрузили правильные инструменты.

Я был бы очень, очень удивлен, не делаются ли те же виды вещей никогда в нашем Кампусе WLAN.

Как примечание стороны, преподаватель также признался, что осуществил сниффинг трафика ее кабельного соседа. В образовательных целях только.

С точки зрения SMTP электронная почта обработки более вероятно, будет, значительно прервана близко к конечным точкам. Заинтересованные стороны на любом конце того разговора. В середине, куда трафик SMTP течет по большему Интернету, заинтересованная сторона, намного более вероятно, будет правительством, чем злые хакеры.

Тем не менее самые большие случаи перехвата не захватывают транзакцию SMTP в полете, она захватывает вход в систему POP3/IMAP/SMTP/WebMail, который гарантирует полную способность к перехвату навсегда (или по крайней мере пока пароль не изменяется). Это ежедневно предпринимается в моей сети через Фишинг. После того как учетные данные являются пропущенной электронной почтой, может быть считан волей-неволей или более наиболее часто используемый для отправки спама посредством наших доверяемых почтовых серверов.


Отвечать на Ваши вопросы, тем не менее,

1: Да, это - настоящая проблема. Самое большое воздействие по недоверяемому (или доверял, но незашифрованный), беспроводные сети. И правительства.

2: Они там, но я должен был бы погуглить, и я ленив в эту субботу утром. Прерывание фактических транзакций SMTP не в конечной точке обычно является областью правительств и корпоративной безопасности. Хакеры обычно нацелены на почтовые ящики не транзакции, поскольку они - намного более богатая цель.

3: Сниффинг беспроводных сетей для незашифрованных почтовых транзакций является безусловно самым легким методом. Думайте установки типа кафе. Меньшие методы как подкуп почтовых серверов для захвата сообщений являются более теоретическими, чем фактический, хотя намного более вредный, когда они действительно происходят.


Отступая один шаг к теме электронных писем сброса пароля, хакеры, которые поставили под угрозу почтовый ящик, могут усилить такие электронные письма для взлома других сайтов. Они ставят под угрозу учетную запись Gmail, и путем рассмотрения сообщений понимают, что этот человек ведет большой бизнес с определенным сайтом электронной коммерции, который, как известно, хранил информацию кредитной карты. Они переходят к тому сайту и проходят процесс забытого пароля (так как МНОГО сайтов теперь использует адрес электронной почты в качестве имени учетной записи в эти дни), и получите электронную почту сброса пароля. Они изменяют пароль, который запускает таймер на том, когда владелец учетной записи заметит. Зло начинается, особенно если сайт электронной коммерции является тем, который отображает целые числа кредитной карты в профиле.

Печальная вещь здесь состоит в том, что совершенно возможно, что владелец учетной записи не будет даже видеть неспособности войти в систему как определенный знак, что зло произошло. Если они не используют помнящую пароль программу, они могли бы просто рисовать мелом ее до вползающей старости и просто изменить пароль одному, они знают.

9
задан 11 December 2012 в 23:26
5 ответов

Почему бы просто не использовать:

server_name *.frameworks.loc;
root /var/www/frameworks/$http_host/public;
11
ответ дан 2 December 2019 в 22:20

Может быть, вы также можете изучить lighttpd. Он имеет встроенную поддержку именно того, о чем вы здесь спрашиваете. Это вызов mod_evhost .

Включить evhost

Добавьте следующие строки в ваш lighttpd.conf. Если вы используете базовый дистрибутив Debian / Ubuntu, просто скопируйте программную ссылку или скопируйте из /etc/lighttpd/conf-available/10-evhost.conf в / etc / lighttpd / conf-enabled / .

    # http://redmine.lighttpd.net/wiki/1/Docs:ModEVhost
    server.modules += ( "mod_evhost" )
    evhost.path-pattern = "/home/www/%_"

% _ (подстановочный знак) в evhost.path-patten означает использование полного имени домена (например, www.example.com). Запрос www.example.com будет автоматически направлен в корневой каталог документа /home/www/www.example.com/ .

Добавить дополнительный сайт так же просто, как создать новый каталог в / home / www с полным доменным именем. Без изменений в конфигурационном файле Lighttpd.

Существуют и другие символы подстановки, которые можно использовать для построения структуры каталогов. Они следующие

    %% => % sign
    %0 => domain name + tld
    %1 => tld
    %2 => domain name without tld
    %3 => subdomain 1 name
    %4 => subdomain 2 name
    %_ => full domain name

Подробная информация здесь .

PS: Включить PHP также легко, если вы используете платформу debian / ubuntu. Просто включите 10-fastcgi.conf и 15-fastcgi-php.conf .

0
ответ дан 2 December 2019 в 22:20

Конфигурация Nginx - это не программа, это декларация. Когда вы используете такую ​​конфигурацию:

server {
        server_name ~^(.+)\.frameworks\.loc$;
        ...
        set $file_path $1;
        root    /var/www/frameworks/$file_path/public;
}

Невозможно гарантировать, что ваша директива set будет выполнена до root .

Но есть трюк с map , которую мне нравится использовать. Он основан на том факте, что карта оценивается перед location

http {
  map $http_host $rootpath {
    ~^(.?<mypath>+)\.frameworks\.loc$  $mypath;
    default                            /      ;
  }
  ....
  root /var/www/frameworks/$rootpath
}
12
ответ дан 2 December 2019 в 22:20

В дополнение к замечательному ответу DukeLion мне нужно было изменить строку

~ ^ (.? +) \. Frameworks \ .loc $ $ mypath ;

в

~ ^ (? P . +) \. Frameworks \ .loc $ $ mypath;

в моем /etc/nginx/nginx.conf файле как предложил здесь .

Добавление

корня / var / www / frameworks / $ rootpath

в / etc / nginx / sites-available / default после этого работал нормально.

3
ответ дан 2 December 2019 в 22:20

NGINX использует библиотеку регулярных выражений PCRE.
Начиная с версии NGINX v0.8.25 server_name , директива разрешает именованные захваты .

Именованные захваты в регулярных выражениях создают переменные ( 0.8.25 ), которые могут позже будет использоваться в других директивах При использовании именованных скобок NGINX автоматически устанавливает переменную для каждой именованной скобки во время оценки имен серверов (я полагаю).

Я использую следующий фрагмент, чтобы «ограждать» среду разработчиков. «Пользователь» относится к их имени пользователя и «проектирует» проект, над которым они работают:

# ...
server_name ~^(?<user>[^.]+)\.(?<proj>[^.]+).dev.local-server.com;
root /home/$user/www/$proj;
# ...

Обратите внимание, что конфигурация nginx является декларативной, и поэтому статические объявления всегда могут быть быстрее по сравнению с вычисляемыми значениями и переменными во время выполнения. Оценка регулярных выражений относительно дорогостоящая, я полагаю, что ее нужно использовать с осторожностью в сильно загруженных (производственных) средах.

0
ответ дан 2 December 2019 в 22:20

Теги

Похожие вопросы