Назад | Перейти на главную страницу

вопрос о брандмауэре linux

У меня есть несколько общих вопросов о брандмауэрах, и я подумал, что сообщество здесь может мне помочь.

1) Итак, я недавно установил баребоны для серверов Ubuntu. Я проверил наличие открытых портов, ни один из них не был открыт, и это было здорово. Это потому, что был установлен брандмауэр, или потому что не было установленных приложений?

2) Я установил несколько приложений (Apache, postgres, ssh, приложение Java и некоторые другие). Между ними я открыл несколько портов (~ 10). Теперь у меня есть список всех портов, которые мне нужно открыть. Итак, как мне их защитить? [Это правильный вопрос? процесс идет следующим образом: Установить брандмауэр -> Разрешить указанные необходимые порты -> запретить отдых, используя правила IPtables]

Это будет открыто для Интернета. Размещение сайтов электронной коммерции с низким трафиком.

3) Как вы думаете, какой для меня самый простой способ квази-защиты сервера [низкие затраты на обслуживание / простота. Любое «программное обеспечение» с открытым исходным кодом, которое может облегчить мне жизнь?]

4) Наконец, из указанных открытых портов [2] у меня есть 2 порта, которые мне нужно закрыть, потому что они являются портами Telnet. Могу ли я закрыть эти порты без установки "межсетевого экрана"

Спасибо всем за помощь и с Рождеством !!!!!!!

  1. У вас не было портов для прослушивания, потому что у вас не было процессов прослушивания. Ubuntu хорошо справляется с этой задачей при установке по умолчанию. Те процессы, которым требуется порт прослушивания, обычно по умолчанию используют localhost (127.0.0.1). Это предотвращает прямой доступ из удаленных систем.
  2. Ожидается, что такие приложения, как Apache и SSH-сервер, будут прослушивать соединения с удаленных серверов. Apache имеет собственные списки ACL для безопасного доступа. Сервер SSH можно защитить с помощью файлов hosts.allow и hosts.deny в дополнение к его конфигурации. Приложения мои MySQL и PostressSQL по умолчанию должны прослушивать локальный хост. Если вам нужен доступ из другой системы, вам нужно будет изменить конфигурацию их слушателя. Обычно у них есть один или несколько механизмов защиты доступа.
  3. Используйте hosts.allow / hosts.deny для приложения, которое поддерживает этот механизм. Используя конструктор брандмауэра, например Shorewall построить безопасный межсетевой экран помогает. Понимание собственных механизмов безопасности каждого приложения помогает углубить ваши механизмы. Такой инструмент, как logcheck, может отслеживать ваши журналы и уведомлять вас о некоторых событиях, которые вам может потребоваться проверить. Я использую Munin для мониторинга своих систем и в некоторых случаях предупреждаю меня о проблемах. Это заменяет предыдущее использование Nagion и MRTG для мониторинга и построения графиков использования системы.
  4. Если у вас запущен telnet, вы можете закрыть порты, остановив службу. Если вам это действительно не нужно, удалите пакет telnet и замените его ssh-server. Большинство серверов telnet поддерживают использование hosts.allow / hosts.deny для ограничения доступа. Это также относится к приложениям, работающим под inetd или xinetd. MySQL и PostgreSQL должны прослушивать только 127.0.0.1, который защищен от прямого доступа извне вашего сервера.

Моя обычная настройка брандмауэра Shorewall начинается с примера конфигурации количества интерфейсов на сервере (или зон доступа: NET, LAN, DMZ). Обратите внимание, что если зоны совместно используют интерфейсы и / или маршрутизаторы, это может быть менее безопасно, чем могло бы быть. Затем я корректирую правила по мере необходимости.

Я часто отключаю любые политики исходящего доступа по умолчанию. Они заменяются правилами, разрешающими исходящий доступ на требуемых портах (DNS, NTP, SMTP и т. Д.).

1.) вы всегда можете проверить это с помощью iptables -L этот вывод означает отсутствие брандмауэра:

Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

2.) Да, просто разрешите порты в цепочке ввода на вашем интерфейсе (например, eth0) и отбросьте все остальное.

вам также следует сделать некоторые другие вещи, например:

  • НОЛЬ
  • рождество (SYN + FIN + ACK)
  • SYN-FIN

и не забудьте установить важные параметры sysctl

3.) простые способы:

  • брандмауэр: http://easyfwgen.morizot.net/gen/
  • инструмент анализа логов, информирующий об угрозах
  • другие инструменты, которые выполняют проактивные проверки (например, fail2ban)
  • инструменты мониторинга, которые информируют вас о состоянии ваших машин (например, zabbix, nagios)

4.) введите следующую команду

root@host:~# netstat -npl | grep LISTEN
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1417/telnet

Интересное число - 1417 (номер процесса) после telnet. убить его убить -9 1417

но будь осторожен с тем, что убиваешь!

если вы не хотите его убивать, вы можете просто использовать брандмауэр, чтобы запретить использование этого порта ...

1) Вы можете (проверить себя) установить ssh и попытаться увидеть, показывает ли на другом компьютере с nmap порт 22 как открытый. 2) Это большой ответ. Вы должны точно знать, какую защиту вы хотите предоставить своим услугам ... 3)? 4) закройте службу inetd