Я пытаюсь настроить простую тестовую среду с 3 машинами:
Небольшое представление об окружающей среде:
|Kali|------------------(ens160) |Firewalld| (ens192)------------------- |Web Server|
10.99.0.2 10.99.0.1 | 10.4.1.1 10.4.1.2
Я могу пинговать 10.4.1.2 из 10.99.0.2, но только когда firewalld активирован, я не могу получить веб-страницу по умолчанию на 10.4.1.2 из 10.99.0.2.
Я попытался выполнить tcpdump на FW, я вижу, что http-запрос идет от kali к firewalld, но затем firewalld отвечает пакетом ICMP: ICMP host 10.4.1.2 unreachable - admin prohibited
. Как я понял, это сообщение icmp отправляется из прошивки, если запрос заблокирован.
Вот конфигурация двух зон: public и dmz
public (active)
target: default
icmp-block-inversion: no
interfaces: ens160
sources:
services: http https
ports: 443/tcp 80/tcp
protocols:
masquerade: yes
forward-ports:
sourceports:
icmp-blocks:
rich rules:
rule service name="https" log level="info"
rule service name="http" log level="info"
dmz (active)
target: default
icmp-block-inversion: no
interfaces:
sources: 10.4.1.2
services: http https
ports:
protocols:
masquerade: no
forward-ports:
sourceports:
icmp-blocks:
rich rules:
(2 расширенных правила были попыткой зарегистрировать заблокированное соединение на брандмауэре)
Вы слишком просто думаете о firewalld. Он блокирует ваш доступ из Kali к веб-серверу, потому что вы не позволяете ничему переходить на него. Например, вы не добавили свой сетевой адаптер Ens192 ни в одну из зон. Вот что бы я сделал на вашем месте:
Сначала поместите ваш интерфейс ens160 в зону, называемую внешней. На мой взгляд, публика вводит в заблуждение. С точки зрения веб-серверов Kali - это внешняя сеть. Если у вашего брандмауэра нет другой цели, кроме пересылки входящего трафика от Kali на веб-сервер, просто поместите интерфейс на внешний. Убедитесь, что вы разрешаете только службы HTTP, HTTPS и SSH для внешних. Также необходимо включить маскарад.
Во-вторых, вам нужно настроить внутренний интерфейс. DMZ используется, если у вас есть другая сеть, управляемая вашим брандмауэром, в которую вы не хотите, чтобы гости или другие могли входить. Как и наш гостевой WiFi, он обслуживается в зоне межсетевого экрана DMZ. Для вашей настройки я бы поместил его во внутренний или доверенный. Для максимальной безопасности удалите все службы и снова добавьте только SSH, HTTP и HTTPS. Также очень важно добавить маскарад: да, еще раз.
Третьим шагом будет пересылка каждого HTTP- и HTTPS-трафика на ваш веб-сервер. Здесь у вас 2 шанса.
Имейте в виду, что, имея сервер брандмауэра между Kali и веб-сервером, вы никогда не сможете выполнить эхо-запрос от Kali к веб-серверу, просто потому, что пинг не сможет пройти через брандмауэр. Это нормальное поведение, и вам не следует его менять.
Вот команды, которые могут вам понадобиться:
Если вы решили установить NginX, просто сделайте следующее:
server { server_name your.website.com; listen 80; location / { proxy_pass http://10.4.1.2$request_uri; proxy_set_header Host $host; } }
vim /etc/nginx/nginx.conf
#include /etc/nginx/conf.d/*.conf; включить /etc/nginx/sites-enabled/*.conf;
systemctl перезапустить nginx
Я думаю, это должно сработать для вас. Если нет, сообщите об этом в комментарии, и я вам помогу. Это только то, что вылетело из головы по поводу вашего вопроса.