برنامه نویسی

اعلام ادغام بین Apache APISIX و open-appsec WAF

Summarize this content to 400 words in Persian Lang

مقدمه

open-appsec WAF هیجان زده است که یک ادغام جدید با دروازه API منبع باز Apache APISIX را اعلام کند.

این همکاری جدید بین تیم‌های open-appsec و API7 اکنون به کاربران اجازه می‌دهد تا از APIهای وب و سایر سرویس‌های وب خود که توسط Apache APISIX در معرض حملات ناشناخته و شناخته شده قرار گرفته‌اند، به‌طور مؤثر بر اساس فناوری پیشرفته مبتنی بر یادگیری ماشینی open-appsec محافظت کنند و همچنین چندین مورد را اضافه می‌کند. قابلیت های امنیتی پیشرفته تر

درباره Apache APISIX

Apache APISIX یک راه‌حل دروازه API منبع باز مدرن، انعطاف‌پذیر و با کارایی بالا است که برای رسیدگی به موارد استفاده مختلف در میکروسرویس‌ها و معماری‌های بومی ابری طراحی شده است. هدف اصلی آن تسهیل مدیریت API با خدمت به عنوان دروازه ای برای مدیریت، ایمن سازی و بهینه سازی ترافیک API بین مشتریان و خدمات باطن است.

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

درباره open-appsec WAF

open-appsec WAF پیشگیری خودکار و پیشگیرانه از تهدید را فراهم می کند و با انواع مختلف پراکسی های معکوس مانند NGINX و همچنین دروازه های API مانند APISIX ادغام می شود. این مبتنی بر یادگیری ماشینی است، به این معنی که به هیچ وجه به امضا (یا به روز رسانی) نیاز ندارد. این به آن امکان می‌دهد تا حتی برای حملات روز صفر واقعی، پیشگیری خودکار از تهدیدات را ارائه دهد و در عین حال تلاش‌های اداری و میزان موارد مثبت کاذب را به میزان قابل توجهی کاهش دهد.

علاوه بر این، open-appsec بسیاری از لایه‌های امنیتی اضافی مانند AntiBot، محدود کردن نرخ، اجرای طرحواره، پشتیبانی از امضای خروپف، قوانین سفارشی/استثناها و موارد دیگر را فراهم می‌کند. open-appsec را می توان به صورت مرکزی با استفاده از یک رابط وب ارائه شده به عنوان یک سرویس SaaS و همچنین به صورت محلی با استفاده از یک فایل پیکربندی اعلامی مدیریت کرد.

ادغام Apache APISIX با open-appsec

با این ادغام جدید، کاربران APISIX اکنون به WAF open-appsec به عنوان یک راه حل WAF یکپارچه و پیشرفته مبتنی بر یادگیری ماشین برای محافظت از API های وب و برنامه های کاربردی وب خود دسترسی خواهند داشت.

آن‌ها اکنون می‌توانند از نسخه رایگان و منبع باز Open-appsec برای محافظت مؤثر و مبتنی بر هوش مصنوعی در برابر حملات شناخته شده اما ناشناخته برای هر چیزی که توسط دروازه API APISIX خود در معرض دید قرار می‌گیرد، استفاده کنند و در عین حال میزان نادرست را کاهش دهند. موارد مثبت به طور قابل توجهی مدیر را از وظایف خسته کننده ای مانند ایجاد استثناء، به روز رسانی خط مشی های سنتی مبتنی بر امضا و موارد دیگر رها می کند.

این ادغام برای همه پلتفرم های رایج در دسترس خواهد بود: لینوکس، داکر و کوبرنتیس.

لینوکس

برای استقرارهای “جاسازی شده” لینوکس در APISIX، یک نصب کننده open-appsec یک ماژول “open-appsec attachment” را به نصب APISIX موجود اضافه می کند و همچنین “open-appsec agent” را در کنار آن نصب می کند، که ترافیک را از پیوست دریافت می کند، آن را بررسی می کند و برمی گرداند. عمل به پایان رسید برای مسدود کردن یا اجازه دادن به ترافیک به APISIX به ترتیب پیوست open-appsec یکپارچه شده با آن.

در اینجا یک شماتیک معماری ساده برای استقرار لینوکس آورده شده است.

داکر

برای استقرارهای مبتنی بر Docker از APISIX با open-appsec WAF، یک تصویر کانتینر APISIX ویژه در دسترس است، که پیوست open-appsec قبلاً به آن اضافه شده است و همچنین یک فایل docker-compose پیشرفته، که هر دو، کانتینر دروازه APISIX و همچنین یک کانتینر باز را به کار می گیرد. appsec Agent که بازرسی امنیتی را انجام می دهد و تصمیمات نهایی را به دروازه APISIX برمی گرداند تا ترافیک را مجاز یا مسدود کند.

در اینجا یک شماتیک معماری ساده برای استقرار در Docker آورده شده است.

کوبرنتیس

برای استقرارهای مبتنی بر Kubernetes از APISIX که با open-appsec ادغام شده است، یک نمودار Helm در دسترس است که بر اساس نمودار رسمی APISIX Helm است و بیشتر بهبود یافته است تا پیوست open-appsec را در ظرف دروازه APISIX نیز شامل شود و عامل open-appsec را نیز مستقر می کند. علاوه بر این، شما این گزینه را خواهید داشت که open-appsec را به روشی “سبک DevOps” با استفاده از منابع سفارشی در K8s به عنوان جایگزینی برای استفاده از رابط کاربری وب مدیریت مرکزی open-appsec پیکربندی کنید.

در اینجا یک شماتیک معماری ساده برای استقرار در Kubernetes آورده شده است.

افزودن open-appsec WAF به APISIX در لینوکس

برای نصب open-appsec در سیستم لینوکس با نصب APISIX، لطفاً مراحل زیر را دنبال کنید:

1. پیش نیازها

پلتفرم لینوکس باید اوبونتو 22.04 باشد.
مطمئن شوید که APISIX نصب شده است.

می‌توانید لیست نسخه‌های پشتیبانی‌شده APISIX را در اینجا پیدا کنید: https://downloads.openappsec.io/packages/supported-apisix.txt.

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

پایگاه داده etcd را نصب کنید

ETCD_VERSION=’3.5.4′
wget https://github.com/etcd-io/etcd/releases/download/v${ETCD_VERSION}/etcd-v${ETCD_VERSION}-linux-amd64.tar.gz
tar -xvf etcd-v${ETCD_VERSION}-linux-amd64.tar.gz && cd etcd-v${ETCD_VERSION}-linux-amd64
cp -a etcd etcdctl /usr/bin/
nohup etcd >/tmp/etcd.log 2>&1 &
etcd

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

افزودن و به روز رسانی مخازن بسته

apt install gnupg
echo “deb http://openresty.org/package/debian bullseye openresty” | tee /etc/apt/sources.list.d/openresty.list
wget -O – https://openresty.org/package/pubkey.gpg | apt-key add –
wget -O – http://repos.apiseven.com/pubkey.gpg | apt-key add –
echo “deb http://repos.apiseven.com/packages/debian bullseye main” | tee /etc/apt/sources.list.d/apisix.list
apt update

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

APISIX را نصب، راه اندازی و راه اندازی کنید

apt install apisix=3.9.1-0
apisix init
apisix start

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

2. Open-appsec Installer را دانلود کنید

wget https://downloads.openappsec.io/open-appsec-install && chmod +x open-appsec-install

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

3. open-appsec را نصب کنید

برای ادغام با نصب APISIX موجود، open-appsec را نصب کنید.

توجه داشته باشید که –prevent flag open-appsec را با خط‌مشی پیش‌فرض از قبل برای جلوگیری از حالت تنظیم شده نصب می‌کند.

./open-appsec-install –auto –prevent

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

4. کلید مدیریت APISIX را دریافت و ذخیره کنید

کلید مدیریت APISIX را از APISIX دریافت کنید config.yaml فایل پیکربندی و ذخیره آن در APISIX_KEY متغیر env

export APISIX_KEY=$(awk ‘/key:/{ if ($2 ~ /^edd1/) print $2 }’ /usr/local/apisix/conf/config.yaml )

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

5. Route to Expose Services را پیکربندی کنید

یک مسیر نمونه را در دروازه APISIX پیکربندی کنید تا یک وب سرویس خارجی یا وب API را نشان دهد. در این مثال از httpbin.org به عنوان نمونه پشتیبان.

curl http://127.0.0.1:9180/apisix/admin/routes/100 -H “X-API-KEY:$APISIX_KEY” -X PUT -d ‘{
“methods”: [
“GET”
],
“uri”: “/anything”,
“upstream”: {
“type”: “roundrobin”,
“nodes”: {
“httpbin.org:80”: 1
}
}
}’

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

6. اعتبار سنجی

بیایید ببینیم این مسیر با دسترسی به آن کار می کند یا خیر.

curl -s -v -G –data-urlencode email=user@domain.abc http://localhost:9080/anything

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

7. یک حمله تزریق SQL را شبیه سازی کنید

اکنون بیایید سعی کنیم یک حمله تزریق SQL را شبیه سازی کنیم (نگاه کنید به ‘OR ‘1’=’1′ در درخواست HTTP زیر) در برابر httpbin.org سرویسی که توسط دروازه APISIX در معرض دید قرار می گیرد که اکنون توسط WAF open-appsec محافظت می شود.

curl -s -v -G –data-urlencode email=user@domain.abc’ OR ‘1’=’1 http://localhost:9080/anything

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

این حمله شبیه سازی شده اکنون با موفقیت توسط موتور WAF یادگیری ماشینی متنی open-appsec مسدود می شود.

8. فایل های گزارش را مرور کنید

فایل‌های گزارش مربوطه را بررسی کنید که «جلوگیری» را برای درخواست HTTP با حمله شبیه‌سازی‌شده‌ای که هم‌اکنون ارسال کردیم، نشان می‌دهد.

tail -f /var/log/nano_agent/cp-nano-http-transaction-handler.log*| grep -i user@domain.abc

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

به طور متناوب می توانید از open-appsec-ctl ابزار:

open-appsec-ctl –view-logs | grep -i user@domain.abc

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

9. برای مدیریت مرکزی به open-appsec متصل شوید (اختیاری)

به صورت اختیاری، می‌توانید اکنون استقرار خود را به https://my.openappsec.io برای مدیریت مرکزی open-appsec با استفاده از رابط کاربری آسان وب، نظارت بر رویدادهای امنیتی و موارد دیگر متصل کنید، به بخش مراجعه کنید. چگونه استقرار WAF open-appsec خود را به صورت مرکزی مدیریت کنیم؟ برای اطلاعات بیشتر در ادامه مطلب

تبریک می گویم! شما با موفقیت WAF open-appsec را به نصب APISIX موجود خود اضافه کردید و تأیید کردید که سرویس های وب شما که توسط دروازه APISIX در معرض دید قرار می گیرند اکنون در برابر حملات وب محافظت می شوند.

استقرار APISIX با WAF open-appsec در بسترهای کانتینری (Docker)

برای نصب APISIX یکپارچه با open-appsec در Docker، می‌توانید مراحل زیر را دنبال کنید.

برخلاف مثال بالا، در اینجا ما APISIX را در “حالت مستقل” پیاده‌سازی می‌کنیم، به این معنی که به صورت اعلامی با استفاده از یک اتصال حجم docker با یک فایل yaml که پیکربندی‌ها را نگه می‌دارد، پیکربندی شده است و بنابراین نیازی به استقرار پایگاه داده etcd ندارد.

توجه داشته باشید که APISIX از هر دو حالت سنتی و همچنین حالت مستقل در همه انواع استقرار (لینوکس، داکر، …) پشتیبانی می کند.

1. پیش نیاز

مطمئن شوید که یک پلتفرم لینوکس با ابزارهای Docker و Docker-compose نصب شده است.

2. یک پوشه برای open-appsec ایجاد کنید

در پوشه ای که می خواهید برای استقرار استفاده کنید، یک پوشه ایجاد کنید appsec-localconfig که فایل پیکربندی اعلامی appsec را نگه می دارد:

mkdir ./appsec-localconfig

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

3. فایل open-appsec را در پوشه دانلود کنید

فایل پیکربندی اعلامی اولیه برای open-appsec را در آن پوشه دانلود کنید.

wget https://raw.githubusercontent.com/openappsec/openappsec/main/config/linux/latest/prevent/local_policy.yaml -O appsec-localconfig/local_policy.yaml

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

توجه داشته باشید که این نمونه فایل پیکربندی اعلامی از قبل برای جلوگیری از حملات تنظیم شده است.

4. یک پوشه برای APISIX ایجاد کنید

یک پوشه دیگر ایجاد کنید apisix-localconfig که فایل پیکربندی اعلامی APISIX را نگه می دارد: mkdir ./apisix-localconfig.

5. فایل APISIX را در پوشه دانلود کنید

بیایید یک فایل پیکربندی ساده را نیز برای APISIX دانلود کنیم تا بتوانیم حفاظت Open-appsec را پس از استقرار تأیید کنیم.

wget https://raw.githubusercontent.com/openappsec/openappsec/main/deployment/apisix/apisix-example-config/apisix-standalone.yaml -O ./apisix-localconfig/apisix-standalone.yaml

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

6. ایجاد یک docer-compose.yaml فایل

ایجاد یک docker-compose.yaml فایل با محتوای زیر که به صورت زیر قابل دانلود است:

wget https://raw.githubusercontent.com/openappsec/openappsec/main/deployment/apisix/docker-compose.yaml

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

version: “3”

services:
apisix:
container_name: apisix
image: “ghcr.io/openappsec/apisix-attachment:latest”
ipc: service:appsec-agent
restart: always
volumes:
– ./apisix-localconfig/apisix-standalone.yaml:/usr/local/apisix/conf/apisix.yaml:ro
environment:
– APISIX_STAND_ALONE=true
ports:
– “9180:9180/tcp”
– “9080:9080/tcp”
– “9091:9091/tcp”
– “9443:9443/tcp”

appsec-agent:
container_name: appsec-agent
image: ‘ghcr.io/openappsec/agent:latest’
ipc: shareable
restart: unless-stopped
environment:
# adjust with your own email below
– user_email=user@email.com
– registered_server=”APISIX Server”
volumes:
– ./appsec-config:/etc/cp/conf
– ./appsec-data:/etc/cp/data
– ./appsec-logs:/var/log/nano_agent
– ./appsec-localconfig:/ext/appsec
command: /cp-nano-agent

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

7. آدرس ایمیل خود را به روز کنید (اختیاری)

را ویرایش کنید docker-compose.yaml فایل و آدرس ایمیل خود را جایگزین “user@email.com” کنید، بنابراین ما می توانیم در صورت بروز هر گونه مشکلی در مورد استقرار خاص در آینده کمک کنیم و اطلاعاتی را به طور فعال در مورد open-appsec ارائه دهیم.

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

8. All Containers را راه اندازی کنید

اجرای docker-compose up برای شروع استقرار همه کانتینرهای مربوطه:

docker-compose up -d

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

9. وضعیت کانتینر را بررسی کنید

بررسی کنید که آیا apisix-attachment و appsec-agent کانتینرها آماده و کار می کنند.

docker ps

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

10. اعتبار پیکربندی مستقل را تأیید کنید

بیایید ببینیم که آیا پیکربندی مستقل با دسترسی به آن کار می کند یا خیر.

curl -s -v -G –data-urlencode email=user@domain.abc http://localhost:9080/anything

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

11. یک حمله تزریق SQL را شبیه سازی کنید

اکنون بیایید سعی کنیم یک حمله تزریق SQL را علیه سرویس httpin.org شبیه سازی کنیم که توسط کانتینر دروازه APISIX در معرض دید قرار گرفته است که اکنون توسط open-appsec محافظت می شود.

curl -s -v -G –data-urlencode email=user@domain.abc’ OR ‘1’=’1 http://localhost:9080/anything

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

12. برای مدیریت مرکزی به open-appsec متصل شوید (اختیاری)

به صورت اختیاری می توانید اکنون استقرار خود را به آن متصل کنید https://my.openappsec.io برای مدیریت مرکزی open-appsec با رابط کاربری آسان وب، نظارت بر رویدادهای امنیتی و موارد دیگر، به بخش مراجعه کنید چگونه استقرار WAF open-appsec خود را به صورت مرکزی مدیریت کنیم؟ برای اطلاعات بیشتر در ادامه مطلب

استقرار APISIX با WAF open-appsec در Kubernetes با استفاده از Helm

1. پیش نیاز

مطمئن شوید که پلتفرم Kubernetes و ابزار Helm در دسترس هستند.

2. open-appsec را دانلود کنید

Open-appsec را برای نمودار APISIX Helm از اینجا دانلود کنید.

wget https://downloads.openappsec.io/packages/helm-charts/apisix/open-appsec-k8s-apisix-latest.tgz

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

3. Helm Chart را نصب کنید

این مثال helm install دستور در حال نصب open-appsec برای نمودار APISIX Helm است که بر اساس نسخه توسعه یافته نمودار رسمی APISIX Helm است.

این درگاه APISIX را به عنوان کنترل کننده ورودی APISIX و همچنین WAF open-appsec یکپارچه شده با آن را مستقر می کند. همچنین یک گزینه پیکربندی اضافی به طور خاص برای WAF open-appsec ارائه می دهد (نگاه کنید به values.yaml داخل نمودار Helm و اسناد open-appsec).

پس از استقرار، می‌توانید منابع ورودی K8 خود را با پیکربندی برای استفاده از کلاس ورودی زیر به دروازه APISIX اختصاص دهید: appsec-apisix.

helm install open-appsec-k8s-apisix-latest.tgz \
–name-template=appsec-apisix \
–set rbac.create=true \
–set appsec.mode=standalone \
–set service.type=LoadBalancer \
–set appsec.persistence.enabled=false \
–set ingress-controller.enabled=true \
–set ingress-controller.config.ingressClass=appsec-apisix \
–set appsec.userEmail=”” \
–set appsec.agentToken= \
–create-namespace \
-n appsec-apisix

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

در دستور نصب Helm در بالا آدرس ایمیل خود را جایگزین کنید تا بتوانیم اخبار و به روز رسانی های مربوط به open-appsec را برای شما ارسال کنیم و در صورت نیاز بهتر از شما در استقرار شما پشتیبانی کنیم! شما می توانید در هر زمان یا به طور متناوب اشتراک خود را لغو کنید، فقط اگر ترجیح می دهید ایمیل خود را ارائه نکنید، آن خط را حذف کنید.

4. اعتبار سنجی

تأیید کنید که غلاف ها به درستی مستقر شده اند و در حالت آماده هستند:

kubectl get pods -n appsec-apisix

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

5. یک منبع سیاست باز appsec ایجاد کنید

دستور زیر را برای ایجاد “open-appsec-best-practice-policy” در K8s اجرا کنید.

توجه داشته باشید که این سیاست نمونه از قبل برای جلوگیری از حملات از پیش پیکربندی شده است.

kubectl apply -f https://raw.githubusercontent.com/openappsec/openappsec/main/config/k8s/v1beta1/open-appsec-k8s-prevent-config-v1beta1.yaml

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

شما همچنین می توانید خط مشی سفارشی خود را ایجاد کنید، در اینجا تمام جزئیات را پیدا می کنید.

6. نام منبع هدف را واکشی کنید

نام منبع ورودی مربوطه را که می خواهید محافظت کنید پیدا کنید:

kubectl get ing -A

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

7. منبع Ingress را ویرایش کنید

kubectl edit ing/ -n

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

8. نام ingressClass را تغییر دهید

نام ingressClass را برای استفاده از open-appsec تغییر دهید:

spec: ingressClassName: appsec-apisix

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

9. Annotation را به منبع Ingress اضافه کنید

این حاشیه نویسی را به منبع ورودی اضافه کنید تا با تعیین منبع سفارشی سیاست open-appsec مورد نظر، open-appsec را برای این ورودی فعال کنید.

openappsec.io/policy: open-appsec-best-practice-policy

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

10. اعتبار پیکربندی مستقل را تأیید کنید

بیایید ببینیم که آیا پیکربندی مستقل با دسترسی به آن کار می کند یا خیر:

curl -s -v -G –data-urlencode email=user@domain.abc http://[YOUR-INGRESS-HOSTNAME]

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

11. یک حمله تزریق SQL را شبیه سازی کنید

اکنون بیایید سعی کنیم یک حمله تزریق SQL را در برابر آن شبیه سازی کنیم httpin.org سرویسی که توسط کانتینر دروازه APISIX در معرض دید قرار می گیرد که اکنون توسط open-appsec محافظت می شود.

curl -s -v -G –data-urlencode email=user@domain.abc’ OR ‘1’=’1 http://[YOUR-INGRESS-HOSTNAME]

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

جایگزین کنید [YOUR-INGRESS-HOSTNAME] در دستور بالا با نام میزبانی که در منبع ورودی تنظیم کرده اید و در مراحل قبلی با open-appsec WAF محافظت کرده اید، همچنین در صورت نیاز “http” را به “https” تغییر دهید.

تبریک می گویم! شما با موفقیت APISIX ادغام شده با open-appsec WAF را اجرا کردید و تأیید کردید که سرویس های وب شما که توسط دروازه APISIX در معرض دید قرار می گیرند اکنون در برابر حملات محافظت می شوند.

چگونه استقرار WAF open-appsec خود را به صورت مرکزی مدیریت کنیم؟

اگر دوست دارید، می‌توانید استقرار WAF open-appsec خود (ادغام شده با APISIX) را به صورت مرکزی با استفاده از Open-appsec Web UI (سرویس SaaS) موجود در https://my.openappsec.io، با اتصال عامل open-appsec به مدیریت کنید. یک نمایه استقرار در رابط کاربری وب مرکزی.

همچنین می‌توانید به مدیریت استقرار خود به صورت محلی ادامه دهید، اما همچنان به نمایه WebUI مرکزی در «حالت اعلامی» متصل شوید تا بتوانید پیکربندی محلی (فقط خواندنی) را در رابط کاربری وب مشاهده کنید.

در کنار پیکربندی open-appsec، رابط کاربری وب به شما این امکان را می دهد که اطلاعات بسیار بیشتری مانند وضعیت عامل های open-appsec مستقر شده، گزارش های امنیتی، داشبورد و موارد دیگر را مشاهده کنید.

برای دستورالعمل‌های مربوط به نحوه اتصال استقرار خود به رابط کاربری وب مرکزی، اسناد open-appsec موجود در https://docs.openappsec.io را ببینید.

در زیر تعدادی اسکرین شات از رابط کاربری وب را مشاهده می کنید.

خلاصه

در این وبلاگ توضیح دادیم که چگونه open-appsec می‌تواند با Apache APISIX در همه موارد زیر یکپارچه شود: استقرارهای معمول مبتنی بر لینوکس، استقرارهای کانتینری (Docker) و همچنین محیط‌های Kubernetes.

به دنبال مراحل استقرار APISIX با WAF open-appsec، ما حملات تزریق SQL را شبیه سازی کردیم، که به طور موثر توسط فناوری WAF مبتنی بر یادگیری ماشینی open-appsec جلوگیری شد.

علاوه بر این، توضیح داده شد که اتصال به WebUI مرکزی open-appsec برای مدیریت، نظارت، تجزیه و تحلیل گزارش و گزارش چه مزایایی دارد.

امیدواریم این ادغام‌های جدید برای افزایش امنیت دروازه API APISIX و APIهای وب و برنامه‌های کاربردی وب در معرض آن با WAF مبتنی بر یادگیری ماشینی open-appsec بسیار مفید باشد.

اگر بازخورد یا سؤالی دارید یا ممکن است با چالش فنی روبرو شوید که می خواهید ما در مورد آن کمک کنیم، از شما خوش آمد می گوییم که با ما تماس بگیرید. می‌توانید از طریق چت در https://www.openappsec.io یا از طریق ایمیل به: info@openappsec.io با تیم open-appsec تماس بگیرید.

منابع اضافی

WAF open-appsec

وب سایت: https://www.openappsec.io

GitHub: https://github.com/openappsec

اسناد: https://docs.openappsec.io

زمین های بازی: https://www.openappsec.io/playground

وبلاگ ها: https://www.openappsec.io/blogs

آپاچی APISIX

وب سایت: https://apisix.apache.org

GitHub: https://github.com/apache/apisix

اسناد: https://apisix.apache.org/docs/

وبلاگ ها: https://apisix.apache.org/blog/

فهرست مطالب

مقدمه

open-appsec WAF هیجان زده است که یک ادغام جدید با دروازه API منبع باز Apache APISIX را اعلام کند.

این همکاری جدید بین تیم‌های open-appsec و API7 اکنون به کاربران اجازه می‌دهد تا از APIهای وب و سایر سرویس‌های وب خود که توسط Apache APISIX در معرض حملات ناشناخته و شناخته شده قرار گرفته‌اند، به‌طور مؤثر بر اساس فناوری پیشرفته مبتنی بر یادگیری ماشینی open-appsec محافظت کنند و همچنین چندین مورد را اضافه می‌کند. قابلیت های امنیتی پیشرفته تر

درباره Apache APISIX

Apache APISIX یک راه‌حل دروازه API منبع باز مدرن، انعطاف‌پذیر و با کارایی بالا است که برای رسیدگی به موارد استفاده مختلف در میکروسرویس‌ها و معماری‌های بومی ابری طراحی شده است. هدف اصلی آن تسهیل مدیریت API با خدمت به عنوان دروازه ای برای مدیریت، ایمن سازی و بهینه سازی ترافیک API بین مشتریان و خدمات باطن است.

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

درباره open-appsec WAF

open-appsec WAF پیشگیری خودکار و پیشگیرانه از تهدید را فراهم می کند و با انواع مختلف پراکسی های معکوس مانند NGINX و همچنین دروازه های API مانند APISIX ادغام می شود. این مبتنی بر یادگیری ماشینی است، به این معنی که به هیچ وجه به امضا (یا به روز رسانی) نیاز ندارد. این به آن امکان می‌دهد تا حتی برای حملات روز صفر واقعی، پیشگیری خودکار از تهدیدات را ارائه دهد و در عین حال تلاش‌های اداری و میزان موارد مثبت کاذب را به میزان قابل توجهی کاهش دهد.

علاوه بر این، open-appsec بسیاری از لایه‌های امنیتی اضافی مانند AntiBot، محدود کردن نرخ، اجرای طرحواره، پشتیبانی از امضای خروپف، قوانین سفارشی/استثناها و موارد دیگر را فراهم می‌کند. open-appsec را می توان به صورت مرکزی با استفاده از یک رابط وب ارائه شده به عنوان یک سرویس SaaS و همچنین به صورت محلی با استفاده از یک فایل پیکربندی اعلامی مدیریت کرد.

ادغام Apache APISIX با open-appsec

با این ادغام جدید، کاربران APISIX اکنون به WAF open-appsec به عنوان یک راه حل WAF یکپارچه و پیشرفته مبتنی بر یادگیری ماشین برای محافظت از API های وب و برنامه های کاربردی وب خود دسترسی خواهند داشت.

آن‌ها اکنون می‌توانند از نسخه رایگان و منبع باز Open-appsec برای محافظت مؤثر و مبتنی بر هوش مصنوعی در برابر حملات شناخته شده اما ناشناخته برای هر چیزی که توسط دروازه API APISIX خود در معرض دید قرار می‌گیرد، استفاده کنند و در عین حال میزان نادرست را کاهش دهند. موارد مثبت به طور قابل توجهی مدیر را از وظایف خسته کننده ای مانند ایجاد استثناء، به روز رسانی خط مشی های سنتی مبتنی بر امضا و موارد دیگر رها می کند.

این ادغام برای همه پلتفرم های رایج در دسترس خواهد بود: لینوکس، داکر و کوبرنتیس.

لینوکس

برای استقرارهای “جاسازی شده” لینوکس در APISIX، یک نصب کننده open-appsec یک ماژول “open-appsec attachment” را به نصب APISIX موجود اضافه می کند و همچنین “open-appsec agent” را در کنار آن نصب می کند، که ترافیک را از پیوست دریافت می کند، آن را بررسی می کند و برمی گرداند. عمل به پایان رسید برای مسدود کردن یا اجازه دادن به ترافیک به APISIX به ترتیب پیوست open-appsec یکپارچه شده با آن.

در اینجا یک شماتیک معماری ساده برای استقرار لینوکس آورده شده است.

معماری برای استقرار Linus

داکر

برای استقرارهای مبتنی بر Docker از APISIX با open-appsec WAF، یک تصویر کانتینر APISIX ویژه در دسترس است، که پیوست open-appsec قبلاً به آن اضافه شده است و همچنین یک فایل docker-compose پیشرفته، که هر دو، کانتینر دروازه APISIX و همچنین یک کانتینر باز را به کار می گیرد. appsec Agent که بازرسی امنیتی را انجام می دهد و تصمیمات نهایی را به دروازه APISIX برمی گرداند تا ترافیک را مجاز یا مسدود کند.

در اینجا یک شماتیک معماری ساده برای استقرار در Docker آورده شده است.

معماری برای استقرار مبتنی بر داکر

کوبرنتیس

برای استقرارهای مبتنی بر Kubernetes از APISIX که با open-appsec ادغام شده است، یک نمودار Helm در دسترس است که بر اساس نمودار رسمی APISIX Helm است و بیشتر بهبود یافته است تا پیوست open-appsec را در ظرف دروازه APISIX نیز شامل شود و عامل open-appsec را نیز مستقر می کند. علاوه بر این، شما این گزینه را خواهید داشت که open-appsec را به روشی “سبک DevOps” با استفاده از منابع سفارشی در K8s به عنوان جایگزینی برای استفاده از رابط کاربری وب مدیریت مرکزی open-appsec پیکربندی کنید.

در اینجا یک شماتیک معماری ساده برای استقرار در Kubernetes آورده شده است.

معماری برای استقرار Kubernetes

افزودن open-appsec WAF به APISIX در لینوکس

برای نصب open-appsec در سیستم لینوکس با نصب APISIX، لطفاً مراحل زیر را دنبال کنید:

1. پیش نیازها

  • پلتفرم لینوکس باید اوبونتو 22.04 باشد.
  • مطمئن شوید که APISIX نصب شده است.

می‌توانید لیست نسخه‌های پشتیبانی‌شده APISIX را در اینجا پیدا کنید: https://downloads.openappsec.io/packages/supported-apisix.txt.

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

پایگاه داده etcd را نصب کنید

ETCD_VERSION='3.5.4'
wget https://github.com/etcd-io/etcd/releases/download/v${ETCD_VERSION}/etcd-v${ETCD_VERSION}-linux-amd64.tar.gz
tar -xvf etcd-v${ETCD_VERSION}-linux-amd64.tar.gz && cd etcd-v${ETCD_VERSION}-linux-amd64
cp -a etcd etcdctl /usr/bin/
nohup etcd >/tmp/etcd.log 2>&1 &
etcd
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

افزودن و به روز رسانی مخازن بسته

apt install gnupg
echo "deb http://openresty.org/package/debian bullseye openresty" | tee /etc/apt/sources.list.d/openresty.list
wget -O - https://openresty.org/package/pubkey.gpg | apt-key add -
wget -O - http://repos.apiseven.com/pubkey.gpg | apt-key add -
echo "deb http://repos.apiseven.com/packages/debian bullseye main" | tee /etc/apt/sources.list.d/apisix.list
apt update
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

APISIX را نصب، راه اندازی و راه اندازی کنید

apt install apisix=3.9.1-0
apisix init
apisix start
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

2. Open-appsec Installer را دانلود کنید

wget https://downloads.openappsec.io/open-appsec-install && chmod +x open-appsec-install
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

3. open-appsec را نصب کنید

برای ادغام با نصب APISIX موجود، open-appsec را نصب کنید.

توجه داشته باشید که --prevent flag open-appsec را با خط‌مشی پیش‌فرض از قبل برای جلوگیری از حالت تنظیم شده نصب می‌کند.

./open-appsec-install --auto --prevent
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

4. کلید مدیریت APISIX را دریافت و ذخیره کنید

کلید مدیریت APISIX را از APISIX دریافت کنید config.yaml فایل پیکربندی و ذخیره آن در APISIX_KEY متغیر env

export APISIX_KEY=$(awk '/key:/{ if ($2 ~ /^edd1/) print $2 }' /usr/local/apisix/conf/config.yaml )
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

5. Route to Expose Services را پیکربندی کنید

یک مسیر نمونه را در دروازه APISIX پیکربندی کنید تا یک وب سرویس خارجی یا وب API را نشان دهد. در این مثال از httpbin.org به عنوان نمونه پشتیبان.

curl http://127.0.0.1:9180/apisix/admin/routes/100 -H "X-API-KEY:$APISIX_KEY" -X PUT -d '{
    "methods": [
      "GET"
    ],
    "uri": "/anything",
    "upstream": {
      "type": "roundrobin",
      "nodes": {
        "httpbin.org:80": 1
      }
    }
  }'
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

6. اعتبار سنجی

بیایید ببینیم این مسیر با دسترسی به آن کار می کند یا خیر.

curl -s -v -G --data-urlencode email=user@domain.abc http://localhost:9080/anything
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

7. یک حمله تزریق SQL را شبیه سازی کنید

اکنون بیایید سعی کنیم یک حمله تزریق SQL را شبیه سازی کنیم (نگاه کنید به 'OR '1'='1' در درخواست HTTP زیر) در برابر httpbin.org سرویسی که توسط دروازه APISIX در معرض دید قرار می گیرد که اکنون توسط WAF open-appsec محافظت می شود.

curl -s -v -G --data-urlencode email=user@domain.abc' OR '1'='1 http://localhost:9080/anything
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

این حمله شبیه سازی شده اکنون با موفقیت توسط موتور WAF یادگیری ماشینی متنی open-appsec مسدود می شود.

8. فایل های گزارش را مرور کنید

فایل‌های گزارش مربوطه را بررسی کنید که «جلوگیری» را برای درخواست HTTP با حمله شبیه‌سازی‌شده‌ای که هم‌اکنون ارسال کردیم، نشان می‌دهد.

tail -f /var/log/nano_agent/cp-nano-http-transaction-handler.log*| grep -i user@domain.abc
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

به طور متناوب می توانید از open-appsec-ctl ابزار:

open-appsec-ctl --view-logs | grep -i user@domain.abc
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

9. برای مدیریت مرکزی به open-appsec متصل شوید (اختیاری)

به صورت اختیاری، می‌توانید اکنون استقرار خود را به https://my.openappsec.io برای مدیریت مرکزی open-appsec با استفاده از رابط کاربری آسان وب، نظارت بر رویدادهای امنیتی و موارد دیگر متصل کنید، به بخش مراجعه کنید. چگونه استقرار WAF open-appsec خود را به صورت مرکزی مدیریت کنیم؟ برای اطلاعات بیشتر در ادامه مطلب

تبریک می گویم! شما با موفقیت WAF open-appsec را به نصب APISIX موجود خود اضافه کردید و تأیید کردید که سرویس های وب شما که توسط دروازه APISIX در معرض دید قرار می گیرند اکنون در برابر حملات وب محافظت می شوند.

استقرار APISIX با WAF open-appsec در بسترهای کانتینری (Docker)

برای نصب APISIX یکپارچه با open-appsec در Docker، می‌توانید مراحل زیر را دنبال کنید.

برخلاف مثال بالا، در اینجا ما APISIX را در “حالت مستقل” پیاده‌سازی می‌کنیم، به این معنی که به صورت اعلامی با استفاده از یک اتصال حجم docker با یک فایل yaml که پیکربندی‌ها را نگه می‌دارد، پیکربندی شده است و بنابراین نیازی به استقرار پایگاه داده etcd ندارد.

توجه داشته باشید که APISIX از هر دو حالت سنتی و همچنین حالت مستقل در همه انواع استقرار (لینوکس، داکر، …) پشتیبانی می کند.

1. پیش نیاز

مطمئن شوید که یک پلتفرم لینوکس با ابزارهای Docker و Docker-compose نصب شده است.

2. یک پوشه برای open-appsec ایجاد کنید

در پوشه ای که می خواهید برای استقرار استفاده کنید، یک پوشه ایجاد کنید appsec-localconfig که فایل پیکربندی اعلامی appsec را نگه می دارد:

mkdir ./appsec-localconfig
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

3. فایل open-appsec را در پوشه دانلود کنید

فایل پیکربندی اعلامی اولیه برای open-appsec را در آن پوشه دانلود کنید.

wget https://raw.githubusercontent.com/openappsec/openappsec/main/config/linux/latest/prevent/local_policy.yaml -O appsec-localconfig/local_policy.yaml
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

توجه داشته باشید که این نمونه فایل پیکربندی اعلامی از قبل برای جلوگیری از حملات تنظیم شده است.

4. یک پوشه برای APISIX ایجاد کنید

یک پوشه دیگر ایجاد کنید apisix-localconfig که فایل پیکربندی اعلامی APISIX را نگه می دارد: mkdir ./apisix-localconfig.

5. فایل APISIX را در پوشه دانلود کنید

بیایید یک فایل پیکربندی ساده را نیز برای APISIX دانلود کنیم تا بتوانیم حفاظت Open-appsec را پس از استقرار تأیید کنیم.

wget https://raw.githubusercontent.com/openappsec/openappsec/main/deployment/apisix/apisix-example-config/apisix-standalone.yaml -O ./apisix-localconfig/apisix-standalone.yaml
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

6. ایجاد یک docer-compose.yaml فایل

ایجاد یک docker-compose.yaml فایل با محتوای زیر که به صورت زیر قابل دانلود است:

wget https://raw.githubusercontent.com/openappsec/openappsec/main/deployment/apisix/docker-compose.yaml
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

version: "3"

services:
  apisix:
    container_name: apisix
    image: "ghcr.io/openappsec/apisix-attachment:latest"
    ipc: service:appsec-agent
    restart: always
    volumes:
      - ./apisix-localconfig/apisix-standalone.yaml:/usr/local/apisix/conf/apisix.yaml:ro
    environment:
      - APISIX_STAND_ALONE=true
    ports:
      - "9180:9180/tcp"
      - "9080:9080/tcp"
      - "9091:9091/tcp"
      - "9443:9443/tcp"

  appsec-agent:
    container_name: appsec-agent
    image: 'ghcr.io/openappsec/agent:latest'
    ipc: shareable
    restart: unless-stopped
    environment:
      # adjust with your own email below
      - user_email=user@email.com
      - registered_server="APISIX Server"
    volumes:
      - ./appsec-config:/etc/cp/conf
      - ./appsec-data:/etc/cp/data
      - ./appsec-logs:/var/log/nano_agent
      - ./appsec-localconfig:/ext/appsec
    command: /cp-nano-agent
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

7. آدرس ایمیل خود را به روز کنید (اختیاری)

را ویرایش کنید docker-compose.yaml فایل و آدرس ایمیل خود را جایگزین “user@email.com” کنید، بنابراین ما می توانیم در صورت بروز هر گونه مشکلی در مورد استقرار خاص در آینده کمک کنیم و اطلاعاتی را به طور فعال در مورد open-appsec ارائه دهیم.

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

8. All Containers را راه اندازی کنید

اجرای docker-compose up برای شروع استقرار همه کانتینرهای مربوطه:

docker-compose up -d
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

9. وضعیت کانتینر را بررسی کنید

بررسی کنید که آیا apisix-attachment و appsec-agent کانتینرها آماده و کار می کنند.

docker ps
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

10. اعتبار پیکربندی مستقل را تأیید کنید

بیایید ببینیم که آیا پیکربندی مستقل با دسترسی به آن کار می کند یا خیر.

curl -s -v -G --data-urlencode email=user@domain.abc http://localhost:9080/anything
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

11. یک حمله تزریق SQL را شبیه سازی کنید

اکنون بیایید سعی کنیم یک حمله تزریق SQL را علیه سرویس httpin.org شبیه سازی کنیم که توسط کانتینر دروازه APISIX در معرض دید قرار گرفته است که اکنون توسط open-appsec محافظت می شود.

curl -s -v -G --data-urlencode email=user@domain.abc' OR '1'='1 http://localhost:9080/anything
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

12. برای مدیریت مرکزی به open-appsec متصل شوید (اختیاری)

به صورت اختیاری می توانید اکنون استقرار خود را به آن متصل کنید https://my.openappsec.io برای مدیریت مرکزی open-appsec با رابط کاربری آسان وب، نظارت بر رویدادهای امنیتی و موارد دیگر، به بخش مراجعه کنید چگونه استقرار WAF open-appsec خود را به صورت مرکزی مدیریت کنیم؟ برای اطلاعات بیشتر در ادامه مطلب

استقرار APISIX با WAF open-appsec در Kubernetes با استفاده از Helm

1. پیش نیاز

مطمئن شوید که پلتفرم Kubernetes و ابزار Helm در دسترس هستند.

2. open-appsec را دانلود کنید

Open-appsec را برای نمودار APISIX Helm از اینجا دانلود کنید.

wget https://downloads.openappsec.io/packages/helm-charts/apisix/open-appsec-k8s-apisix-latest.tgz
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

3. Helm Chart را نصب کنید

این مثال helm install دستور در حال نصب open-appsec برای نمودار APISIX Helm است که بر اساس نسخه توسعه یافته نمودار رسمی APISIX Helm است.

این درگاه APISIX را به عنوان کنترل کننده ورودی APISIX و همچنین WAF open-appsec یکپارچه شده با آن را مستقر می کند. همچنین یک گزینه پیکربندی اضافی به طور خاص برای WAF open-appsec ارائه می دهد (نگاه کنید به values.yaml داخل نمودار Helm و اسناد open-appsec).

پس از استقرار، می‌توانید منابع ورودی K8 خود را با پیکربندی برای استفاده از کلاس ورودی زیر به دروازه APISIX اختصاص دهید: appsec-apisix.

helm install open-appsec-k8s-apisix-latest.tgz \
--name-template=appsec-apisix \
--set rbac.create=true \
--set appsec.mode=standalone \
--set service.type=LoadBalancer \
--set appsec.persistence.enabled=false \
--set ingress-controller.enabled=true \
--set ingress-controller.config.ingressClass=appsec-apisix \
--set appsec.userEmail=\
--set appsec.agentToken= \
--create-namespace \
-n appsec-apisix
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

در دستور نصب Helm در بالا آدرس ایمیل خود را جایگزین کنید تا بتوانیم اخبار و به روز رسانی های مربوط به open-appsec را برای شما ارسال کنیم و در صورت نیاز بهتر از شما در استقرار شما پشتیبانی کنیم! شما می توانید در هر زمان یا به طور متناوب اشتراک خود را لغو کنید، فقط اگر ترجیح می دهید ایمیل خود را ارائه نکنید، آن خط را حذف کنید.

4. اعتبار سنجی

تأیید کنید که غلاف ها به درستی مستقر شده اند و در حالت آماده هستند:

kubectl get pods -n appsec-apisix
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

5. یک منبع سیاست باز appsec ایجاد کنید

دستور زیر را برای ایجاد “open-appsec-best-practice-policy” در K8s اجرا کنید.

توجه داشته باشید که این سیاست نمونه از قبل برای جلوگیری از حملات از پیش پیکربندی شده است.

kubectl apply -f https://raw.githubusercontent.com/openappsec/openappsec/main/config/k8s/v1beta1/open-appsec-k8s-prevent-config-v1beta1.yaml
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

شما همچنین می توانید خط مشی سفارشی خود را ایجاد کنید، در اینجا تمام جزئیات را پیدا می کنید.

6. نام منبع هدف را واکشی کنید

نام منبع ورودی مربوطه را که می خواهید محافظت کنید پیدا کنید:

kubectl get ing -A
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

7. منبع Ingress را ویرایش کنید

kubectl edit ing/ -n 
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

8. نام ingressClass را تغییر دهید

نام ingressClass را برای استفاده از open-appsec تغییر دهید:

spec: ingressClassName: appsec-apisix
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

9. Annotation را به منبع Ingress اضافه کنید

این حاشیه نویسی را به منبع ورودی اضافه کنید تا با تعیین منبع سفارشی سیاست open-appsec مورد نظر، open-appsec را برای این ورودی فعال کنید.

openappsec.io/policy: open-appsec-best-practice-policy
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

10. اعتبار پیکربندی مستقل را تأیید کنید

بیایید ببینیم که آیا پیکربندی مستقل با دسترسی به آن کار می کند یا خیر:

curl -s -v -G --data-urlencode email=user@domain.abc http://[YOUR-INGRESS-HOSTNAME]
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

11. یک حمله تزریق SQL را شبیه سازی کنید

اکنون بیایید سعی کنیم یک حمله تزریق SQL را در برابر آن شبیه سازی کنیم httpin.org سرویسی که توسط کانتینر دروازه APISIX در معرض دید قرار می گیرد که اکنون توسط open-appsec محافظت می شود.

curl -s -v -G --data-urlencode email=user@domain.abc' OR '1'='1 http://[YOUR-INGRESS-HOSTNAME]
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

جایگزین کنید [YOUR-INGRESS-HOSTNAME] در دستور بالا با نام میزبانی که در منبع ورودی تنظیم کرده اید و در مراحل قبلی با open-appsec WAF محافظت کرده اید، همچنین در صورت نیاز “http” را به “https” تغییر دهید.

تبریک می گویم! شما با موفقیت APISIX ادغام شده با open-appsec WAF را اجرا کردید و تأیید کردید که سرویس های وب شما که توسط دروازه APISIX در معرض دید قرار می گیرند اکنون در برابر حملات محافظت می شوند.

چگونه استقرار WAF open-appsec خود را به صورت مرکزی مدیریت کنیم؟

اگر دوست دارید، می‌توانید استقرار WAF open-appsec خود (ادغام شده با APISIX) را به صورت مرکزی با استفاده از Open-appsec Web UI (سرویس SaaS) موجود در https://my.openappsec.io، با اتصال عامل open-appsec به مدیریت کنید. یک نمایه استقرار در رابط کاربری وب مرکزی.

همچنین می‌توانید به مدیریت استقرار خود به صورت محلی ادامه دهید، اما همچنان به نمایه WebUI مرکزی در «حالت اعلامی» متصل شوید تا بتوانید پیکربندی محلی (فقط خواندنی) را در رابط کاربری وب مشاهده کنید.

در کنار پیکربندی open-appsec، رابط کاربری وب به شما این امکان را می دهد که اطلاعات بسیار بیشتری مانند وضعیت عامل های open-appsec مستقر شده، گزارش های امنیتی، داشبورد و موارد دیگر را مشاهده کنید.

برای دستورالعمل‌های مربوط به نحوه اتصال استقرار خود به رابط کاربری وب مرکزی، اسناد open-appsec موجود در https://docs.openappsec.io را ببینید.

در زیر تعدادی اسکرین شات از رابط کاربری وب را مشاهده می کنید.

Open-Websec UI 1

Open-Websec UI 2

خلاصه

در این وبلاگ توضیح دادیم که چگونه open-appsec می‌تواند با Apache APISIX در همه موارد زیر یکپارچه شود: استقرارهای معمول مبتنی بر لینوکس، استقرارهای کانتینری (Docker) و همچنین محیط‌های Kubernetes.

به دنبال مراحل استقرار APISIX با WAF open-appsec، ما حملات تزریق SQL را شبیه سازی کردیم، که به طور موثر توسط فناوری WAF مبتنی بر یادگیری ماشینی open-appsec جلوگیری شد.

علاوه بر این، توضیح داده شد که اتصال به WebUI مرکزی open-appsec برای مدیریت، نظارت، تجزیه و تحلیل گزارش و گزارش چه مزایایی دارد.

امیدواریم این ادغام‌های جدید برای افزایش امنیت دروازه API APISIX و APIهای وب و برنامه‌های کاربردی وب در معرض آن با WAF مبتنی بر یادگیری ماشینی open-appsec بسیار مفید باشد.

اگر بازخورد یا سؤالی دارید یا ممکن است با چالش فنی روبرو شوید که می خواهید ما در مورد آن کمک کنیم، از شما خوش آمد می گوییم که با ما تماس بگیرید. می‌توانید از طریق چت در https://www.openappsec.io یا از طریق ایمیل به: info@openappsec.io با تیم open-appsec تماس بگیرید.

منابع اضافی

WAF open-appsec

وب سایت: https://www.openappsec.io

GitHub: https://github.com/openappsec

اسناد: https://docs.openappsec.io

زمین های بازی: https://www.openappsec.io/playground

وبلاگ ها: https://www.openappsec.io/blogs

آپاچی APISIX

وب سایت: https://apisix.apache.org

GitHub: https://github.com/apache/apisix

اسناد: https://apisix.apache.org/docs/

وبلاگ ها: https://apisix.apache.org/blog/

نوشته های مشابه

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا