Как я определяю программное обеспечение/версию сервера Linux и выполнение программного обеспечения/версии почтового сервера

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

я не полагаю, что возможно с IIS обойти это. Настройки реестра, которые Вы упомянули, для других типов ограниченных символов. Я не видел рычаг для изменения той функциональности.

то, Какова Ваша цель, избегает этого? Это открывает Вашу поверхность атаки шире, и я не могу вообразить законного посетителя, потерянного в результате блокирования неполных escape-последовательностей URL.

Update2: Вот три больших ссылки на это. И Nazim Lala и Wade Hilmo от команды IIS вели блог об этом из-за дискуссии по поводу Вашего вопроса. Также у Scott Hanselman есть большое сообщение на querystring части в.NET:

Обновление: я согласовал с членом команды IIS для получения авторитетного ответа. Он упомянул, что % считают небезопасным символом согласно RFC 1738 ( http://www.ietf.org/rfc/rfc1738.txt ).

Вот соответствующий текст:

Небезопасный:

Символы могут быть небезопасными по ряду причин. Пробел небезопасен, потому что значительные пробелы могут исчезнуть, и незначительные пробелы могут быть представлены, когда URL записываются или набираются или подвергаются обработке программ обработки текстов. Символы "<"; и">" небезопасны, потому что они используются в качестве разделителей вокруг URL в произвольном тексте; метка кавычки (""") используется для разграничивания URL в некоторых системах. Символ "#" небезопасен и должен всегда кодироваться, потому что он используется во Всемирной паутине и в других системах для разграничивания URL от идентификатора фрагмента/привязки, который мог бы следовать за ним. символьный "%" небезопасен, потому что это используется для кодировки других символов. Другие символы небезопасны, потому что шлюзы и другие транспортные агенты, как известно, иногда изменяют такие символы. Эти символы "{", "}", "|", "\", "^", "~ ", "[", "]", и" '".

Все небезопасные символы должны всегда кодироваться в URL. Например, символ "#" должен быть закодирован в URL даже в системах, которые обычно не имеют дело с фрагментом или идентификаторами привязки, так, чтобы, если URL копируется в другую систему, которая использует их, не было необходимо изменить кодирование URL.

, Таким образом, IIS заранее блокирует это на базовом уровне, превентивные меры безопасности для уменьшения их поверхности атаки.

2
задан 19 May 2010 в 20:16
3 ответа

Моя первая предсказуемая реакция - то, что необходимо говорить с власть имущими и сделать план заменить эту машину. Это может звучать как экстремальное значение, но когда Вы наследовали любую среду, Вы исчерпывающе не понимаете, что у Вас есть два варианта: Изучите это от и до и произведите документацию или замените его (хорошо зарегистрированной) системой, которую Вы понимаете полностью.
Почта в особенности полна головных болей и ловушек и по моему опыту известного - хорошую, чистую почтовую систему легче диагностировать, чем та, которую Вы наследовали.

Отвечать на Ваш фактический вопрос:

  • uname -a даст Вам версию ядра (и архитектура), Вы работаете
  • cat /etc/debian_version даст Вам имя выпуска Debian
  • dpkg -l даст Вам список всех установленных пакетов
    Принятие машины было создано "Путь Debian" Ваше почтовое программное обеспечение (POP/IMAP/SMTP), обнаружится там, а также много другого материала, о котором необходимо знать.

Также заботьтесь для рассмотрения любого заявления веб-почты, что у них есть выполнение (это не может быть пакетом Debian, но веб-почтой, UI обычно говорит Вам, какое программное обеспечение это и можно ввести по абсолютному адресу вокруг в файловой системе для нахождения, где это живет), и любое программное обеспечение списка рассылки (мажордом, ezmlm, и т.д.), если они используют его.

Существуют также инструменты Linux Standard Base, которые дают Вам эту информацию (и больше), но я не знаю их первое, что пришло на ум, и они не могут быть установлены на Вашей машине так или иначе - Кто-то еще на здесь может, вероятно, указать на Вас на те инструменты.

1
ответ дан 3 December 2019 в 09:10
  • 1
    " uname-a" и " кошка/etc/debian_version" обработанный, но второй дал мне информационный поиск, который был " Версия 5.0.2" Debian; –   24 May 2010 в 22:04
  • 2
    " dpkg-l" также работавший. спасибо за другие комментарии также..... я согласился бы. большое спасибо за справку! –   24 May 2010 в 22:06

Для обнаружения, какую разновидность Linux Вы выполняете введите следующие команды:

 ls -al /etc/*release
 cat /etc/*release


 ls -la /etc/*version
 cat /etc/*version

В зависимости от которой разновидности Linux Вы работаете, у Вас будет файл, которые соответствуют одному из указанных выше критериев, говоря версию Linux. Например, Redhat имеет/etc/redhat-release, и Debian имеет/etc/debian_version.

Видеть, что версия ядра использует uname:

uname -a

Для обнаружения, какой почтовый сервер работает введите:

netstat -tunap | grep LIST | grep ":25"

Это покажет Вам, какой процесс слушает на порте SMTP.

Надеюсь, это поможет.

4
ответ дан 3 December 2019 в 09:10
  • 1
    +1 для использования netstat для обнаружения what' s, на самом деле слушая на порте 25 (или где-либо еще в этом отношении); Это пригодится для того, чтобы сделать предварительный аудит системы... –  voretaq7 19 May 2010 в 20:32
  • 2
    " uname-a" было полезно, другие не были или я don' t знают достаточно для понимания этого...., который совершенно возможен.... благодарит за Вас, помогают –   24 May 2010 в 22:02

в некоторых системах, существует также lsb_release -a

sherry [cpbills]$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux testing (squeeze)
Release:        testing
Codename:       squeeze

можно также сделать telnet localhost 25 считать баннер для Вашего почтового сервера.

uname -a распечатает весь uname данные, которые будут Вашим ядром, когда это было создано, Ваше имя хоста, и т.д.

2
ответ дан 3 December 2019 в 09:10
  • 1
    " telnet localhost 25" добился цели, но это поместило меня в некоторый режим использования. сервер использует постфикс.спасибо за помощь. –   24 May 2010 в 21:57
  • 2
    Право, you' ре, на самом деле соединяющееся с сервером. Можно погуглить для ' как отправить почту telnet' узнать больше о нем. Можно разъединиться путем ввода ' quit' или использование ctrl +] –  cpbills 24 May 2010 в 22:46

Теги

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