Здравствуйте, уважаемые читатели!
Применение локально-вычислительных сетей существенно повышает скорость реагирования на компьютерные инциденты, исключает (или минимизирует) необходимость использования съемных машинных носителей информации (которые могут быть использованы для несанкционированного доступа к информационной системе — о них мы говорили в отдельной статье — ссылка).
Однако вместе с локально-вычислительными сетями появляются новые каналы утечки информации, так как система становится более сложной.
Чтобы провести атаку, злоумышленнику нужно попасть в локально-вычислительную сеть (и, желательно, закрепиться в ней). В локально-вычислительных сетях без подключения к сети «Интернет» реализация этой возможности кроется в использовании личных технических средств (например, одноплатных компьютеров).
В интернете довольно много статей по противодействию указанной угрозе
По старой традиции существует две группы мер — организационные и технические.
К организационным можно отнести проверку должностных лиц на наличие личных технических средств на рабочем месте, разграничение доступа должностных лиц в серверные помещения, опечатывание сетевых разъёмов, отключение неиспользуемых и т.п.
К техническим — реализация стандарта IEEE 802.1x , настройка Port security, IPSec, скриптов с периодическим сканированием сети.
В этой заметке я хочу поделиться простым скриптом для контроля устройств в сети по MAC адресам.
#!/bin/bash
arp_base="/opt/scripts/arp" # Файл с перечнем MAC адресов
declare -A hosts
while read x
do
[[ $x =~ "Nmap" ]] && hostname=$(echo $x | awk '{print $5}') # Если строка начинается на Nmap, сохраняю ip адрес в переменную
[[ $x =~ "MAC" ]] && hosts[$(echo $x | awk '{print $3}')]=$hostname # Если строка начинается на MAC, значит это MAC адрес к ранее сохранённому IP - добавляю в массив IP и МAC
done <<< $(nmap -sP 192.168.0.0/24 | grep -v "Host is") # Получаю результат сканирования
for mac in ${!hosts[@]}
do # В случае если grep не найдёт MAC адрес в списке, уведомляю администратора по e-mail
[[ $(grep -i $mac $arp_base) ]] || echo -e "Зафиксирован незарегистрированный хост - ip адрес ${hosts[$mac]}, mac адрес - $mac \n\nРезультаты сканирования:\n\n$(nmap ${hosts[$mac]})" | mutt -s "Незарегистрированный хост" -- marukhin@domain.mo
done
С помощью nmap производится периодическое сканирование сети на наличие устройств, чей MAC адрес не находится в списке разрешённых — если такое устройство выявлено, администратору безопасности отправляется отчёт с информацией (для этого проводится углубленное сканирование выявленного устройства).