Linux глазами хакера - Михаил Флёнов
Шрифт:
Интервал:
Закладка:
Пакеты, направленные на другие порты, не соответствуют правилам, значит, над ними будут выполняться действия по умолчанию.
4.10.3. Firewall — не панацея
Установив Firewall, вы не получаете максимальной защиты, потому что существует множество вариантов обхода не только конкретных реализаций, а любого сетевого экрана.
Firewall — это всего лишь замок на двери парадного входа. Злоумышленник никогда не воспользуется парадным входом, он будет проникать в систему через черный или полезет в окно. Например, на рис. 4.2 показана защищенная сеть, а ее главная дверь — это выход в Интернет через сетевой кабель. А если на каком-нибудь клиентском компьютере стоит модем, то это уже черный ход, который не будет контролироваться сетевым экраном.
Я видел серверы, в которых доступ в сеть разрешен только с IP-адресов, определенных списком. Администраторы верят, что такое правило позволит защититься от хакеров. Это не так, потому что IP-адрес легко подделать.
Однажды я работал на фирме, где выход в Интернет контролировался по IP- адресу. У меня было ограничение на получение 100 Мбайт информации в месяц, а на соседнем компьютере — полный доступ. Чтобы не тратить свой трафик на получение больших файлов со своего IP-адреса, я только смотрел Web-страницы. Когда нужно было что-либо скачать, я выполнял следующие действия:
□ дожидался, когда освободится нужный компьютер, например, когда хозяин уходил на обед;
□ вытаскивал сетевой кабель на компьютере соседа, чтобы разорвать соединение;
□ спокойно менял свой IP-адрес на соседский, и по безграничному трафику быстро качал все, что требовалось:
□ после скачивания возвращал IP-адрес и кабель на место.
Таким способом я в течение месяца получал необходимую мне информацию.
Дальше стало еще проще. Я установил прокси-сервер на соседний компьютер и использовал его. После этого мы всем отделом заходили в Интернет через один IP-адрес, имеющий неограниченный трафик.
В современных сетевых экранах простая замена IP-адреса не позволить извне проникнуть в систему. Сейчас используются намного более сложные методы идентификации. С помощью подмены можно получить большие привилегии только в рамках сети, а не извне, да и то лишь при плохих настройках. Но хороший администратор даже внутри сети не допустит таких махинаций, потому что есть еще зашита по MAC-адресу и пароли доступа.
Сетевые экраны могут работать на компьютере с ОС (программные) или на каком-нибудь физическом устройстве (аппаратные). В любом случае это программа, а ее пишут люди, которым свойственно ошибаться. Как и ОС, так и программу сетевого экрана нужно регулярно обновлять и исправлять погрешности, которые есть всегда и везде.
Рассмотрим защиту по портам. Допустим, что у вас есть Web-сервер, который охраняется сетевым экраном с разрешенным только 80 портом. А ему больше и не надо!!! Но это не значит, что нельзя будет использовать другие протоколы. Можно создать туннель, через который данные одного протокола передаются внутри другого. Так появилась знаменитая атака Loki, которая санкционирует передачу команды на выполнение на сервер через ICMP-сообщения Echo Request (эхо-запрос) и Echo Reply (эхо-ответ), подобно команде ping.
Сетевой экран помогает защищать данные, но основным блюстителем порядка является администратор, который должен постоянно следить за безопасностью и выявлять атаки. Вновь разработанная атака сможет преодолеть сетевой экран, и компьютер ничего не заподозрит, потому что определяет только заложенные в программу алгоритмы. Чтобы обработать нестандартную ситуацию, за системой должен наблюдать администратор, который будет реагировать на любые нештатные изменения основных параметров.
Для того чтобы пройти через сетевой экран, зачастую требуется пароль или предъявление какого-нибудь устройства типа Touch Memory, Smart Card и др. Если пароль не защищен, то все затраченные на сетевой экран деньги окажутся потерянными зря. Хакер может подсмотреть пароль или подслушать его с помощью анализатора пакетов (сниффер) и предъявить подделанные параметры идентификации сетевому экрану. Таким образом было взломано немало систем.
Управление паролями должно быть четко определено. Вы должны контролировать каждую учетную запись. Например, если уволился сотрудник, у которого были большие привилегии, то все сведения, определяющие его в ОС, необходимо тут же заблокировать и изменить все известные ему пароли.
Однажды мне пришлось восстанавливать данные на сервере после того, как фирма выгнала администратора. Он посчитал увольнение несправедливым и через несколько дней без особого труда уничтожил на главном компьютере всю информацию. Не спас даже хорошо настроенный сетевой экран. В данном случае все произошло быстро, потому что взломщик сам занимался установкой параметров. Такого не должно быть, необходимо конфигурировать Firewall так, чтобы его не взломал даже бывший администратор.
Я всегда рекомендую своим клиентам, чтобы пароль с основными привилегиями на сетевой экран был известен только одному человеку, например, начальнику информационного отдела, но никак не рядовому специалисту. Администраторы меняются достаточно часто, и после каждого их увольнения можно забыть поменять какой-нибудь пароль.
4.10.4. Firewall как панацея
Может сложиться впечатление, что Firewall — это пустое развлечение и трата денег. Это не так. Если он хорошо настроен, постоянно контролируется, а в системе используются защищенные пароли, то сетевой экран может предотвратить большинство проблем.
Хороший экран имеет множество уровней проверки прав доступа, и нельзя использовать только один из них. Если вы ограничиваете доступ к Интернету исключительно по IP-адресу, то приготовьтесь оплачивать большой график. Но если при проверке прав доступа используется IP-адрес в сочетании с MAC-адресом и паролем, то такую систему взломать уже намного сложнее. Да, и MAC и IP-адрес легко подделать, но можно для полной надежности подключить к системе защиты и порты на коммутаторе. В этом случае, даже если хакер будет знать пароль, то для его использования нужно сидеть именно за тем компьютером, за которым он закреплен. А это уже не просто.
Защита может и должна быть многоуровневой. Если у вас есть данные, которые нужно оградить от посторонних, то используйте максимальное количество уровней. Помните, что лишней защиты не бывает.
Представьте себе банк. У входа обязательно стоит секьюрити, который спасет от воров и мелких грабителей. Но если подъехать к такой организации на танке, то такие блюстители порядка не помогут.
Сетевой экран — это как охрана на дверях, защищает от мелких хакеров, которых подавляющее большинство. Но если банком займется профессионал, то он может добиться успеха.
Помимо охраны у входа, деньги в банке всегда хранятся в сейфе. Финансовые сбережения для банка — это как секретная информация для сервера, и они должны быть максимально защищены. Именно поэтому устанавливают сейфы со сложными механизмами защиты, и если не знать, как их обойти, вор потратит на вскрытие замка драгоценное время, и успеет приехать милиция.
В случае с сервером в роли сейфа может выступать шифрование, которое повышает гарантию сохранности данных. Даже если хакер проникнет на сервер, минуя сетевой экран, ему понадобится слишком много времени, чтобы расшифровать данные. Вы успеете заметить и вычислить злоумышленника. Ну а если взломщик скачал зашифрованные данные и пытается их раскодировать на своем компьютере, то с большой вероятностью можно утверждать, что информация раньше устареет, чем хакер сможет ее прочитать. Главное, чтобы алгоритм шифрования и ключ были максимально сложными.
4.10.5. Конфигурирование Firewall
Самый простой способ настроить сетевой экран — использовать графическую утилиту. Для этого загрузитесь в графическую оболочку и выберите из главного меню KDE строку SystemFirewall Configuration. Перед вами откроется окно из двух вкладок: Rules и Options.
Первым делом советую перейти на вкладку Options. Она показана на рис. 4.3. Здесь можно указать действия по умолчанию для каждого типа пакетов (Input, Forward и Output) и ограничить прохождение пакетов ICMP.
Рис. 4.3. Вкладка Options программы конфигурирования Firewall
После этого переходим на вкладку Rules (рис. 4.4), где можно добавлять, изменять или удалять правила фильтрации. Попробуйте нажать на кнопку New, чтобы создать новое правило. Перед вами откроется окно, как на рис. 4.5.
Рис. 4.4. Вкладка Rules программы конфигурирования Firewall
Рис. 4.5. Окно добавления нового правила
Пока что не надо ничего изменять. Если вы загрузили сейчас утилиту Firewall Configuration, то советую только посмотреть на ее внешний вид и предоставляемые возможности. Настройками можно будет заняться тогда, когда вы познакомитесь с программой ipchains, которая из командной строки позволяет изменять параметры сетевого экрана. Для этого мы рассмотрим множество интересных и полезных на практике примеров, которые помогут вам разобраться и с конфигурированием Firewall.