четверг, 4 июля 2013 г.
Диагностика DNS - dig
dig - мощная CLI утилита
для диагностики и проверки DNS сервера. С помощью нее можно проверить
правильность настройки сервера доменных имен. Маст хев в арсенале
любого системного администратора или вебмастера.
Установка Debian/Ubuntu:
Установка CentOS:
Опросить конкретный DNS сервер:
Пример опроса сервера доменных имен google на доменную зону ya.ru:
Узнать какие есть почтовые сервера имеющие MX записи в DNS:
Установка Debian/Ubuntu:
# apt-get install dnsutils
Установка CentOS:
# yum install bind-utils
Опросить конкретный DNS сервер:
dig @NS.example.com test.ru
Пример опроса сервера доменных имен google на доменную зону ya.ru:
$ dig @google-public-dns-a.google.com. ya.ru
; <<>> DiG 9.7.3 <<>> @google-public-dns-a.google.com. ya.ru
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 54868
;; flags: qr rd ra; QUERY: 1, ANSWER: 8, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;ya.ru. IN A
;; ANSWER SECTION:
ya.ru. 1138 IN A 77.88.21.3
ya.ru. 1138 IN A 87.250.250.3
ya.ru. 1138 IN A 87.250.250.203
ya.ru. 1138 IN A 87.250.251.3
ya.ru. 1138 IN A 93.158.134.3
ya.ru. 1138 IN A 93.158.134.203
ya.ru. 1138 IN A 213.180.193.3
ya.ru. 1138 IN A 213.180.204.3
;; Query time: 37 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Mon Mar 26 22:40:41 2012
;; MSG SIZE rcvd: 151
Узнать какие есть почтовые сервера имеющие MX записи в DNS:
dig example.com MX
среда, 3 июля 2013 г.
Проверка модулей php
1. Use phpinfo() and scroll down to “Loaded Modules”
2. Run this script.
<?php
$extension = ‘mysql‘;//any module, curl etc
if (extension_loaded(“$extension”)) {
echo “$extension”.’ is loaded’;
} else {
echo “$extension”.’ was not found’;
};
?>
3. php -m will show all loaded modules
2. Run this script.
<?php
$extension = ‘mysql‘;//any module, curl etc
if (extension_loaded(“$extension”)) {
echo “$extension”.’ is loaded’;
} else {
echo “$extension”.’ was not found’;
};
?>
3. php -m will show all loaded modules
mysql password
Как-то настраивал dle сайт и никак не мог понять почему фэйлился коннект к базе. Оказалось и-за спец символов в пароле: %*#@
Проверка Linux-системы на наличие следов взлома
В процессе разбора истории со взломом kernel.org было выявлено, что атаковавшим удалось установить вредоносное ПО на Linux-машины некоторых разработчиков, используя которое были перехвачены ключи доступа. В списке рассылки разработчиков ядра Linux опубликована краткая инструкция по проверке целостности системы и выявлению следов активности злоумышленников. Суть опубликованных рекомендаций изложена ниже.
GeoIP
GeoIP модуль для apache 2.х версий — по IP посетителя определяется его страна, регион и город. Можно зарубить левых посетителей, к примеру по странам…
вторник, 2 июля 2013 г.
Информация о сервере
Есть немаловажный момент связанный с безопасностью
сервера, а из чего следовательно и расположенных на нём сайтов… Касается
он информации отдаваемой в заголовках web-сервера Apache. Рассмотрим
самые интересные, а зачастую и исчерпывающе-информативные заголовки:
Server и X-Powered-By.
Заголовок Server может поведать нам о
сервере, операционной системе, версии PHP и даже некоторых модулях.
Думаю, что пагубность такой информации объяснять не нужно, ибо
совершенного софта не бывает.
Заголовок X-Powered-By может наделить нас знанием о версии PHP например. Опять нам это ненужно.
В реальности мы видим это таким:
Есть несколько путей решения проблемы:Server: Apache/2.2.9 (Debian) PHP/5.2.6-1+lenny9 with Suhosin-Patch mod_ssl/2.2.9 OpenSSL/0.9.8g X-Powered-By: PHP/5.2.6
-
пересборка Apache с изменённым параметром AP_SERVER_BASEPRODUCT в файле include/ap_release.h
-
изменение директивы SecServerSignature при установленном mod_security
-
правка заголовков при помощи mod_headers
-
редактирование файлов конфигурации Apache и PHP
Мы остановимся на самом простом и универсальном варианте – редактирование файлов конфигурации Apache и PHP.
Для изменения заголовка Server, следует указать Apache, что именно там стоит выводить. Откроем на редактирование файл /etc/apache2/conf.d/security и найдём следующую строку:
ServerTokens Full
В комментариях написаны различные варианты значений, на мой взгляд достаточно указать следующее:
В таком случае заголовок Server будет отображать только лишь название сервера – Apache.ServerTokens Prod
Рекомендуется так же установить следующие директивы:
ServerSignature отвечает за отображение информации о сервере при ошибках, а TraceEnable за отключение режима TRACE, при котором возможны XSS (Cross-Site Scripting) атаки.ServerSignature Off TraceEnable Off
Чтобы избавиться от заголовка X-Powered-By, следует открыть на редактирование файл php.ini и найти в нём следующую строку:
Соответственно заменить её нужно на:expose_php = On
После всех правок нужно перезагрузить сервер:expose_php = Off
Ну вот, теперь мы стали на шаг ближе к безопасному серверу.sudo /etc/init.d/apache2 restart
Если вы хотите добавить к ответу сервера какие-либо дополнительные данные, воспользуйтесь возможностями mod_headers, добавив в httpd.conf
Header set MyHeader "Hello"
Теперь в заголовке ответа от сервера вы увидите MyHeader: Hello
Алсо You can make modifications to change the web server identity in two places in the source code. One is in the include file httpd.h in Apache 1 (ap_release.h in Apache 2) where the version macros are defined: #define SERVER_BASEVENDOR "Apache Group" #define SERVER_BASEPRODUCT "Apache" #define SERVER_BASEREVISION "1.3.29" #define SERVER_BASEVERSION SERVER_BASEPRODUCT "/" SERVER_BASEREVISION #define SERVER_PRODUCT SERVER_BASEPRODUCT #define SERVER_REVISION SERVER_BASEREVISION #define SERVER_VERSION SERVER_PRODUCT "/" SERVER_REVISION
Узнать версию PHP
1. Можно посмотреть на заголовки, которые возвращает Web сервер.
(один из вариантов: http:// uptime.netcraft.com/up/graph?site=www.target.com)
2. Можно сделать такой запрос:
http:// target.com/?=PHPB8B5F2A0-3C92-11d3-A3A9-4C7B08C10000
и посмотреть что вернет сервер. Если в конфиграции PHP указана опция expose_php=on, то ты узнаешь версию PHP.
3. Можно посмотреть, какой ответ возвращает сервер при некорректном запросе.
4. По картинке http:// target.com/?=PHPE9568F34-D428-11d2-A769-00AA001ACF42
(один из вариантов: http:// uptime.netcraft.com/up/graph?site=www.target.com)
2. Можно сделать такой запрос:
http:// target.com/?=PHPB8B5F2A0-3C92-11d3-A3A9-4C7B08C10000
и посмотреть что вернет сервер. Если в конфиграции PHP указана опция expose_php=on, то ты узнаешь версию PHP.
3. Можно посмотреть, какой ответ возвращает сервер при некорректном запросе.
4. По картинке http:// target.com/?=PHPE9568F34-D428-11d2-A769-00AA001ACF42
cookies и админ
Регистрируемся на взламываемом форуме как обычный юзер, при этом на
нашем компе создаются файлы cookies. Они нужны чтобы упростить нашу
авторизацию, если мы снова зайдём на тот форум. В cookies’ах содержится
хэш пароля (в данном случаю юзерского), его id и некоторая другая инфа.
Думаю ты уже понял к чему я клоню… Правильно. Мы отредактируем кукисы.
Как? Очень просто! Прогой CookieEditor**. Запускаем, ищем по адресу
интересуемый форум и заменяем свой id на 1 (если тебя интересует админ),
а свой хэш на хэш, который выдал на сплойт. Сохраняем cookies и снова
заходим на форум. А теперь найди 10 отличий по сравнению с прошлым
визитом.
Подписаться на:
Сообщения (Atom)