Как проверить Linux-сервер (линукс сервер) на предмет взлома, если закрались какие либо подозрения?
Но сразу скажу что все зависит от квалификации злоумышленника и значимости ресурса.
По крайне мере думаю,что для многих это будет полезно и познавательно. Для начало сканируем с другого хоста что у нас открыто из подозрительных открытых портов, при помощи утилиты nmap: $ nmap -P0 -p 1-65505 XXX.XXX.XXX.XXX (или хост)
Starting Nmap 5.21 ( http://nmap.org )
Nmap scan report for host (XXX.XXX.XXX.XXX)
Host is up (0.0066s latency).
Not shown: 65499 closed ports
PORT STATE SERVICE
21/tcp open ftp
80/tcp open http
111/tcp open rpcbind
443/tcp open https
1723/tcp open pptp
… …
AWStats — один из лучших бесплатных анализаторов логов, позволяет в удобном графическом виде просматривать логи web, ftp, mail.
Ставим сам пакет: $ aptitude install awstats
The following NEW packages will be installed:
awstats libnet-xwhois-perl{a}
0 packages upgraded, 2 newly installed, 0 to remove and 123 not upgraded.
Need to get 1,012 kB of archives. After unpacking 5,394 kB will be used.
Do you want to continue? [Y/n/?]
После его установке, предлагаю установить пакет libgeo-ipfree-perl, лучше это сделать, не помешает, тем более я собираюсь подключить плагин geoipfree.
И так приступаем непосредственно настройке.
Предположим, что вы хотите проанализировать log-файлы Apache2 для нашего веб-сайта «xxx.com» (так же это может быть и IP-адрес).Создаем новый файл конфигурации: $ cp /etc/awstats/awstats.conf /etc/awstats/awstats.xxx.conf Читать далее…
Помимо утилиты chkrootkit, про которую писал ранее, есть еще один полезный пакет — rkhunter, который в купе с chkrootkit предназначен для обеспечения безопасности сервера на предмет троянов,вирусов, закладок и прочей «гадости» путем проверки MD5 сумм, контроля неверных прав доступа и сигнатур закладок в модулях ядра.
Ставим просто: $ apt-get install rkhunter
Перед запуском рекомендуется обновить базы $ rkhunter --update
Запуск производится следующим образом rkhunter -c -sk
[ Rootkit Hunter version 1.3.6 ]
Checking system commands…
…..
Webmin — это программный комплекс, позволяющий администрировать операционную систему через веб-интерфейс, в большинстве случаев, позволяя обойтись без использования командной строки и запоминания системных команд и их параметров.
Webmin состоит из простого веб-сервера и большого количества скриптов (>500-т), которые собственно и осуществляют связь между командами администратора через веб-интерфейс и их исполнением на уровне операционной системы и прикладных программ. Webmin написан полностью на языке Perl и не использует никаких дополнительных нестандартных модулей. Простота, лёгкость и быстрота выполнения команд — одно из самых больших преимуществ данной панели управления.
Данная панель управления бесплатно распространяется для коммерческого и некоммерческого использования. Авторы этой программы позволяют всем желающим не только бесплатно использовать программу, но и изменять её по своему усмотрению.
=============== Материал из Википедии — свободной энциклопедии ===============
Так как было написанно выше, используеться Perl, поэтому ставим или проверяем если у нас необходимые пакеты: $ aptitude install perl libnet-ssleay-perl openssl libauthen-pam-perl libpam-runtime libio-pty-perl libmd5-perl
Теперь идем на офф-сайт и берем самую свежую версию Webmin на момент написания это — webmin_1.490_all.deb. $ cd ~/tmp
$ wget http://prdownloads.sourceforge.net/webadmin/webmin_1.490_all.deb
$ dpkg -i webmin_1.490_all.deb
По окончании установки система сообщит адрес, через который можно зайти браузером для администрирования, по умолчанию http://localhost:10000/, при подключении удаленно используеться имя домена или сетевой адресс (IP).
Удалить Webmin можно при помощи скрипта, находиться он в /etc/webmin: $ cd /etc/webmin
$ sh ./uninstall.sh
Are you sure you want to uninstall Webmin? (y/n) : y
Removing Webmin package ..
Кстати небольшой анекдот можно сказать в тему: Заходит православный батюшка и хочет купить карточку пополнения счета. Продавец извиняясь отвечает, что требуемой карточки в наличии нет и предлагает воспользоваться автоматом для пополнения счета. На что батюшка задумчиво отвечает:
- Не доверяю этим бесовским машинам, сын мой, при случае ни в морду дать, ни отпеть!
Читаем еще:
Есть хороший пакет chkrootkit который предназначен для поиска враждебного кода (rootkit) и иных подозрительных событий в системе. Рекомендую проверять систему периодически для пущего спокойствия или например, при подозрениях, что кто-то шарится по твоему серверу.
Из описания на Debian — Подробная информация о пакете chkrootkit в lenny chkrootkit — это сканер безопасности, который ищет в локальной системе признаки, указывающие на наличие ‘руткита’. Руткит — это набор программ, позволяющих полностью управлять чужим компьютером через известные уязвимости.
Типы определяемых руткитов перечислены на домашней странице проекта.
Заметим, данная проверка не даёт полной гарантии, что компьютер не был взломан. В дополнение к chkrootkit используйте другие проверки. Читать далее…
Термин виртуальный хост относится к практике размещения более чем одного веб-сайта (например, www.company1.com и www.company2.com) на одной машине. Виртуальный хост может быть как «привязанным к IP-адресу», что означает использование отдельного IP адреса для каждого сайта, либо «привязанным к имени», позволяя вам иметь несколько различных имён для каждого IP-адреса. Факт того, что эти сайты работают на одном и том же физическом сервере, не очевиден конечным пользователям.
Вот здесь описана моя настройка виртуальных хостов, и в принципе в этой заметке не чего нового ни будет, просто добавлено немного «воды» — так что бы потом ни рыскать по инету, если понадобиться освежить память .
Конфигурационные файлы apache2: /etc/apache2/ — Основная папка /mods-available — доступные модули apache /mods-enabled — подключенные модули apache /sites-available — доступные сайты — здесь находятся файлы конфигурация виртуальных хостов. Читать далее…