Почему порт 80 закрыт

Если вы планируете размещать веб-сайты на CentOS 7, вы можете установить программное обеспечение веб-сервера, такое как Apache или Nginx. Веб-сервер, такой как Apache, по умолчанию работает на 80-м порту. То есть, если вы перейдете на IP-адрес, имя хоста или доменное имя вашего сервера из веб-браузера, тогда веб-сервер должен отправить вам веб-страницу.

На сервере CentOS 7 должно быть установлено множество подобных сервисов. Подобно тому, как веб-сервер работает с портом 80, DNS-сервер работает с портом 53, SSH-сервер работает с портом 22, сервер MySQL работает с портом 3306 и так далее. Но вы не хотите, чтобы другие подключались к этим службам.

Если кто-то получит доступ к вашему SSH-серверу, он / она сможет управлять вашим сервером, например остановите некоторые службы, установите некоторые новые службы, смените пароль и многое другое может случаться. Вот почему используется программа брандмауэра, позволяющая посторонним подключаться к определенному порту и блокировать другие. Для веб-сервера порт 80.

Порты и перенаправлениеоткрытие портов. Инструкция и объяснения на пальцах!

В этой статье я покажу вам, как открыть порт 80 и заблокировать все остальные порты на CentOS 7 с помощью firewalld. Давайте начнем.

Установка веб-сервера

В этом разделе я покажу вам, как установить веб-сервер на CentOS 7. Я включил этот раздел, чтобы вы могли получить реальный жизненный опыт о том, о чем я говорю.

Наиболее широко используемым программным обеспечением для веб-серверов является Apache. Apache доступен в официальном репозитории пакетов CentOS 7.

Чтобы установить веб-сервер Apache, выполните следующую команду:

$ судо ням установить httpd

Нажмите ‘y’, а затем нажмите продолжить.

Должен быть установлен веб-сервер Apache.

Теперь выполните следующую команду, чтобы проверить, запущен ли HTTP-сервер Apache:

$ судо systemctl статус httpd

Как видно на скриншоте ниже, HTTP-сервер Apache не запущен.

Вы можете запустить HTTP-сервер Apache с помощью следующей команды:

$ судо systemctl start httpd

Вам нужно, чтобы HTTP-сервер Apache запускался автоматически при загрузке системы. Вы можете добавить HTTP-сервер Apache в автозагрузку с помощью следующей команды:

$ судо systemctl включить httpd

HTTP-сервер Apache добавлен в автозагрузку.

Теперь откройте веб-браузер и перейдите в http://localhost

Вы должны увидеть следующую страницу, как показано на скриншоте ниже.

КАК ОТКРЫТЬ ПОРТЫ — Порт 7777 Порт 80 Порт 1604 Порт 446 Порт 25565

Проверка открытых портов с помощью nmap

Сначала проверьте IP-адрес вашего сервера CentOS 7 с помощью следующей команды:

Как видно на скриншоте ниже, IP-адрес моего сервера CentOS 7 192.168.10.97

Вы можете проверить все открытые порты с помощью nmap утилита с другого компьютера следующим образом:

Еще по теме:  Мне неприятно что ТВ

$ nmap -sT 192.168.10.97

Как видите, сейчас открыт только порт 22. Что нас интересует, так это открытие только порта 80 и закрытие других.

Открытие порта 80 и закрытие других

Сначала проверьте все разрешенные службы с помощью следующей команды:

$ судо firewall-cmd —list-all

Как видите, у меня есть сервисы dhcpv6-client и ssh, разрешенные извне. Вам может быть разрешено больше или меньше услуг.

Теперь вам нужно отключить их по одному.

Вы можете удалить службу ssh с помощью следующей команды:

$ судо firewall-cmd — удалить-сервис = ssh —постоянный

Вы можете удалить службу dhcpv6-client с помощью следующей команды:

$ судо firewall-cmd — удалить-сервис = dhcpv6-client —постоянный

Теперь добавьте службу HTTP или порт 80 с помощью следующей команды:

$ судо firewall-cmd —добавить сервис = http —постоянный

Когда вы закончите, перезапустите firewalld с помощью следующей команды:

$ судо firewall-cmd —reload

Теперь, если вы снова проверите службы firewalld:

$ судо firewall-cmd —list-all

Вы должны видеть только http сервис разрешен, как указано на скриншоте ниже.

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

$ судо nmap -sT 192.168.10.97

Вы должны увидеть, что открыт только порт 80, как показано на скриншоте ниже.

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

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

Вот как вы открываете порт 80 и блокируете все остальные порты в CentOS 7. Спасибо, что прочитали эту статью.

Источник: ciksiti.com

Лучшая практика — держите 80 порт открытым

Периодически нам сообщают о проблемах с использованием проверки HTTP-01, потому что отключен 80 порт в настройках брандмауэра на веб-сервере. Мы рекомендуем, чтобы все сервера, предназначенные для использования в общей сети, работали как с HTTP на порту 80, так и с HTTPS на порту 443. Также они должны перенаправлять все запросы, приходящие на 80 порт, и, по возможности, заголовки HSTS (для запросов на 443 порт).

Открытый 80 порт не увеличивает число возможных векторов атаки на ваш сервер, так как запросы на 80 порт обычно обрабатываются тем же ПО, что работает и с 443 портом.

Закрытый 80 порт не снижает риск для человека, который случайно зашел на ваш сайт по HTTP. В обычных обстоятельствах он получит перенаправление на HTTPS, и весь его последующий трафик будет защищен. Если посетитель был объектом для активной MITM-атаки, MITM будет слать ответ на 80 порт, поэтому ваш сайт никогда не вернет “connection refused”.

Наконец, открытый для обслуживания редиректов 80 порт помогает людям попасть на правильную версию вашего сайта (HTTPS-версию). Разными путями, не зависящими от вас, люди могут ненадолго попасть на HTTP-версию сайта – например, через автоматически сформированные ссылки в email или вводя доменное имя вручную. В этом случае лучше пусть произойдет редирект, чем появится ошибка.

Еще по теме:  Progdvb как настроить ТВ тюнер

К сожалению, вы не можете контролировать блокировку 80 порта на своем сайте. Некоторые интернет-провайдеры блокируют 80 порт по различным причинам. Если ваш провайдер поступает так же, но вы все же хотите получить сертификаты Let’s Encrypt, у вас есть два варианта: можно использовать испытания DNS-01 либо воспользоваться одним из клиентов, поддерживающих испытания TLS-ALPN-01 (на порту 443):

Let’s Encrypt — это бесплатный, автоматизированный и открытый Центр Сертификации, созданный для вас некоммерческой организацией Internet Security Research Group (ISRG).

548 Market St, PMB 77519 , San Francisco , CA 94104-5401 , USA

Все письма и запросы отправляйте по адресу:

PO Box 18666 , Minneapolis , MN 55418-0666 , USA

  • GitHub
  • Twitter
  • Mastodon

Источник: letsencrypt.org

Как открыть порт Ubuntu

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

На промышленных серверах брандмауэр запрещает подключение к большинству из них, оставляя только необходимые. В этой статье мы рассмотрим как открыть порт iptables и закрыть все остальные. Хотя в большинстве дистрибутивов существуют специальные утилиты для настройки брандмауэра,мы будем использовать iptables, чтобы вы смогли понять процесс на самом низком уровне.

Просмотр правил Iptables

Прежде чем что-либо менять, нужно понять каким образом система работает сейчас. Возможно, для лучшего понимания материала вам сначала стоит ознакомиться со статьей iptables для начинающих. Для просмотра текущих правил iptables выполните такую команду:

sudo iptables -L

Здесь мы видим три цепочки OUTPUT, INPUT и FORWARD, за открытые порты отвечает цепочка INPUT, именно через нее проходят все входящие пакеты. Сейчас политика по умолчанию — ACCEPT, это значит, что подключение ко всем портам разрешено. Здесь нам нужно настроить все самим и это будет проще если бы какая-либо программа уже создала свои настройки, но этот вариант мы тоже рассмотрим ниже.

Как открыть порт iptables с нуля

Если в iptables уже есть какие-либо правила и вы хотите их удалить просто выполните:

sudo iptables -F

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

sudo iptables -A INPUT -i lo -j ACCEPT
$ sudo iptables -A OUTPUT -o lo -j ACCEPT

Если кратко, то здесь добавляется два правила в цепочки INPUT и OUTPUT, разрешающие отправку и прием данных из интерфейса lo. Еще одно интересное и важное правило, которое многие упускают. Нужно запрещать только новые соединения, а пакеты для уже открытых нужно разрешать. Иначе получится, что мы отправляем серверу запрос (цепочка OUTPUT открыта), соединение открывается, но сервер не может нам ответить, потому что все пакеты отбрасываются в INPUT. Поэтому нужно разрешить все пакеты с состоянием ESTABLISHED и RELATED. Для этого есть модуль state:

Еще по теме:  Подписка окко премиум что включает в себя

sudo iptables -A INPUT -m state —state ESTABLISHED,RELATED -j ACCEPT

Теперь самое интересное, рассмотрим как открыть порт 22 и 80 для протокола TCP:

sudo iptables -A INPUT -p tcp —dport 22 -j ACCEPT
$ sudo iptables -A INPUT -p tcp —dport 80 -j ACCEPT

Опция -A сообщает, что нужно добавить пакет в конец цепочки, -p — указывает протокол, а —dport или Destination Port (порт назначения) указывает из какого порта пакеты нужно принимать. Теперь вы можете снова посмотреть список правил:

sudo iptables -L

Вывод очень упрощен и понять здесь что-то сложно, например, может показаться что у нас два одинаковых правила, хотя это не так. Чтобы отобразить более подробную информацию используйте:

sudo iptables -nvL

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

sudo iptables -P INPUT DROP

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

Как открыть порт, если уже есть правила

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

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

sudo iptables -A INPUT -j DROP

Как вы понимаете, это значит, что все пакеты, которые до него доходят, будут отброшены. Ваше правило добавляется в конец цепочки, уже после этого. Естественно, что к нему уже никакие пакеты не дойдут, потому что они были отброшены ранее. Чтобы обойти эту проблему нужно использовать опцию -I (INSERT) вместо -A (ADD), она добавляет правило в начало цепочки и все будет работать. Осталось открыть порты Linux:

sudo iptables -I INPUT -p tcp —dport 1924 -j ACCEPT

Теперь смотрим список правил и проверяем:

sudo iptables -L

Выводы

В этой статье мы рассмотрели как открыть порт Ubuntu 16.04 или в любом другом Linux дистрибутиве, а также закрыть ненужные порты. Это повысит безопасность вашей системы. Только на первый взгляд кажется, что с iptables сложно работать. Если разобраться, то все будет достаточно просто. Надеюсь, эта информация была полезной для вас.

Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.

Источник: losst.pro

Оцените статью
Добавить комментарий