diff --git a/docker-compose.yml b/docker-compose.yml index e07a198..ed5c79a 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,7 +3,7 @@ services: # MariaDB Database # ---------------------------------------- mariadb: - image: mariadb:10.6 + image: mariadb:10.11 container_name: sec_lab_db environment: MYSQL_ROOT_PASSWORD: root_password @@ -23,8 +23,8 @@ services: image: nginx:stable-alpine container_name: sec_lab_victim_nginx ports: - - "80:80" - - "443:443" + - "8721:80" + - "8722:443" volumes: - ./:/var/www/html:ro - ./docker/nginx/default.conf:/etc/nginx/conf.d/default.conf:ro @@ -45,16 +45,18 @@ services: dockerfile: ./docker/php/Dockerfile args: # اینجا می‌توانید آدرس Nexus داخلی سرور خود را بدهید - - COMPOSER_REGISTRY=http://192.168.1.201:8081/repository/composer-runflare/ - - LINUX_REGISTRY=http://192.168.1.201:8081/repository/debian-arvan - - SECURITY_REGISTRY=http://192.168.1.201:8081/repository/debian-arvan-security - - NPM_REGISTRY=http://192.168.1.201:8081/repository/npm-group/ - - NODE_REGISTRY=http://192.168.1.201:8081/repository/node-dist + - COMPOSER_REGISTRY=https://mirror-composer.runflare.com + - LINUX_REGISTRY=http://mirror.arvancloud.ir/debian + - SECURITY_REGISTRY=http://mirror.arvancloud.ir/debian-security + - NPM_REGISTRY=https://package-mirror.liara.ir/repository/npm/ + network: host + volumes: - ./:/var/www/html:rw depends_on: - mariadb + networks: - lab_net restart: always @@ -66,7 +68,7 @@ services: image: nginx:stable-alpine container_name: sec_lab_attacker_nginx ports: - - "58691:80" + - "8723:80" volumes: - ./:/var/www/html:ro # حالا هکر هم به کدهای لاراول دسترسی دارد - ./docker/nginx/hacker.conf:/etc/nginx/conf.d/default.conf:ro # کانفیگ اختصاصی هکر @@ -82,4 +84,4 @@ networks: driver: bridge volumes: - db_data: \ No newline at end of file + db_data: diff --git a/docker/nginx/default.conf b/docker/nginx/default.conf index 2e1dae6..913ddf0 100644 --- a/docker/nginx/default.conf +++ b/docker/nginx/default.conf @@ -1,15 +1,6 @@ server { listen 80; server_name webapp.kr-rezvan.ir blog.webapp.kr-rezvan.ir; - return 301 https://$host$request_uri; # ری‌دایرکت به نسخه امن -} - -server { - listen 443 ssl; - server_name webapp.kr-rezvan.ir blog.webapp.kr-rezvan.ir; - - ssl_certificate /etc/nginx/certs/kr-rezvan.ir.pem; - ssl_certificate_key /etc/nginx/certs/kr-rezvan.ir-key.pem; root /var/www/html/public; index index.php; @@ -22,5 +13,9 @@ server { fastcgi_pass php:9000; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; + + # هدرهای پروکسی را به PHP-FPM پاس بده تا لاراول متوجه HTTPS بودن بشود + fastcgi_param HTTP_X_FORWARDED_PROTO https; + fastcgi_param HTTP_X_FORWARDED_PORT 443; } -} \ No newline at end of file +} diff --git a/docker/nginx/hacker.conf b/docker/nginx/hacker.conf index 06b5e20..04f6f7c 100644 --- a/docker/nginx/hacker.conf +++ b/docker/nginx/hacker.conf @@ -1,15 +1,6 @@ server { listen 80; server_name hackerapp.eitebar.ir; - return 301 https://$host$request_uri; -} - -server { - listen 443 ssl; - server_name hackerapp.eitebar.ir; - - ssl_certificate /etc/nginx/certs/kr-rezvan.ir.pem; - ssl_certificate_key /etc/nginx/certs/kr-rezvan.ir-key.pem; root /var/www/html/public; index index.php; @@ -22,5 +13,8 @@ server { fastcgi_pass php:9000; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; + + fastcgi_param HTTP_X_FORWARDED_PROTO https; + fastcgi_param HTTP_X_FORWARDED_PORT 443; } -} \ No newline at end of file +} diff --git a/docker/php/Dockerfile b/docker/php/Dockerfile index b2fab8e..3ece793 100644 --- a/docker/php/Dockerfile +++ b/docker/php/Dockerfile @@ -2,13 +2,13 @@ FROM php:8.2-fpm-bookworm # متغیرهای ریجستری (اضافه شدن NPM) ARG COMPOSER_REGISTRY="https://mirror-composer.runflare.com" -ARG LINUX_REGISTRY="http://deb.debian.org/debian" -ARG SECURITY_REGISTRY="http://security.debian.org/debian-security" +ARG LINUX_REGISTRY="http://mirror.arvancloud.ir/debian" +ARG SECURITY_REGISTRY="http://mirror.arvancloud.ir/debian-security" # تغییر سورس‌های apt -RUN sed -i "s|http://deb.debian.org/debian|${LINUX_REGISTRY}|g" /etc/apt/sources.list.d/debian.sources \ - && sed -i "s|http://security.debian.org/debian-security|${SECURITY_REGISTRY}|g" /etc/apt/sources.list.d/debian.sources \ - && echo 'Acquire::Check-Valid-Until "false";' > /etc/apt/apt.conf.d/99ignore \ - && echo 'Acquire::AllowInsecureRepositories "true";' >> /etc/apt/apt.conf.d/99ignore +#RUN sed -i "s|http://deb.debian.org/debian|${LINUX_REGISTRY}|g" /etc/apt/sources.list.d/debian.sources \ +# && sed -i "s|http://security.debian.org/debian-security|${SECURITY_REGISTRY}|g" /etc/apt/sources.list.d/debian.sources \ +# && echo 'Acquire::Check-Valid-Until "false";' > /etc/apt/apt.conf.d/99ignore \ +# && echo 'Acquire::AllowInsecureRepositories "true";' >> /etc/apt/apt.conf.d/99ignore # نصب nodejs و npm در کنار سایر وابستگی‌ها RUN apt-get update && apt-get install -y --allow-downgrades --no-install-recommends \ @@ -33,4 +33,4 @@ RUN echo "pcre.jit=0" > /usr/local/etc/php/conf.d/disable-pcre-jit.ini COPY ./docker/php/entrypoint.sh /usr/local/bin/entrypoint.sh RUN chmod +x /usr/local/bin/entrypoint.sh -ENTRYPOINT ["/usr/local/bin/entrypoint.sh"] \ No newline at end of file +ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]