Поиск по сайту:

Как изменить порт Apache по умолчанию в Linux

Обеспечение безопасности сервера Linux — жизненно важная обязанность системного администратора. Хотя существует множество способов обеспечить максимальную безопасность вашего сервера, есть несколько основных шагов, которые вы должны сделать в первую очередь. Один из них — изменить порты по умолчанию часто используемых сервисов на пользовательские порты. Здесь мы увидим, как изменить порты Apache, FTP и SSH по умолчанию на что-то другое, о чем трудно догадаться. Разобьем эту тему на три небольшие части. В первой части мы увидим, как изменить порт Apache по умолчанию на собственный порт в Linux.

Почему нам нужно изменить порт Apache2 по умолчанию?

Прежде чем перейти к этой теме, вы можете спросить, изменение порта повысит безопасность? Честно говоря, нет, это не защитит вашу систему полностью. Изменение порта по умолчанию само по себе не обеспечивает серьезной защиты безопасности. Существует множество сканеров портов, которые в конечном итоге определят, какой порт вы используете. Но вы можете, как минимум, защитить свои серверы от любых любительских атак, а также уменьшить количество атак. Вот почему нам нужно изменить порты по умолчанию.

Измените порт Apache по умолчанию на собственный порт

1. Измените порт Apache в Debian/Ubuntu

Отредактируйте файл /etc/apache2/ports.conf:

sudo vi /etc/apache2/ports.conf

Найдите следующую строку:

Listen 80

И измените его на случайное число по вашему выбору, например 8090.

Listen 8090

Эта запись позволяет серверу принимать соединения через порт 8090 на всех интерфейсах. Чтобы сервер принимал соединения через порт 8090 для определенного интерфейса, просто укажите IP-адрес соответствующего сетевого интерфейса, как показано ниже.

Listen 192.168.1.101:8090

Это будет полезно, если ваш сервер имеет несколько IP-адресов или сетевых интерфейсов.

Сохраните и закройте файл.

Кроме того, в Ubuntu и Debian вам также необходимо изменить номер порта в файле /etc/apache2/sites-enabled/000-default.conf.

sudo vi /etc/apache2/sites-enabled/000-default.conf

Найдите следующую строку и измените номер порта.

<VirtualHost *:8090>

Сохраните и закройте файл.

Затем перезапустите службу Apache, чтобы изменения вступили в силу.

sudo systemctl restart apache2

Теперь проверим настройки порта:

sudo netstat -tulpn | grep :8090

Пример вывода:

tcp6       0      0 :::8090                 :::*                    LISTEN      4066/apache2

Затем откройте веб-браузер и перейдите по URL-адресу: http://IP-адрес:8090.

Вы должны увидеть следующий экран:

Тестовая страница Apache2 в Ubuntu

Далее мы увидим, как изменить порт Apache в системах на базе RHEL.

2. Измените порт Apache в RHEL, CentOS, AlmaLinux, Rocky Linux

Сначала убедитесь, что вы установили веб-сервер Apache.

Затем отредактируйте файл /etc/httpd/conf/httpd.conf,

sudo vi /etc/httpd/conf/httpd.conf

Найдите следующую строку:

Listen 80

И измените его на случайное число по вашему выбору, например 8090.

Listen 8090

Эта запись позволяет серверу принимать соединения через порт 8090 на всех интерфейсах. Чтобы сервер принимал соединения через порт 8090 для определенного интерфейса, просто укажите IP-адрес соответствующего сетевого интерфейса, как показано ниже.

Listen 192.168.1.150:8090

Это будет полезно, если ваш сервер имеет несколько IP-адресов или сетевых интерфейсов.

Сохраните и закройте файл.

В системах RHEL/CentOS убедитесь, что новый номер порта 8090 не заблокирован SELinux и брандмауэром.

sudo semanage port -a -t http_port_t -p tcp 8090

Если команда semanage не найдена, установите следующий пакет в CentOS 7/RHEL 8:

sudo yum install policycoreutils-python

В CentOS 8/RHEL 8:

sudo dnf install policycoreutils-python-utils

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

В RHEL 7/8 и CentOS 7/8:

sudo firewall-cmd --permanent --add-port=8090/tcp
sudo firewall-cmd --reload

В RHEL 6/CentOS 6:

sudo vi /etc/sysconfig/iptables

И добавьте новую строку пользовательского порта:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 8090 -j ACCEPT

Сохраните и выйдите из файла и перезапустите службу iptables.

sudo service iptables restart

Наконец перезапустите службу httpd.

sudo systemctl restart httpd

В системах RHEL 6.x перезапустите службу httpd, используя следующую команду:

sudo service httpd restart

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

Пример вывода:

● httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
  Drop-In: /usr/lib/systemd/system/httpd.service.d
           └─php-fpm.conf
   Active: active (running) since Mon 2020-02-10 17:08:21 IST; 1min 20s ago
     Docs: man:httpd.service(8)
 Main PID: 2126 (httpd)
   Status: "Running, listening on: port 8090"
    Tasks: 213 (limit: 11501)
   Memory: 24.3M
   CGroup: /system.slice/httpd.service
           ├─2126 /usr/sbin/httpd -DFOREGROUND
           ├─2127 /usr/sbin/httpd -DFOREGROUND
           ├─2128 /usr/sbin/httpd -DFOREGROUND
           ├─2129 /usr/sbin/httpd -DFOREGROUND
           └─2130 /usr/sbin/httpd -DFOREGROUND

Feb 10 17:08:21 centos8.ostechnix.lan systemd[1]: Starting The Apache HTTP Server...
Feb 10 17:08:21 centos8.ostechnix.lan systemd[1]: Started The Apache HTTP Server.
Feb 10 17:08:21 centos8.ostechnix.lan httpd[2126]: Server configured, listening on: port 8090

Или с помощью команды netstat:

sudo netstat -tulpn | grep :8090

Пример вывода:

tcp6       0      0 :::8090                 :::*                    LISTEN      17636/httpd

Если команда netstat не найдена, установите следующий пакет.

sudo yum install net-tools

Затем проверьте тестовую страницу Apache в браузере, используя URL-адрес: http://IP-адрес:8090.

Вы должны увидеть следующий экран:

Измените порт Apache по умолчанию на собственный порт в Linux

Поздравляем! Порт Apache по умолчанию был изменен.

Перейдите по следующей ссылке, чтобы узнать, как изменить порт FTP по умолчанию.

  • Как изменить порт FTP по умолчанию на собственный порт

Статьи по данной тематике