Getting started with iptables in Linux Приступая к работе с IPTABLES в Linux

by Sukrit Dhandhania on December 8, 2008 по Sukrit Dhandhania на 8 декабрь 2008 года

LinuxБезопасность

Linux machines are known to be pretty secure. Linux машин, как известно, очень безопасной. Studies have shown that Linux has been designed in a secure manner. Исследования показали, что Linux был разработан в безопасности. Yet, despite all the security features that come bundled with a Linux installation, you need to configure these features correctly to make them work for you. Тем не менее, несмотря на все функции безопасности, которые приходят вместе с установкой Linux, вам нужно настроить эти функции правильно сделать их работу за вас. I’ll guide you through the process of setting up of one of the tools that help secure your machine - the firewall. Я проведет вас через процесс создания одного из инструментов, которые помогут обеспечить Вашу машину - брандмауэр. We will use the iptables firewall for this exercise. Мы будем использовать IPTABLES брандмауэр для этого мероприятия. I am assuming that you are using a server running Red Hat Enterprise Linux 4 or similar. Я предполагая, что вы используете сервер Red Hat Enterprise Linux 4, или аналогичной. However, most of the steps should work fine on other Linux distributions as well. Тем не менее, большинство из шагов должно работать на других дистрибутивов Linux, как хорошо. In this article we will setup a firewall on a Linux server running the Apache Web Server, FTP, and SSH. В этой статье мы рассмотрим настройку брандмауэра на Linux сервер Apache Web-сервер, FTP и SSH.

Let us first see what ports these applications use and which of them need to have a port open on the firewall. Давайте сначала посмотрим, какие порты этих приложений использовать и какие из них должны иметь открытых портов в брандмауэре.

The Apache web server runs on port 80 by default. Apache Web-сервер работает на порту 80 по умолчанию. Apache is going to server all our web content on this port, therefore we need to keep this port open on the firewall. Apache собирается на сервер все наши веб-контента на данном порту, поэтому нам необходимо сохранить этот порт открыть по брандмауэру. The SSH service runs on port 22. SSH служба работает на порту 22. We need to be able to remotely connect to our server to work, so we keep it open. Мы должны иметь возможность удаленно подключаться к нашему серверу для работы, поэтому держать его открытым. FTP runs on port 21 and it too needs the port to be open to communication. FTP работает на порту 21 и оно также нуждается в порту должны быть открыты для общения.

Next, make sure you have iptables installed. Далее, убедитесь, что у вас есть IPTABLES установлена. Run this command as the root user: Выполнить эту команду в качестве корневого пользователя:

# rpm -qa | grep iptables # Об. / мин-QA | Grep IPTABLES

If you have iptables installed the system should give you the version of iptables you have installed. Если у вас есть IPTABLES установлена система должна предоставить вам вариант IPTABLES у вас установлена. In case you don’t you can try something like the following to get it and start it: В случае, если вы не вы можете попробовать что-нибудь вроде следующего чтобы получить его и запустить его:

# yum install iptables # Ням установить IPTABLES

# /etc/init.d/iptables start # / И т.д. / init.d / IPTABLES начало

To check what kind of configuration iptables is currently running with: Чтобы проверить, какие из конфигурация IPTABLES настоящее время работает с:

# iptables –list # IPTABLES-лист
Chain INPUT (policy ACCEPT) Цепочка INPUT (политика ACCEPT)
target prot opt source destination целевой прот выбирать источник назначения

Chain FORWARD (policy ACCEPT) Цепь вперед (политика ACCEPT)
target prot opt source destination целевой прот выбирать источник назначения

Chain OUTPUT (policy ACCEPT) Цепочка OUTPUT (политика ACCEPT)
target prot opt source destination целевой прот выбирать источник назначения

This command will list out all the firewall rules that have been set currently. Эта команда перечисляет все правила брандмауэра, которые были установлены в настоящее время. I will proceed with the assumption that you do not have any firewall rules in your iptables configuration. Я буду действовать в предположении, что у вас нет каких-либо правил брандмауэра в вашем IPTABLES конфигурации. Let’s now configure the firewall to allow open communication on the ports 80 for your web server, 22 for SSH, and port 21 for FTP. Давай сейчас настроить брандмауэр, чтобы открыть сообщение на порты 80 для вашего веб-сервера, 22 по SSH, и порт 21 для FTP. We’ll also make sure that we block communication to any port other than specified. Мы также уверены в том, что мы блок сообщение какого-либо порта, помимо указанных.

Here’sa firewall script configuration script. Вот скрипт конфигурации брандмауэра сценарий. Create a new file and call it iptable-firewall.sh . Создайте новый файл и назовите его iptable-firewall.sh. Copy the following text into it: Скопируйте следующий текст в него:

#!/bin/sh #! / BIN / ш

ANY=”0/0″ ЛЮБОЙ = "0 / 0"
OPEN_PORTS=”21 22 80″ OPEN_PORTS = "21 22 80"

iptables -P INPUT ACCEPT IPTABLES-P INPUT ACCEPT
iptables -P FORWARD ACCEPT IPTABLES-P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT IPTABLES-P OUTPUT ACCEPT

# Flush (-F) all specific rules Флеш # (-F) все конкретные правила
iptables -F INPUT IPTABLES-F INPUT
iptables -F FORWARD IPTABLES-F ВПЕРЕД
iptables -F OUTPUT IPTABLES-F OUTPUT

for port in $OPEN_PORTS в порту в $ OPEN_PORTS
do делать
iptables -A INPUT -i eth0 -p tcp -s $ANY -d $ANY –destination-port $port –syn -j ACCEPT IPTABLES-A INPUT-I eth0-P TCP-S $ ЛЮБОЙ-D $ ЛЮБОЙ-порт назначения $ Порт-сине-J ACCEPT
iptables -A INPUT -i eth1 -p tcp -s $ANY -d $ANY –destination-port $port –syn -j ACCEPT IPTABLES-A INPUT-I eth1-P TCP-S $ ЛЮБОЙ-D $ ЛЮБОЙ-порт назначения $ Порт-сине-J ACCEPT
done готово

iptables -A INPUT -i eth1 -p icmp -s $ANY -d $ANY -j ACCEPT IPTABLES-A INPUT-I eth1-С ICMP-S $ ЛЮБОЙ-D $ ЛЮБОЙ-J ACCEPT

#Allow any related/established connections # Разрешить любые связанные с ними / созданы соединения
iptables -A INPUT -i eth0 -m state –state ESTABLISHED,RELATED -j ACCEPT IPTABLES-A INPUT-I eth0-м государством состояния ESTABLISHED, RELATED-J ACCEPT
iptables -A INPUT -i eth1 -m state –state ESTABLISHED,RELATED -j ACCEPT IPTABLES-A INPUT-I eth1-м государством состояния ESTABLISHED, RELATED-J ACCEPT

#Kill everything else # Убил все остальное
iptables -A INPUT -i eth0 -j DROP IPTABLES-A INPUT-I eth0-J DROP
iptables -A INPUT -i eth1 -j DROP IPTABLES-A INPUT-I eth1-J DROP

#write for boot # записать на загрузочный
iptables-save > /etc/sysconfig/iptables IPTABLES-сохраните> / ETC / sysconfig / IPTABLES

Now save the above file, grant it executable permissions and then run it: Теперь сохраните файл выше, предоставлять его исполняемым разрешений, а затем запустить его:

# chmod +x iptable-firewall.sh # Chmod + X iptable-firewall.sh

# ./iptable-firewall.sh #. / Iptable-firewall.sh

Now check your firewall rules: Теперь проверьте ваш брандмауэр правил:

# iptables –list # IPTABLES-лист

All your firewall rules should now be set. Все правила брандмауэра теперь должна быть установлена. Your server is now secure. Ваш сервер теперь в безопасности. To make any modification or additions to this set of rules, edit the line where the OPEN_PORTS parameter is defined and add or remove ports form the list. Чтобы делать какие-либо изменения или дополнения в этот набор правил, изменять строку, где OPEN_PORTS параметр определен, и добавить или удалить порты виде списка. Remember to run the script again after making any changes to it. Не забудьте запустить скрипт еще раз после внесения каких-либо изменений к нему.

If all of this command line stuff has you a bit leery, see the tutorial Если все это в командной строке материал имеет вы немного хитрый, см. учебник How to setup Firestarter - an easy to use Linux Firewall Как настроить Firestarter - простой в использовании Linux Брандмауэр - which has an easy to use graphical interface. - Которая имеет простой в использовании графический интерфейс.

Related Posts: Связанные Сообщений:
  • How to set up Evolution for email Как создать Эволюция по электронной почте
  • How to send email from the Linux command line Как отправить письмо из командной строки Linux
  • How to install, setup and use Google Desktop Search in Ubuntu Как для установки, настройки и использования программы Google Desktop в Ubuntu
  • How to install Windows programs in Linux using Wine Как установить Windows программы в Linux с использованием вина
  • How to play .rmvb files in Ubuntu Как играть. RMVB файлов в Ubuntu
  • Get Simple Help tutorials just like this one in your email inbox every day - for free! Получить справки Простые уроки точно так же, как это в свое сообщение Входящие каждый день - бесплатно! Just enter your email address below: Просто введите свой адрес электронной почты ниже:

    You can always opt out of this email subscription at any time. Вы всегда можете отказаться от подписки это сообщение в любой момент.


    Bookmark and Share Закладка и Поделитесь

    { 0 comments… (0 комментарии ... add one now Добавить сейчас } )

    Leave a Comment Оставить комментарий

    You can use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> Вы можете использовать эти теги HTML и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>