Archive for Январь, 2010
Защита от arp-спуфинга
by admin on Янв.29, 2010, under *nix Administration
Известно, что у каждого компьютера есть динамическая таблица соответствия IP-адресов МАС-адресам сетевых устройств. ARP-спуффинг опасен тем, что с помощью поддельных ARP-ответов крекер может заполнить эту таблицу неправильными данными, в результате чего нужный ему трафик будет перехвачен на его компьютере. Бороться с ARP-спуффингом можно с помощью статических записей в ARP-таблице. Статические записи хранятся в файле и загружаются из него во время загрузки операционной системы. Они не могут быть перезаписаны ARP-ответами из сети.
Для управления ARP-таблицей в Linux служит команда агр. Выполняя ее без аргументов, можно увидеть содержимое ARP-таблицы:
# /sbin/arp
Address HWtype HWaddress Flags Mask Iface
172.16.3.19 ether 00:1B:FC:CB:0F:AA C eth0
172.16.3.48 ether 00:11:2F:9B:64:FD C eth0
172.16.3.102 ether 00:18:F3:3A:F0:C1 C eth0
172.16.3.140 ether 00:0B:CD:EE:71:14 C eth0
172.16.3.35 ether 00:20:ED:7B:C2:BD C eth0
172.16.3.254 ether 00:10:22:FF:70:81 C eth0
172.16.3.67 ether 00:04:79:67:6F:93 C eth0
172.16.3.87 ether 00:1B:FC:86:58:05 C eth0
172.16.3.55 ether 00:80:48:B7:4E:87 C eth0
172.16.3.30 ether 00:14:85:48:C1:10 C eth0
172.16.3.22 ether 00:14:85:15:1B:F2 C eth0
С помощью опции -f можно загрузить из внешнего файла статические записи. По умолчанию (если вы дальше опции -f не указали название файла) используется файл /etc/ethers . Его формат чрезвычайно прост: каждая строка - это одна статическая запись, запись состоит из IP-адреса и МАС-адреса, разделенных пробелом:
172.16.3.19 00:1B:FC:CB:0F:AA
172.16.3.48 00:11:2F:9B:64:FD
# arp -f /etc/ethers
# arp
Address HWtype HWaddress Flags Mask Iface
172.16.3.19 ether 00:1B:FC:CB:0F:AA C eth0
172.16.3.48 ether 00:11:2F:9B:64:FD CM eth0
Флаг С означает, что запись завершена, а М - указывает на статическую запись.
Недостаток этого метода - в его преимуществе: IP-адреса жестко привязаны к МАС-адресам. Из-за того, что файл /etc/ethers создается на каждом компьютере сети, нужно будет редактировать данный файл на каждом компьютере, при любой замене адаптера или IP-адреса компьютера.
Если у вас есть NIS, это облегчает задачу. Можно настроить NIS-сервер на автоматическое копирование файла /etc/ethers на все машины сети. У сервера NIS тоже есть уязвимости. Если вы хотите использовать статические ARP-записи, то их нужно использовать для каждого компьютера сети, иначе все равно остается возможность ARP-спуффинга. То есть или все, или ни одного - если хотя бы один компьютер не используют статические записи, остается возможность взлома всей сети.
Когда вы выходите в Интернет с помощью обычного модема, вы должны подумать о защите модемного соединения. Данные, которые передаются по модему, одинаково передаются по сети Ethernet (как в сети без коммутаторов). Модемное соединение используется многими компьютерами, а не только вашим.
В случае с некоммутируемой локальной сетью каждое устройство получает весь трафик, передающийся по сети, и отфильтровывает только тот, который предназначен только этому устройству. В локальной сети данный процесс выполняет сетевой адаптер, который можно перевести в разнородный режим, так он будет принимать весь трафик для других компьютеров. С модемом ситуация сложнее, так как процесс вынесен за пределы модема, модем в нем не участвует.
Производители модемов потратили немало усилий, чтобы никто не мог вмешаться в работу модема. Все же имеются много способов обойти эту защиту: модем можно перевести в разнородный режим. Эти способы зависят от прошивки микропрограммного обеспечения, следовательно они действительны только для определенной модели модема, поэтому он не получил широкого распространения. Информацию об этом можно найти в любом поисковике, например Google.
Сети, основанные на кабельных модемах, работают так же, как и Ethernet-сети, они могут получать широковещательный трафик от других компьютеров (отдельные протоколы, к примеру NetBIOS и TCP, могут отправлять широковещательные пакеты). Данный трафик рекомендуется отфильтровывать на вашем шлюзе, поскольку он может отрицательно отразиться на клиентах и серверах вашей сети.
Какие бывают атаки?
by admin on Янв.29, 2010, under *nix Administration
Самая большая уязвимость в Linux в том, что она позволяет использовать простые пароли (вроде 123456 или qwerty) или вообще не использовать пароль. Да, обычный пользователь, скорее всего, не сможет установить такой пароль, но в большинстве случаев пароль назначается пользователем root, которому разрешено устанавливать любые пароли, в том числе и 12345.
Администратор, то есть root, для себя установит «хороший», сложный пароль, а вот для пользователя - какой тот попросит. А ведь пользователь не пожелает пароля в виде Rjv3$gh!5jvFn5. Он попросит пароль попроще. Такой пароль может скомпрометировать всю систему, а затем и сеть. Ведь подобрать простой пароль - проще простого, к тому же этот процесс давно уже автоматизирован.
К тому же у пользователя зачастую один пароль для всего: и для входа в систему, и для какого-то приложения, и для Web-почты. Большинство приложений, правда, сохраняет пользовательские пароли в зашифрованном виде, но все равно существует риск их взлома, поэтому лучше для входа в систему использовать совершенно другой пароль.
Программы регистрации, например программа login, для проверки подлинности пользователя запрашивает его пароль, зашифровывает его, а потом сравнивает с уже зашифрованным паролем из /etc/ shadow. Если они совпадают, значит, исходные (незашифрованные) пароли тоже совпадают, и пользователю можно зарегистрироваться в системе.
Наиболее часто используемый метод шифрования MD5 очень стойкий, единственный способ узнать исходный пароль - это перебор пароля. При этом хэшируется каждая возможная комбинация символов и затем сравнивается с хэшем пароля. Если они совпадают, значит, пароль найден. Данный метод называется brute force, что в переводе с английского означает «грубая сила», поскольку «умом» взять хэш нельзя и приходится действовать «в лоб».
Пароль в Linux может состоять из 98 различных символов. Даже если пользователь установил пароль длиной 4 символа, нам придется перебрать более 90 миллионов различных комбинаций (98^4). Кажется, что это очень много. Но на самом деле все выглядит еще страшнее. На обычной машине с процессором частотой 1 ГГц подбор 4-символьного пароля, если он закодирован с помощью MD5, займет около часа.
Пароль из пяти символов будет подбираться около 3 дней, а вот подбор 6-символьного пароля, который обычно и устанавливается пользователями, займет около года. Конечно, если злоумышленнику повезет, то нужный пароль может быть «угадан» за сутки. К тому же большинство пользователей для пароля используют только нижний регистр символов.
Если не учитывать символы в верхнем регистре, то за пару суток пароль может быть подобран. Но если учитывать максимальное время подбора пароля, то нужно понимать, что за год пароль может поменяться, причем не один раз. Но, если у вас будет процессор с частотой 10 ГГц или 10 компьютеров по 1 ГГц, ваши шансы возрастут в 10 раз.