Статьи

Ubuntu 12.04 LTS Precise Pangolin: создание брандмауэра

Средство настройки брандмауэра по умолчанию для Ubuntu известно как «UFW». Разработанный для упрощения настройки брандмауэра iptables, UFW предоставляет удобный способ создания брандмауэра на основе хоста IPv4 или IPv6, который будет защищать ваш компьютер от несанкционированного доступа, и в этой статье я покажу вам, как его настроить, настройте и управляйте вашими требованиями безопасности в Ubuntu 12.04 LTS Precise Pangolin.

Итак, начнем …

Удалить AppArmor

Ubuntu 12.04 поставляется с предварительно установленным AppArmor. Подсистема уровня ядра, которая работает путем реализации уникального профиля политики для каждого приложения и служб, которые вы хотите защитить, и чтобы снизить риск атаки, всем формам доступа к приложению или процессу будет отказано, если вы не определите специально профиль, который идентифицирует список возможностей и / или прав доступа к файловой системе. Поэтому, если кто-то обнаружит способ внедрения или запуска вредоносного кода через Apache или MySQL (или даже через веб-браузер или приложение для чата), этот эксплойт, скорее всего, не будет работать или не будет работать, если рассматриваемое приложение или служба защищены AppArmor. профиль, который не допускает никаких «привилегий выполнения кода».

В зависимости от ваших обстоятельств этот шаг следует считать необязательным. AppArmor во многих отношениях не отличается от SELinux (как это встречается в большинстве систем на базе RedHat), и если вы собираетесь использовать его или исследовать его потенциал, я бы пропустил этот шаг и начал свое исследование, прочитав руководство по серверу, найденное по адресу https: / /help.ubuntu.com/12.04/serverguide/apparmor.html

Apparmor, без сомнения, является очень компетентным и безопасным решением. Да, если вы еще не включили AppArmor на своих настольных компьютерах и серверах, то можете упустить невероятно мощный инструмент, но во многих ситуациях он также может оказаться слишком сложным, если не отнимает много времени и для целей данной статьи мы не будем его использовать.

Поэтому я воспользуюсь этой возможностью, чтобы показать вам, как отключить и удалить AppArmor, чтобы мы могли сосредоточиться на традиционном подходе к безопасности брандмауэра.

Предоставьте себе привилегии «root» примерно так:

  судо су 

Авторизуйтесь обычным способом и затем удалите его так:

  /etc/init.d/apparmor stop
 update-rc.d -f apparmor удалить
 apt-get удалить apparmor apparmor-utils 

Наконец, перезагрузите компьютер, чтобы убедиться, что произошли соответствующие изменения:

  перезагрузка 

Привет IPTables

Нет лучшего представления о ядре Linux и включенной в него подсистеме Netfilter, чем просто «заглянуть под капот». В Терминале или на вашей консоли введите:

  sudo / sbin / iptables -L 

Ответ будет выглядеть примерно так:

  Цепной ВХОД (политика ПРИНЯТЬ)
 целевой целевой источник назначения         

 Сеть FORWARD (политика ПРИНЯТЬ)
 целевой целевой источник назначения         

 Цепной ВЫХОД (политика ПРИНЯТЬ)
 целевой целевой источник назначения 

Который четко показывает по умолчанию и «пустой набор правил».

Цель iptables — контролировать, как пакет достигает вашего компьютера. Каждый пакет будет проходить через подсистему Netfilter для принятия, обработки или отклонения в соответствии с правилами, предоставленными ему через программу iptables, и по этой причине iptables — это все, что вам нужно для управления брандмауэром.

На данном этапе все выглядит и звучит очень сложно, но не волнуйтесь, это Ubuntu, и Canonical действительно сделала это очень легко…

Так что насчет UFW

Если бы вы прочитали мои предыдущие статьи , вы бы заметили, что я упомянул UFW.

Также известный как неосложненный брандмауэр, он не является (и не должен рассматриваться как брандмауэр как таковой), но его цель — предоставить «человеческий» подход к управлению вашими IPTables, которые служат для блокировки, фильтрации, манипулирования или перенаправления сетевого трафика.

Итак, давайте удостоверимся, что он установлен, и для тех, кто имеет версию для настольного компьютера, установка также предоставляет доступ к графическому компаньону под названием gUFW.

В терминале тип:

  sudo apt-get установить ufw gufw 

В консоли типа:

  sudo apt-get установить ufw gufw 

Начало работы с UFW

Чтобы включить брандмауэр, используйте:

  sudo ufw enable 

Чтобы отключить брандмауэр в любое время, используйте:

  отключить sudo ufw 

Чтобы включить брандмауэр ‘log’, используйте:

  sudo UFW вход в систему 

Чтобы отключить «ведение журнала» в любое время, используйте:

  sudo UFW выход из системы 

Все файлы журналов можно найти в / var / log

Чтобы установить политику по умолчанию, используйте:

  разрешение sudo ufw по умолчанию 

Чтобы удалить политику по умолчанию, используйте:

  Судо UFW по умолчанию отрицать 

Рекомендуемый подход — запретить доступ ко всем портам / сервисам и медленно открывать нужные порты / сервисы. Помните, устанавливая политику по умолчанию, вы будете выставлять всю свою систему; поэтому часто лучше начинать с закрытия всех портов / служб и открытия по мере необходимости.

И для проверки состояния вашего брандмауэра используйте:

  статус sudo ufw 

или

  подробный статус sudo ufw 

Пока все просто … и если вы искали графическую утилиту, просто откройте ‘Dash’ и найдите GUFW.

Управление UFW

В следующем разделе я проведу вас через управление портами с множеством примеров.

Разрешить и запретить

Для тех из вас, кто хотел бы разрешить доступ к любому конкретному порту, используйте:

  sudo ufw разрешить номер_порта 

Аналогично, чтобы запретить доступ к какому-либо конкретному порту, используйте:

  sudo ufw отрицать номер_порта 

Не забудьте заменить «номер_порта» на конкретный номер порта…

Время для некоторых примеров на основе портов:

«Разрешить» доступ к порту 53

  Sudo UFW позволяют 53 

Удалить «Разрешить» доступ к порту 53

  sudo ufw удалить разрешить 53 

«Разрешить» доступ к порту 80

  sudo ufw разрешить 80 / tcp 

Удалить «Разрешить» доступ к порту 80

  sudo ufw delete allow 80 / tcp 

Управление Сервисами с UFW

Теперь давайте обратимся к еще более простому процессу управления услугами.

Разрешить и запретить

Чтобы разрешить доступ к любому конкретному порту, используйте:

  sudo ufw разрешить имя_службы 

Аналогично, чтобы запретить доступ к какому-либо конкретному порту, используйте:

  sudo ufw deny service_name 

Не забудьте заменить «service_name» конкретным именем службы, но если вы не знаете, как называется ваша служба, вы всегда можете получить список запущенных служб, просто набрав:

  меньше / etc / services 

Время для некоторых «сервисных» примеров:

«Разрешить» доступ к порту SMTP

  sudo ufw разрешить smtp 

«Запретить» доступ к порту SMTP

  sudo ufw deny smtp 

Удалить «Разрешить» доступ к порту SMTP

  sudo ufw удалить разрешить smtp 

Удалить «Запретить» доступ к порту SMTP

  sudo ufw удалить deny smtp 

«Разрешить» доступ к порту SSH

  sudo ufw разрешить ssh 

«Запретить» доступ к порту SSH

  Судо UFW отрицать SSH 

Удалить «Разрешить» доступ к порту SSH

  sudo ufw удалить разрешить ssh 

Удалить «Запретить» доступ к порту SSH

  sudo ufw удалить deny ssh 

Я надеюсь, что теперь вы можете увидеть, как это просто …

Смешивание с продвинутым синтаксисом

Для тех из вас, кто хочет использовать ряд более сложных наборов правил, синтаксис немного изменится, но процесс останется прежним:

Чтобы разрешить использование определенного IP-адреса,

  sudo ufw разрешить от XXX.XXX.XXX.XXX 

Для разрешения определенной подсети мы вызываем маску сети и используем

  sudo ufw разрешить от XXX.XXX.XXX.XXX/XX 

И, наконец, чтобы разрешить для конкретного порта и IP-адрес, который вы можете использовать,

  sudo ufw разрешить от XXX.XXX.XXX.XXX к порту AAA YY 

В качестве альтернативы вы можете использовать команду «запретить» и заблокировать доступ, используя не слишком несхожий процесс, описанный выше.
Чтобы заблокировать использование определенного IP-адреса,

  Судо UFW отрицать от XXX.XXX.XXX.XXX 

Для блокировки определенной подсети мы вызываем маску сети и используем

  Судо UFW отрицать из XXX.XXX.XXX.XXX/XX 

И, наконец, чтобы заблокировать конкретный порт и IP-адрес, который вы можете использовать,

  Отклонение sudo ufw от XXX.XXX.XXX.XXX к порту AAA YY 

Где XXX.XXX.XXX.XXX — это конкретный IP-адрес, AAA — это определенный протокол, а YY — это конкретный номер порта.

Например:
Чтобы разрешить IP-адресу 192.168.1.14 доступ к порту 53 для всех протоколов, введите:

  sudo ufw позволяет с 192.168.1.14 на любой порт 53 

Или, чтобы разрешить IP-адресу 192.168.1.32 доступ к порту 22 для всех протоколов, введите:

  sudo ufw позволяет с 192.168.1.32 на любой порт 22 

Протокол является либо TCP, UDP или ОБА (любой)

Слово предостережения

При попытке заблокировать доступ к определенному IP-адресу вы должны знать, что правила должны следовать установленному порядку логики.

Теоретически это будет означать, что если первое правило обеспечивает полный доступ к определенному порту или услуге, то любая попытка заблокировать этого пользователя впоследствии будет игнорироваться. Поэтому на практике вместо простого удаления всех ваших правил и изменения их порядка было бы намного проще открыть исходный файл и добавить новый раздел, например, так:

Предоставьте себе привилегии «root» примерно так:

  sudo su / pre>
 А потом:
 Для пользователей Терминала, 
  gedit /etc/ufw/before.rules 

Для пользователей консоли (заменив ‘nano’ на предпочитаемый вами текстовый редактор) используйте:

  nano /etc/ufw/before.rules 

Найдите строки в before.rules, которые выглядят примерно так:

  # отбрасывать недействительные пакеты (регистрирует их на уровне логического носителя и выше)
 -A ufw-before-input состояние -m - состояние НЕВЕРНЫЙ -j ufw-logging-deny
 -A ufw-перед-входом -m состояние - состояние недействительным -j DROP 

И добавьте ваши правила «drop» сразу после этого, например:

  # отбрасывать недействительные пакеты (регистрирует их на уровне логического носителя и выше)
 -A ufw-before-input состояние -m - состояние НЕВЕРНЫЙ -j ufw-logging-deny
 -A ufw-перед-входом -m состояние - состояние недействительным -j DROP
 МОЕ ПЕРВОЕ ПРАВИЛО КАДРА ПРОХОДИТ ЗДЕСЬ
 МОЕ ВТОРОЕ ПРАВИЛО КАДРА ПРОХОДИТ ЗДЕСЬ
 МОЕ ТРЕТЬЕ ПРАВИЛО КАДРА ИДЕТ ЗДЕСЬ 

Вот и все. Очень скоро у вас должна быть очень безопасная среда.

Так что до следующего раза …
Надеюсь, вам по-прежнему нравится Ubuntu 12.04 LTS Precise Pangolin.

Если вам понравилось читать этот пост, вы полюбите Learnable ; место, чтобы узнать новые навыки и приемы у мастеров. Участники получают мгновенный доступ ко всем электронным книгам и интерактивным онлайн-курсам SitePoint, таким как Ubuntu Linux .