بازگشت وجه تا ۷ روز پس از خرید، در صورت عدم رضایت از سرویسضمانت بازگشت وجه تا ۷ روز

جلوگیری از ابیوز هتزنر با استفاده اسکریپت فایروال

مشخصات مقاله

  • تاریخ انتشار

  • آخرین به روزرسانی

  • زمان مطالعه۶ دقیقه

  • دیدگاه هااولین نفر باشید

فهرست مطالب
  1. ۱مقاله‌ای درباره ابیوز هتزنر و نحوه ساخت فایروال با استفاده از اسکریپت
  2. ۲ابیوز چیست؟
  3. ۳روش‌های جلوگیری از ابیوز
  4. ۴ساخت فایروال با استفاده از اسکریپت
    1. مرحله 1: دانلود اسکریپت
    2. مرحله 2: تنظیم مجوزهای اجرایی
    3. توضیحات کد اسکریپت
  5. ۵نتیجه‌گیری

مقاله‌ای درباره ابیوز هتزنر و نحوه ساخت فایروال با استفاده از اسکریپت

ابیوز (Abuse) در سرورهای هتزنر یکی از مسائلی است که کاربران با آن مواجه می‌شوند. این مسائل ممکن است به دلایل مختلفی از جمله حملات DDoS، ارسال هرزنامه (Spam) و یا استفاده غیرمجاز از منابع سرور رخ دهد. هتزنر به عنوان یک ارائه‌دهنده‌ی معروف سرورهای مجازی و اختصاصی، قوانین سخت‌گیرانه‌ای در خصوص جلوگیری از ابیوز دارد. در این مقاله، به بررسی ابیوز در هتزنر و نحوه ساخت فایروال با استفاده از یک اسکریپت برای جلوگیری از ابیوز خواهیم پرداخت.

ابیوز هتزنر
ابیوز هتزنر

ابیوز چیست؟

ابیوز به معنای استفاده نادرست و غیرمجاز از منابع سرور است که ممکن است باعث مشکلاتی مانند کاهش عملکرد، افزایش ترافیک غیرمجاز و یا حتی مسدود شدن سرویس شود. برخی از مشکلات رایج ابیوز شامل موارد زیر است:

  • حملات DDoS: حملاتی که با ارسال ترافیک زیاد به سرور باعث اختلال در عملکرد آن می‌شوند.
  • ارسال هرزنامه (Spam): ارسال ایمیل‌های ناخواسته به تعداد زیاد که ممکن است باعث مسدود شدن آی‌پی سرور شود.
  • استفاده غیرمجاز از منابع: استفاده بیش از حد از منابع سرور مانند CPU و RAM.

روش‌های جلوگیری از ابیوز

برای جلوگیری از ابیوز در سرورهای هتزنر، می‌توان از روش‌های زیر استفاده کرد:

  1. نصب و پیکربندی فایروال: یکی از بهترین راه‌ها برای جلوگیری از ترافیک غیرمجاز، نصب و پیکربندی فایروال است.
  2. نظارت بر ترافیک شبکه: مانیتورینگ ترافیک شبکه و شناسایی الگوهای مشکوک.
  3. استفاده از ابزارهای امنیتی: نصب و پیکربندی ابزارهای امنیتی مانند آنتی‌ویروس و IDS/IPS.
  4. محدود کردن دسترسی‌ها: محدود کردن دسترسی به سرور تنها به آی‌پی‌های مجاز.

ساخت فایروال با استفاده از اسکریپت

برای ساخت یک فایروال موثر و جلوگیری از ابیوز، می‌توان از اسکریپتی که توسط Arash-Ariaye ارائه شده است، استفاده کرد. در این بخش، نحوه استفاده از این اسکریپت را توضیح خواهیم داد.

مرحله 1: دانلود اسکریپت

ابتدا اسکریپت فایروال را دانلود کنید:

bash
wget https://github.com/Arash-Ariaye/hetzner-abuse/raw/main/firewall-xui.bash -O firewall-xui.bash

مرحله 2: تنظیم مجوزهای اجرایی

پس از دانلود، مجوزهای اجرایی اسکریپت را تنظیم کنید:

bash
chmod +x firewall-xui.bash
اسکریپت فایروال
اسکریپت فایروال

توضیحات کد اسکریپت

حالا به توضیح قدم به قدم کد اسکریپت می‌پردازیم:

bash
#!/bin/bash

Red="\033[1;31m"
Green="\033[1;32m"
Yellow="\033[1;33m"
Blue="\033[1;34m"
Plain="\033[0m"

در این بخش از اسکریپت، رنگ‌های مختلفی برای نمایش پیام‌ها در ترمینال تعریف می‌شود.

bash
# Function to check firewall status and open ports
check_ports() {
    while true; do
        # Check ports opened by x-ui
        xui_ports=$(sudo lsof -i -P -n | grep x-ui | awk '{print $9}' | cut -d: -f2 | cut -d'>' -f1 | grep -Eo '^[0-9]+$')
        for port in $xui_ports; do
            if ! sudo ufw status | grep -q "$port"; then
                sudo ufw allow in "$port" &> /dev/null
                sudo ufw allow out "$port" &> /dev/null
            fi
        done

        # Check ports opened by xray-linu
        xray_ports=$(sudo lsof -i -P -n | grep xray-linu | awk '{print $9}' | cut -d: -f2 | cut -d'>' -f1 | grep -Eo '^[0-9]+$')
        for port in $xray_ports; do
            if ! sudo ufw status | grep -q "$port"; then
                sudo ufw allow in "$port" &> /dev/null
                sudo ufw allow out "$port" &> /dev/null
            fi
        done
        
        sleep 30
    done
}

این تابع به صورت مداوم پورت‌های باز شده توسط x-ui و xray-linu را بررسی می‌کند و اگر این پورت‌ها در فایروال باز نشده باشند، آنها را باز می‌کند.

bash
# Function to check and install firewall
check_firewall() {
    clear
    echo -e "${Blue}Checking firewall prerequisites...${Plain}"
    
    # Check if firewall is installed
    if ! command -v ufw &> /dev/null; then
        echo -e "${Red}Firewall (ufw) is not installed. Installing...${Plain}"
        if [[ -f /etc/os-release ]]; then
            source /etc/os-release
            release=$ID
        elif [[ -f /usr/lib/os-release ]]; then
            source /usr/lib/os-release
            release=$ID
        else
            echo "Failed to check the system OS, please contact the author!" >&2
            exit 1
        fi
        echo "The OS release is: $release"
        case "${release}" in
        centos | fedora | almalinux)
            yum upgrade && yum install -y -q ufw
            ;;
        arch | manjaro)
            pacman -Sy --noconfirm ufw
            ;;
        *)
            apt update && apt install -y -q ufw
            ;;
        esac
    else
        echo -e "${Green}Firewall (ufw) is installed.${Plain}"
    fi
    
    # Check if firewall is active
    if ! sudo ufw status | grep -q "Status: active"; then
        echo -e "${Red}Firewall is not active. Enabling...${Plain}"
        sudo ufw enable
        sudo ufw allow ssh
    else
        echo -e "${Green}Firewall is active.${Plain}"
    fi
    
    read -r -p "Press Enter to return to the menu..."
}

این تابع بررسی می‌کند که آیا فایروال (ufw) نصب و فعال است یا خیر. در صورتی که فایروال نصب نباشد، اقدام به نصب آن می‌کند و در صورت غیرفعال بودن، آن را فعال می‌کند.

bash
# Function to start port checking in the background
start_port_checking() {
    clear
    echo -e "${Blue}Ports currently in use:${Plain}"
    
    # Display ports opened by x-ui
    echo -e "${Blue}Ports opened by x-ui:${Plain}"
    sudo lsof -i -P -n | grep x-ui | awk '{print $9}' | cut -d: -f2 | cut -d'>' -f1 | grep -Eo '^[0-9]+$'
    
    # Display ports opened by xray-linu
    echo -e "${Blue}Ports opened by xray-linu:${Plain}"
    sudo lsof -i -P -n | grep xray-linu | awk '{print $9}' | cut -d: -f2 | cut -d'>' -f1 | grep -Eo '^[0-9]+$'
    
    sleep 5
    
    check_ports &
    echo $! > /tmp/port_checking.pid
    echo -ne "${Plain}3X-UI Port Checking - ${Green}Active${Plain}"
    echo -e "${Green}Port checking started in the background.${Plain}"
    sleep 2
}

این تابع پورت‌هایی که توسط x-ui و xray-linu باز شده‌اند را نمایش می‌دهد و سپس تابع check_ports را در پس‌زمینه اجرا می‌کند تا به صورت مداوم پورت‌ها را بررسی کند.

bash
# Function to stop port checking
stop_port_checking() {
    if [ -f /tmp/port_checking.pid ]; then
        kill "$(cat /tmp/port_checking.pid)"
        rm /tmp/port_checking.pid
        echo -ne "${Plain}3X-UI Port Checking - ${Red}Disabled${Plain}"
    fi
}

این تابع فرآیند بررسی پورت‌ها را متوقف می‌کند.

bash
# Main menu
while true; do
    clear
    echo -e "=============================="
    echo -e "      ${Blue}3X-UI Port Checking${Plain}"
    echo -e "=============================="
    echo -e "      ${Yellow}Dev by Arash${Plain}"
    echo -e "      ${Yellow}Telegram: Arash_Ariaye${Plain}"
    echo -e "=============================="
    if [ -f /tmp/port_checking.pid ]; then
        echo -e "      ${Green}Active${Plain}"
    else
        echo -e "      ${Red}Disabled${Plain}"
    fi
    echo -e "=============================="
    echo -e "${Green}0. Prerequisites${Plain}"
    echo -e "${Green}1. Enable Port Checking${Plain}"
    echo -e "${Red}2. Disable Port Checking${Plain}"
    echo -e "${Yellow}3. Exit${Plain}"
    echo -e "=============================="
    read -p "Enter your choice: " choice
    
    case $choice in
        0)
            check_firewall
            ;;
        1)
            start_port_checking
            ;;
        2)
            stop_port_checking
            ;;
        3)
            clear
            if [ -f /tmp/port_checking.pid ]; then
                echo -e "${Green}Port checking is currently active.${Plain}"
            else
                echo -e "${Red}Port checking is currently inactive.${Plain}"
            fi
            exit 0
            ;;
        *)
            echo -e "${Red}Invalid choice. Please try again.${Plain}"
            sleep 2
            ;;
    esac
done

نتیجه‌گیری

با اجرای این مراحل و استفاده از اسکریپت فایروال، می‌توانید از بروز ابیوز و حملات مختلف به سرورهای هتزنر جلوگیری کنید. اسکریپت فوق با بستن تمام ترافیک‌های ورودی و خروجی غیرضروری و مجاز کردن تنها ترافیک‌های ضروری، به شما کمک می‌کند تا امنیت سرور خود را افزایش دهید. امیدواریم این راهنما برای شما مفید باشد.

اگر سوالی دارید، می‌توانید در بخش نظرات با ما در میان بگذارید. موفق باشید!

این مقاله چطور بود؟

گزینه ای را که بیشتر با نظرتان جور است انتخاب کنید.

دیدگاه ها

هنوز دیدگاهی ثبت نشده است، اولین نفر باشید.

دیدگاه خود را بنویسید

از وبلاگ ایران وی ام

مقالات مرتبط

چند مقاله نزدیک به همین موضوع که شاید برایتان مفید باشد.

همه مقالات آموزش برنامه نویسی
آموزش برنامه نویسی

آموزش ساخت DNS گیمینگ برای کاهش پینگ در 2026

آموزش ساخت DNS گیمینگ با سرور مجازی ایران برای کاهش پینگ در بازی‌های آنلاین مانند پابجی و فورتنایت در 2026! با سرورهای افرانت و رسپینا، به‌راحتی DNS گیمینگ خود را با Unbound راه‌اندازی کنید. این راهنما شامل مراحل نصب، پیکربندی و بهینه‌سازی برای گیمرها و. سرورهای ایران وی ام با دیتاسنتر تهران، پورت 10 گیگابیتی و هزینه اقتصادی (رسپینا: 240,000 تومان برای 1000 گیگابایت) تجربه بازی بدون لگ را تضمین می‌کنند. با پشتیبانی 24/7 و آپلود رایگان افرانت، پینگ خود را کاهش دهید و از بازی لذت ببرید. برای خرید سرور و مشاوره، به ایران وی ام مراجعه کنید.

ارش اسدی۵ دقیقه مطالعه

آموزش برنامه نویسی

آموزش جامع گیت برای برنامه‌ نویسان در سرور مجازی ایران

در این مقاله به آموزش جامع گیت (Git) برای برنامه‌نویسان در سرور مجازی ایران پرداخته شده است. گیت به عنوان یکی از ابزارهای اصلی مدیریت نسخه و همکاری در توسعه نرم‌افزار، اهمیت بسیاری دارد. این راهنما شامل مراحل نصب و پیکربندی گیت، اصول اساسی کار با گیت، و نکات پیشرفته برای مدیریت پروژه‌های برنامه‌نویسی در محیط سرور مجازی ایران می‌باشد. با پیروی از این آموزش، برنامه‌نویسان می‌توانند بهره‌وری خود را افزایش داده و پروژه‌های خود را به بهترین شکل مدیریت کنند.

ارش اسدی۴ دقیقه مطالعه