- PVSM.RU - https://www.pvsm.ru -
→ Часть 1. Kali Linux: политика безопасности, защита компьютеров и сетевых служб [1]
→ Часть 2. Kali Linux: фильтрация трафика с помощью netfilter [2]
→ Часть 3. Kali Linux: мониторинг и логирование [3]
В предыдущих трёх материалах мы рассказали о защите Kali Linux, о фильтрации трафика, о мониторинге. Сегодня подведём итоги и представим вашему вниманию несколько упражнений. Здесь приведён перевод разделов 7.6 и «Упражнения» главы 7 книги «Kali Linux Revealed [4]».
В этой главе мы рассмотрели концепции формирования политик безопасности, рассказали о том, на что стоит обратить внимание, создавая подобную политику, и описали некоторые угрозы, которые направлены как на компьютеры, так и на самих специалистов в области информационной безопасности. Мы обсудили меры по защите ноутбуков и настольных компьютеров, показали приёмы настройки встроенного в ядро Linux файрвола netfilter
. И, наконец, мы рассмотрели средства и стратегии для мониторинга Kali, показали как внедрить их для того, чтобы получить возможность вовремя обнаруживать потенциальные угрозы. Теперь подведём итоги, вспомним самое важное.
fail2ban
для отражения атак, основанных на угадывании пароля, или удалённых атак на пароли методом грубой силы.
netfilter
. Не существует универсальных правил настройки файрволов, подходящих на все случаи жизни, так как пользователи могут предъявлять разные требования к сетям и сетевым службам. Настроить файрвол так, как нужно именно вам, можно из пространства пользователя, используя команды iptables
и ip6tables
.
logcheck
умеет мониторить лог-файлы, просматривая их, по умолчанию, ежечасно, и отправлять администратору отчёты, содержащие необычные записи, для дальнейшего анализа.
top —
это интерактивный инструмент, которые выводит список выполняющихся процессов.
dpkg --verify
(или dpkg -V
) позволяет вывести отчёт о системных файлах, которые были модифицированы (возможно — злоумышленником). Её недостаток заключается в том, что сравнивая файлы, она полагается на их контрольные суммы, которые могут быть изменены хорошо подготовленным злоумышленником.
tripwire
очень похоже на AIDE, но оно использует методику подписывания конфигурационного файла, благодаря чему атакующий не может изменить его так, чтобы он указывал на нужную ему версию эталонной базы данных.
rkhunter
, checksecurity
, и chkrootkit
, которые предназначены для поиска руткитов.
Ниже приведены несколько упражнений, которые позволят вам попрактиковаться в обеспечении безопасности Kali Linux.
netcat
.
Примечание: если есть такая возможность, хорошо бы ответы на вопросы сделать в сворачиваемом блоке. Аналогично — по ответам на другие вопросы.
root@kali:~# netstat -tulpen
root@kali:~# iptables -n -L INPUT
Если в вашей системе некоторые порты уже заблокированы, или имеются ранее установленные правила iptables
, вы можете от всего этого избавиться:
root@kali:~# iptables -F INPUT
root@kali:~# iptables -P INPUT ACCEPT
root@kali:~# iptables -P FORWARD ACCEPT
root@kali:~# iptables -P OUTPUT ACCEPT
Теперь проверьте, можете ли вы подключиться к порту 4444 на вашем компьютере, воспользовавшись netcat
следующим образом:
root@kali:~# nc -lnvp 4444
listening on [any] 4444 ...
С вашего хоста (если Kali запущена на виртуальной машине), или с другого компьютера, попробуйте подключиться к экземпляру netcat
, который прослушивает порт 4444. После подключения введите что-нибудь с клавиатуры. Текст должен появиться там, где запущен netcat
:
root@HOST_MACHINE:~# nc -v 172.16.161.136 4444
aaaaaaaa
Обратите внимание на то, что если вы вводите текст с клавиатуры, но он не появляется на экране, значит — что-то пошло не так. Разберитесь с этим прежде чем продолжать. Если Kali установлена на виртуальную машину — переключитесь на использование сетевого моста вместо NAT. Добейтесь работоспособности сетевого соединения.
iptables -P INPUT DROP
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -m state --state NEW -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -m state --state NEW -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -m state --state NEW -p tcp --dport 443 -j ACCEPT
Теперь проверьте, можно ли снова подключиться к порту 4444 на машине, защищённой файрволом:
root@kali:~# nc -lvp 4444
listening on [any] 4444 ...
netcat
. Попытка подключения должна завершиться неудачей.
root@HOST_MACHINE:~# nc -v 172.16.161.136 4444
nc: connectx to 172.16.161.136 port 4444 (tcp) failed: Operation timed out
iptables
из ранее заданных правил:
root@kali:~# iptables-save > /usr/local/etc/myconfig.fw
Зарегистрируйте конфигурационный скрипт в директиве pre-up
файла /etc/network/interfaces
. Перезагрузите систему для того, чтобы убедиться в том, что настройки файрвола сохранились.
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
pre-up iptables-restore < /usr/local/etc/myconfig.fw
→ Вот решение [9] на Asciinema (текст из видео копировать нельзя).
Вот как всё выглядит [10], с точки зрения хост-системы, с которой осуществляется подключение к виртуальной машине с Kali Linux.
logcheck
.
logcheck
, отправит ли он вам отчёт об атаке.
cron
для ежечасного запуска logcheck
таким образом, чтобы он, после анализа файлов журналов, создавал лог-файл в /data/$(date-time).log
.
logcheck
и запустите его в первый раз:
apt-get install logcheck
sudo -u logcheck logcheck -o
hydra
, посмотрите, что сообщит об этом logcheck
:
wget https://raw.githubusercontent.com/danielmiessler/SecLists/master/Passwords/500-worst-passwords.txt
hydra -l root -P 500-worst-passwords.txt 127.0.0.1 ssh
tail -f /var/log/auth.log
sudo -u logcheck logcheck -o
mkdir -p /data/
sudo -u logcheck logcheck -o > /data/$(date +"%m-%d-%Y-%T").log
Сделайте его исполняемым и поместите в директорию /etc/cron.hourly
.
→ Вот решение [11] на Asciinema (текст можно копировать из видео).
tripwire
. Начните наблюдение за изменениями файлов в директории /var/www/html/
.
tripwire
и задайте файлы, которые вы хотите защитить:
apt-get install tripwire # yes, yes, yes, yes
nano /etc/tripwire/twpol.txt # list the directories and files you want to protect
Добавьте следующий блок кода в файл политик tripwire
:
# Webserver file and folder monitoring
(
rulename = "Web server file and directories",
severity = $(SIG_HI)
)
{
/var/www/html -> $(SEC_BIN);
}
Теперь сделайте так, чтобы tripwire
реагировал на изменения файлов в директории /var/www/html
:
twadmin -m P /etc/tripwire/twpol.txt #Create Policy File
tripwire --init #Initialize database
tripwire --check #Initial integrity check
touch /var/www/html/shell_backdoor.php
tripwire --check
tripwire --update-policy -Z low /etc/tripwire/twpol.txt
tripwire --check
→ Вот решение [12] на Asciinema (текст нельзя копировать из видео).
iptables
. Можно превратить любой компьютер с беспроводным интерфейсом в беспроводную точку доступа с помощью hostapd
. Вот источник этой идеи:
iptables -t nat -F
iptables -F
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT
echo '1' > /proc/sys/net/ipv4/ip_forward
(DNS, dhcp still required)
Надеемся, то, что вы узнали из серии материалов, в которых мы публиковали переводы фрагментов седьмой главы книги «Kali Linux Revealed [4]», поможет вам сделать вашу систему безопаснее и надёжнее.
Уважаемые читатели! Справились ли вы с упражнениями, или пришлось подглядывать в ответы?
Автор: ru_vds
Источник [14]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/linux/264434
Ссылки в тексте:
[1] Kali Linux: политика безопасности, защита компьютеров и сетевых служб: https://habrahabr.ru/company/ruvds/blog/338338/
[2] Kali Linux: фильтрация трафика с помощью netfilter: https://habrahabr.ru/company/ruvds/blog/338480/
[3] Kali Linux: мониторинг и логирование: https://habrahabr.ru/company/ruvds/blog/338668/
[4] Kali Linux Revealed: https://kali.training/introduction/kali-linux-revealed-book/
[5] Защита сетевых служб: https://kali.training/chapter-7/7-6-summary/7-securing-and-monitoring-kali/securing-network-services/
[6] Файрвол или фильтрация пакетов: https://kali.training/chapter-7/7-6-summary/7-securing-and-monitoring-kali/firewall-or-packet-filtering/
[7] Установка на полностью зашифрованную файловую систему: https://kali.training/chapter-7/7-6-summary/4-installing-kali-linux/installing-to-hard-drive/#sect.install-encrypted
[8] Установка пароля самоуничтожения для повышения уровня безопасности: https://kali.training/chapter-7/7-6-summary/9-advanced-usage/adding-persistence-to-the-live-iso/#sidebar.luks-nuke-password
[9] Вот решение: https://asciinema.org/a/ENHvLEz9rLVm3LarsnpyqOtKC
[10] Вот как всё выглядит: https://asciinema.org/a/KgJ0I7P6VebmIhhtlD2sHOwVG
[11] Вот решение: https://asciinema.org/a/WdB5MeWMWHIHz3krMOzZ4OcMz
[12] Вот решение: https://asciinema.org/a/A4cRubQyLVmdPS9Dbwjgi0NbT
[13] руководство по iptables: https://www.digitalocean.com/community/tutorials/iptables-essentials-common-firewall-rules-and-commands
[14] Источник: https://habrahabr.ru/post/338712/
Нажмите здесь для печати.