- Как настроить брандмауэр в Linux?
- Разные политики: —
- Основные команды iptables:
- 1. Перечислите текущие правила iptable:
- 2. Очистить правила:
- 3. Изменение политики по умолчанию для цепочек:
- Создание вашего первого правила:
- 1. Реализация правила DROP:
- 2. Реализация правила ПРИНЯТЬ:
- 3. Удаление правила из iptable:
- 4. Сохранение вашей конфигурации:
- Как установить и использовать брандмауэр Linux
- Защитите свой рабочий стол Ubuntu с помощью брандмауэра UFW
- Что такое брандмауэр?
- Установка UFW
- Активация UFW
- Политика по умолчанию
- Разрешение входящего трафика
- Удаление правил
Как настроить брандмауэр в Linux?
Что такое брандмауэр?
Брандмауэр — это система сетевой безопасности, которая фильтрует и контролирует трафик по заранее определенному набору правил. Это посредническая система между устройством и интернетом.
ПРИМЕЧАНИЕ. — Если вы уже знаете о работе брандмауэра в Linux и хотите знать только команды, перейдите к концу учебника.
Как работает брандмауэр Linux:
Большинство дистрибутивов Linux поставляются с инструментами брандмауэра по умолчанию, которые можно использовать для их настройки. Мы будем использовать «IPTables» — инструмент по умолчанию, предоставляемый в Linux, для установки брандмауэра. Iptables используется для настройки, обслуживания и проверки таблиц правил фильтрации пакетов IPv4 и IPv6 в ядре Linux.
Примечание : — Все команды ниже должны иметь права sudo.
Цепочки — это набор правил, определенных для конкретной задачи.
У нас есть три цепочки (набор правил), которые используются для обработки трафика:
- ВХОДНЫЕ Цепи
- ВЫХОДНЫЕ ЦЕПИ
- ФОРВАРД Цепи
1. ВХОДНЫЕ Цепи
Любой трафик, поступающий из Интернета (сети) на локальный компьютер, должен проходить через цепочки ввода. Это означает, что они должны пройти все правила, которые были установлены в цепочке ввода.
2. ВЫХОДНЫЕ ЦЕПИ
Любой трафик, идущий с вашей локальной машины в Интернет, должен проходить через цепочки вывода.
3. ПЕРЕДНЯЯ ЦЕПЬ
Любой трафик, поступающий из внешней сети и идущий в другую сеть, должен проходить через прямую цепочку. Он используется, когда два или более компьютеров подключены, и мы хотим передавать данные между ними.
Разные политики: —
Существует три действия, которые iptables может выполнять с трафиком.
1. ПРИНЯТЬ
Когда трафик проходит по правилам в указанной цепочке, iptable принимает трафик.
Это означает, что он открывает ворота и позволяет человеку войти в королевство Танос.
2. КАПЛЯТЬ
Когда трафик не может пройти правила в указанной цепочке, iptable блокирует этот трафик.
Это означает, что брандмауэр закрыт.
3. ОТКАЗАТЬ
Этот тип действия похож на действие удаления, но он отправляет сообщение отправителю трафика о том, что передача данных не удалась.
Как правило, используйте REJECT, если вы хотите, чтобы другой конец знал, что порт недоступен, — используйте DROP для соединений с хостами, которые вы не хотите, чтобы люди видели.
Основные команды iptables:
1. Перечислите текущие правила iptable:
Чтобы перечислить правила текущих iptables: —
Выход будет:
Как видите, у нас есть три цепочки (INPUT, FORWARD, OUTPUT). Мы также можем видеть заголовки столбцов, но они не являются действительными правилами. Это потому, что большинство Linux не имеют предопределенных правил.
Давайте посмотрим, что означает каждый столбец.
Цель: —
Это определяет, какое действие необходимо выполнить с пакетом (ACCEPT, DROP и т. Д.)
Порт: —
Это определяет протокол (TCP, IP) пакета.
источник:-
Это говорит адрес источника пакета.
место назначения:-
Это определяет адрес назначения пакета
2. Очистить правила:
Если вы хотите очистить / очистить все существующие правила. Запустите следующую команду: —
Это сбросит iptables.
3. Изменение политики по умолчанию для цепочек:
Как вы можете видеть на картинке выше, политика по умолчанию для каждой цепочки — ПРИНЯТЬ.
Например:
Если вы видите прямую цепочку, вы увидите «Chain FORWARD (политика ПРИНЯТЬ)». Это означает, что ваш компьютер позволяет перенаправлять любой трафик на другой компьютер.
Для того чтобы изменить политику переадресации, нужно отбросить:
Приведенная выше команда остановит любой трафик, который будет перенаправлен через вашу систему. Это означает, что никакая другая система не может использовать вашу систему в качестве посредника для передачи данных.
Создание вашего первого правила:
1. Реализация правила DROP:
Теперь мы начнем создавать наши политики брандмауэра. Сначала мы будем работать с цепочкой ввода, поскольку именно туда будет направляться входящий трафик.
Синтаксис:-
Мы возьмем пример, чтобы понять тему.
Предположим, мы хотим заблокировать трафик с IP-адреса 192.168.1.3. Следующая команда может быть использована: —
Это может показаться сложным, но большинство из них будет иметь смысл, когда мы рассмотрим компоненты:
-ВХОД: —
Флаг -A используется для добавления правила в конец цепочки. Эта часть команды сообщает iptable, что мы хотим добавить правило в конец цепочки INPUT.
-Я ВХОД: —
В этом флаге правила добавляются в верхнюю часть цепочки.
-s 192.168.1.3:-
Флаг -s используется для указания источника пакета. Это говорит iptable для поиска пакетов, поступающих из источника 192.168.1.3
-j DROP
Это указывает, что iptable должен делать с пакетом.
Короче говоря, вышеприведенная команда добавляет правило в цепочку INPUT, которое говорит, что если какой-либо пакет прибывает с исходным адресом 192.168.1.3, то отбрасывает этот пакет, что означает, что пакет не может достигнуть компьютера.
Выполнив вышеуказанную команду, вы можете увидеть изменения, используя команду: —
2. Реализация правила ПРИНЯТЬ:
Если вы хотите добавить правила для определенных портов вашей сети, то можно использовать следующие команды.
Синтаксис:-
-p протокол_имя: —
Эта опция используется для сопоставления пакетов, которые соответствуют протоколу protocol_name.
-dport номер_порта:
Эта опция доступна, только если вы указали опцию -p protocol_name. Он указывает, что нужно искать пакеты, которые идут в порт «номер_порта».
Пример:-
Допустим, мы хотим оставить наш порт SSH открытым (в этом руководстве предполагается, что порт SSH по умолчанию — 22) из сети 192.168.1.3, которую мы заблокировали в приведенном выше случае. То есть мы хотим разрешить только те пакеты, которые приходят с 192.168.1.3 и которые хотят перейти на порт 22.
Что мы делаем:-
Давайте попробуем следующую команду: —
Приведенная выше команда говорит, что ищет пакеты, исходящие с IP-адреса 192.168.1.3, имеющие протокол TCP и которые хотят доставить что-то через порт 22 моего компьютера. Если вы найдете эти пакеты, то примите их.
Для команды: —
Но есть проблема с вышеуказанной командой. Это на самом деле не позволяет пакеты. Сможете угадать, что это?
СОВЕТ: — Это связано с тем, как к правилам обращаются.
Помните, как мы уже говорили ранее, правила, которые вы устанавливаете в iptables, проверяются сверху вниз. Всякий раз, когда пакет обрабатывается по одному из верхних правил, он не проверяется по нижним правилам.
Ладно! Вот ответ: —
В нашем случае Пакет был проверен с верхним правилом, которое говорит, что iptable должен отбросить любой пакет, поступающий с 192.168.1.3. Следовательно, как только пакет получил доступ через это правило, он не переходил к следующему правилу, которое разрешало пакеты в порт 22. Поэтому он потерпел неудачу.
Что можно сделать?
Самый простой ответ: добавить правило в начало цепочки. Все, что вам нужно сделать, это изменить опцию -A на опцию -I. (В нашем сценарии мы сначала удаляем правило [см. Следующий раздел], добавленное в разделе выше, а затем снова добавляем правило ниже)
Команда для этого:
Теперь проверьте конфигурацию iptable с помощью команды -L. Выход будет:
Следовательно, любой пакет, поступающий с 192.168.1.3, сначала проверяется, идет ли он на порт 22, если нет, то
проходит через следующее правило в цепочке. В противном случае разрешено проходить межсетевой экран.
Теперь, когда вы поняли, как блокировать и принимать входящий трафик, давайте посмотрим, как удалять правила:
3. Удаление правила из iptable:
Синтаксис:-
Пример:-
Если мы хотим удалить правило, которое принимает трафик на порт 22 и которое мы добавили в предыдущем разделе, то: —
The: —
4. Сохранение вашей конфигурации:
Эта часть не нужна, если вы внедряете ее на персональном компьютере, который не является сервером, но если
вы внедряете брандмауэр на сервере, тогда есть большие шансы, что ваш сервер может быть поврежден и
Вы можете потерять все свои данные. Поэтому всегда лучше сохранять свои конфигурации.
Есть много способов сделать это, но самый простой способ, который я найду, — это пакет iptables-persistent . Вы можете скачать пакет из репозиториев Ubuntu по умолчанию:
После завершения установки вы можете сохранить конфигурацию с помощью команды: —
Ну, это конец урока.
Давайте просто кратко изложим все команды, которые мы изучили до сих пор:
Источник
Как установить и использовать брандмауэр Linux
Защитите свой рабочий стол Ubuntu с помощью брандмауэра UFW
Linux является одной из самых безопасных настольных и серверных платформ на планете. Из коробки вы найдете большинство дистрибутивов Linux гораздо более безопасными, чем Windows или macOS. На самом деле, для большинства случаев использования настольных систем безопасность, предлагаемая в большинстве дистрибутивов Linux, будет вам полезна. Однако это не означает, что вы должны полностью игнорировать безопасность операционной системы, для которой вы доверили свои данные. На самом деле, вам следует знать, как работать с брандмауэром Linux.
Что такое брандмауэр?
Проще говоря, брандмауэр – это подсистема на компьютере, которая блокирует входящий или исходящий сетевой трафик на ваш компьютер. Брандмауэры могут быть созданы как очень ограничивающие (позволяющие очень мало входить и/или выходить) или очень разрешающие (допускающие довольно много входов и/или выходов). Брандмауэры бывают двух разных типов:
- Аппаратное обеспечение – физические устройства, которые служат только для защиты вашей сети (и компьютеров в вашей сети).
- Программное обеспечение – подсистемы на отдельных компьютерах, которые защищают только хост-компьютер.
Большинство домашних сетей зависят от их комбинации. Аппаратным решением обычно является модем/маршрутизатор, развернутый вашим провайдером. Много раз эти устройства настроены как очень строгие. Что касается программного обеспечения, ваш настольный компьютер использует программный брандмауэр. Одним из таких брандмауэров, который можно установить и использовать во многих дистрибутивах Linux (таких как Ubuntu и его производные), является Uncomplicated Firewall (UFW). Несложный брандмауэр – именно то, на что это похоже. Это простой инструмент, который делает управление блокировкой/разрешением сетевого трафика довольно простым. UFW – это инструмент для командной строки, который отлично справляется с задачей защиты вашего компьютера с Linux.
Установка UFW
Как на Ubuntu, так и на большинстве производных Ubuntu UWF уже установлен. Чтобы узнать, установлен ли UFW на вашем компьютере, откройте окно терминала и введите команду:
Эта команда (скорее всего) сообщит, что UFW неактивен. Если вы обнаружите, что UFW не установлен, введите команду
Активация UFW
Поскольку UFW по умолчанию неактивен, вы захотите его активировать. Для этого выполните команду
Теперь, когда вы проверяете статус, он будет отображаться как активный.
Политика по умолчанию
Большинству пользователей не нужно слишком беспокоиться о политике по умолчанию. Однако лучше по крайней мере понять основы этой политики.
Политика по умолчанию – это набор правил, которые управляют обработкой трафика, который явно не соответствует никаким другим правилам. Существует четыре политики по умолчанию:
- INPUT – трафик, поступающий в компьютер.
- ВЫХОД – трафик, выходящий из компьютера.
- FORWARD – трафик, который пересылается из одного пункта назначения в другой.
- ПОЛИТИКА ПРИЛОЖЕНИЯ – трафик, который определяется приложением (а не сетевым портом).
Для большинства пользователей будут важны только политики INPUT и OUTPUT.
Политики UFW по умолчанию задаются в файле /etc/default/ufw . Выполните команду
и найдите следующие четыре строки:
- DEFAULT_INPUT_POLICY = “DROP”
- DEFAULT_OUTPUT_POLICY = “ПРИНЯТЬ”
- DEFAULT_FORWARD_POLICY = “DROP”
- DEFAULT_APPLICATION_POLICY = “SKIP”
Важно знать, что каждая из вышеперечисленных политик может быть скорректирована с немного разными значениями по умолчанию.
- INPUT/OUTPUT/FORWARD может быть установлен на ACCEPT, DROP или REJECT
- ПРИЛОЖЕНИЕ может быть установлено на ПРИНЯТЬ, ОТКЛЮЧИТЬ, ОТКАЗАТЬ или ПРОПУСТИТЬ
Разница между ACCEPT, DROP и REJECT:
- ПРИНЯТЬ – разрешить трафик через брандмауэр.
- REJECT – не разрешать трафик через брандмауэр и отправлять сообщение о недоступности получателя ICMP обратно отправляющему источнику.
- DROP – запретить прохождение пакета через брандмауэр и не отправлять ответ.
Вы можете настроить политики по умолчанию в соответствии с вашими потребностями. Если вы измените политики в файле, перезагрузите правила UFW с помощью команды:
Разрешение входящего трафика
Поскольку вам, вероятно, не потребуется изменять политику исходящего трафика по умолчанию, давайте сосредоточимся на разрешении входящего трафика. Скажем, например, вы хотите иметь возможность защищать оболочку на своем рабочем столе (используя команду ssh ) с другого компьютера. Для этого вам нужно указать UFW разрешить входящий трафик через стандартный порт SSH (порт 22).Команда для этого будет:
Приведенная выше команда позволит любому компьютеру в вашей сети (или даже вне вашей сети, если ваш маршрутизатор настроен на пропуск внешнего трафика) получить доступ к вашему компьютеру через порт 22.
Это все хорошо, если только вы не хотите разрешить доступ к определенным компьютерам в вашей сети. Скажем, например, вы хотите разрешить только один компьютер – компьютер с IP-адресом 192.168.1.162. Для этого команда будет:
Оператор allow from указывает UFW, что ниже следует адрес, с которого разрешается трафик. к любому порту указывает UFW разрешить трафик для указанного порта. В приведенном выше примере компьютер only в вашей сети, которому будет разрешено защищать оболочку на вашем компьютере, будет иметь компьютер с IP-адресом 192.168.1.162.
Вы также можете запретить трафик на указанный сетевой интерфейс. Скажем, например, ваша машина имеет два сетевых интерфейса:
- ВНУТРЕННИЙ – с использованием сетевого интерфейса ens5 со схемой IP-адресов 192.168.1.x.
- ВНЕШНЕЕ – использование сетевого интерфейса enp0s3 со схемой IP-адресов 172.217.1.x
Что если вы хотите оставить правило, разрешающее входящий трафик ssh на 192.168.1.162, но запретить весь входящий трафик от внешнего интерфейса? Для этого команда будет:
, чтобы увидеть, что трафик ssh из 192.168.1.162 по-прежнему разрешен, тогда как трафик с внешнего интерфейса запрещен.
Удаление правил
Если вы обнаружите, что создали правила, вызывающие проблемы с подключением компьютеров к вашему компьютеру, вы можете удалить созданные вами правила. Первое, что вы хотите сделать, – это чтобы UFW перечислил ваши правила по номеру. Для этого выполните команду:
Скажем, вы хотите удалить правило номер 1. Для этого введите команду:
Вам будет предложено подтвердить удаление правила. Введите y и используйте Enter/Return на клавиатуре для подтверждения. Выполните команду
Источник