
بلووال هو إطار عمل لجدار الحماية مصمم لمحترفي الأمن السيبراني الهجومي والدفاعي.

بلووول هو إطار عمل لجدار ناري مصمم لمحترفي الأمن السيبراني الهجومي والدفاعي. يتيح هذا الإطار لمحترفي الأمن السيبراني إعداد بيئتهم بسرعة مع البقاء ضمن نطاق عملهم.
مستوحى من نص برمجي لتوليد قواعد iptables لـ Andrew Benson hostfw.
* تكوين جدار الحماية
* تكوين اسم المضيف
* تكوين الواجهة (الواجهات)
* Redhat/CentOS
* يمكن توليد تكوين ويندوز ولكن لا يمكن تنفيذه.
* bluewall -c config/example.ini
** انظر مثال التكوين
* Enumerate - تحديد المضيفين النشطين داخل شبكتك (قريباً)
* الهدف المضيف - اتصال صادر
* المضيف الموثوق - اتصال ثنائي الاتجاه
* No Strike - الأجهزة التي يجب ألا يتصل بها جهاز الكمبيوتر الخاص بك
# مبني لـ PYTHON 2.x
sudo python setup.py install
sudo bluewall -h (للمساعدة)
# إعداد البيئة الأولية باستخدام التكوين
sudo bluewall -c config/hostconfig.ini
# تصدير تكوين ويندوز اختياري
sudo bluewall -c config/hostconfig.ini -w autoconfig.ps1
# إضافة مضيف أو نطاق وارد إضافي
sudo bluewall -ih 192.168.0.3,192.168.1.0/24
# استبعاد مضيف من الاتصال به
sudo bluewall -eh 192.168.1.1
# وضع المعالج السهل جداً
sudo bluewall --wizard
usage: bluewall [-h] [-V] [-v] [-r] [-p] [-i] [-d] [-w WINDOWS_CONFIG]
[-ot TCP_PORTS_OUT] [-ou UDP_PORTS_OUT] [-it TCP_PORTS_IN]
[-iu UDP_PORTS_IN] [-oh OUTBOUND_HOSTS] [-ih INBOUND_HOSTS]
[-eh EXCLUDE_HOSTS] [-l] [-s] [-q] [-D] [-A] [-F] [-S] [-c CONFIG]
[--info]
/////////////////////////////////////////////////////
| _____ __ _____ _____ _ _ _ _____ __ __ |
| | __ | | | | | __| | | | - | | | | |
| | __-| |__| | | __| | | | | |__| |__ |
| |_____|_____|_____|_____|_____|__|__|_____|_____| |
| |
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
إطار عمل بايثون لأتمتة إعداد جدار الحماية.
الإعدادات الافتراضية:
سيتم السماح بالاتصالات الصادرة على جميع المنافذ لجميع المضيفين.
ستكون الاتصالات الواردة محدودة بحركة المرور الصادرة ذات الصلة.
سيتم تمكين DHCP.
سيتم تمكين الرد على Ping.
سيتم إسقاط الاتصالات الواردة غير المرغوب فيها.
الوسائط الاختيارية:
-h, --help عرض رسالة المساعدة هذه والخروج
-V, --version عرض الإصدار
-v, --verbose الوضع المفصل
-r, --reset إرسال TCP RST بدلاً من إسقاط الحزمة.
-p, --disallow_ping منع PING الوارد
-i, --allow_outbound_icmp
عدم تقييد أنواع ICMP
-d, --disallow_dhcp منع DHCP
-w WINDOWS_CONFIG, --windows_config WINDOWS_CONFIG
توليد تكوين ويندوز. الاستخدام: bluewall -w
config.ps1
-ot TCP_PORTS_OUT, --tcp_ports_out TCP_PORTS_OUT
قائمة مفصولة بفواصل لمنافذ TCP المسموح بها صادراً
-ou UDP_PORTS_OUT, --udp_ports_out UDP_PORTS_OUT
قائمة مفصولة بفواصل لمنافذ UDP المسموح بها صادراً
-it TCP_PORTS_IN, --tcp_ports_in TCP_PORTS_IN
قائمة مفصولة بفواصل لمنافذ TCP المسموح بها وارداً
-iu UDP_PORTS_IN, --udp_ports_in UDP_PORTS_IN
قائمة مفصولة بفواصل لمنافذ UDP المسموح بها وارداً
-oh OUTBOUND_HOSTS, --outbound_hosts OUTBOUND_HOSTS
تقييد الصادر لمضيفين محددين. -oh
192.168.3.0/24,192.168.4.0/24
-ih INBOUND_HOSTS, --inbound_hosts INBOUND_HOSTS
تقييد الصادر لمضيفين محددين. -ih
192.168.3.0/24,192.168.4.0/24
-eh EXCLUDE_HOSTS, --exclude_hosts EXCLUDE_HOSTS
استبعاد المضيفين -eh 192.168.3.0/24
-l, --log_exceptions تسجيل الاستثناءات
-s, --simulate محاكاة فقط.
-q, --quiet هادئ (عدم عرض رسائل الحالة)
-D, --deny_all الرفض المطلق للجميع
-A, --allow_all السماح المطلق للجميع
-F, --flush مسح IPTables
-S, --show_rules عرض القواعد بعد الإعداد
--wizard وضع المعالج للعناوين وجدار الحماية
-c CONFIG, --config CONFIG
تكوين جدار الحماية
--info حول بلووول
example.ini
[local_config]
iface=em1
rh_host=RHEL-Example
rh_ipaddr=192.168.1.42
netmask=255.255.255.0
gateway_addr=172.16.63.1
dns=8.8.8.8
#win_ipaddr=192.168.1.42 - عنوان IP اختياري لويندوز
#
# مضيف ويندوز اختياري (سيقوم بلووول بتوليد ملف تكوين لويندوز)
win_host=WINExample
# يجب أن تكون عناوين MAC بأحرف كبيرة صالحة: AA:93:AB:EF:00:01
# rh_mac=* سيقوم بتوليد عنوان MAC عشوائي
rh_mac=*
[firewall_config]
# النطاق المستهدف هو الشبكات التي تريد السماح بالاتصال الصادر بها.
target_range=172.16.63.0/24
target_range=192.168.2.0/24
#
# عناوين Nostrike هي الأجهزة التي يجب ألا يتصل بها جهاز الكمبيوتر الخاص بك
nostrike=192.168.2.1
#
# النطاق الموثوق هو الشبكات التي ترغب في الاتصال ثنائي الاتجاه بها
trusted_range=172.16.63.0/24
trusted_host=42.42.42.42
[ataylor@localhost bluewall]$ sudo bluewall -c configs/exampleconfig.ini
[OK] 192.168.1.101 قيمة صالحة لـ dns
[OK] 192.168.1.1 قيمة صالحة لـ gateway_addr
[OK] 24 قيمة صالحة لـ cidr_prefix
[OK] 192.168.1.254 قيمة صالحة لـ nostrike
[OK] * قيمة صالحة لـ rh_mac
[OK] WINtaylor قيمة صالحة لـ win_host
[OK] 192.168.2.0/24 قيمة صالحة لـ target_range
[OK] 192.168.3.0/24 قيمة صالحة لـ target_range
[OK] 192.168.1.30 قيمة صالحة لـ rh_ipaddr
[OK] RHEL-taylor قيمة صالحة لـ rh_host
[OK] 42.42.42.42 قيمة صالحة لـ trusted_host
[OK] 192.168.1.0/24 قيمة صالحة لـ trusted_range
[OK] 192.168.1.50 قيمة صالحة لـ win_ipaddr
==============================
[تكوين صالح] لم يتم اكتشاف أي أخطاء.
جارٍ التهيئة
كتابة تهيئة eth إلى /etc/sysconfig/network-scripts/ifcfg-ens33
[التكوين]
TYPE="Ethernet"
BOOTPROTO=none
NAME=ens33
DEVICE="ens33"
ONBOOT=no
DEFROUTE="yes"
IPV4_FAILURE_FATAL=no
DNS1=192.168.1.101
IPADDR=192.168.1.30
PREFIX=24
GATEWAY=192.168.1.1
MACADDR=00:16:3E:52:7F:8D
[+] تم إيقاف تشغيل الواجهة ens33.
[+] جارٍ إعادة تشغيل خدمة الشبكة
[+] تم تشغيل الواجهة ens33.
[+] تم مسح القواعد!
[+] السماح بـ ICMP/traceroute الصادر إلى 192.168.2.0/24...
[+] السماح بـ ICMP/traceroute الصادر إلى 192.168.3.0/24...
[+] السماح بـ ICMP/traceroute الصادر إلى 192.168.1.0/24...
[+] تقييد اتصالات TCP الصادرة إلى 192.168.2.0/24.
[+] تقييد اتصالات TCP الصادرة إلى 192.168.3.0/24.
[+] تقييد اتصالات TCP الصادرة إلى 192.168.1.0/24.
[+] تقييد اتصالات UDP الصادرة إلى 192.168.2.0/24.
[+] تقييد اتصالات UDP الصادرة إلى 192.168.3.0/24.
[+] تقييد اتصالات UDP الصادرة إلى 192.168.1.0/24.
[+] تقييد اتصالات UDP الواردة إلى 192.168.1.0/24.
[+] تقييد اتصالات TCP الواردة إلى 192.168.1.0/24.
[+] السماح بحركة المرور للمضيف المحلي.
[+] تم تطبيق 192.168.1.254 على NOSTRIKE
$ iptables -nvL
Chain INPUT (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 DROP all -- * * 192.168.1.254 0.0.0.0/0
0 0 ACCEPT all -- * * 127.0.0.0/8 127.0.0.0/8
0 0 ACCEPT tcp -- * * 0.0.0.0/0 192.168.1.0/24
0 0 ACCEPT udp -- * * 0.0.0.0/0 192.168.1.0/24
Chain FORWARD (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 DROP all -- * * 0.0.0.0/0 192.168.1.254
0 0 ACCEPT all -- * * 127.0.0.0/8 127.0.0.0/8
0 0 ACCEPT udp -- * * 0.0.0.0/0 192.168.1.0/24
0 0 ACCEPT udp -- * * 0.0.0.0/0 192.168.3.0/24
0 0 ACCEPT udp -- * * 0.0.0.0/0 192.168.2.0/24
0 0 ACCEPT tcp -- * * 0.0.0.0/0 192.168.1.0/24
0 0 ACCEPT tcp -- * * 0.0.0.0/0 192.168.3.0/24
0 0 ACCEPT tcp -- * * 0.0.0.0/0 192.168.2.0/24
0 0 ACCEPT icmp -- * * 0.0.0.0/0 192.168.1.0/24 icmptype 0
0 0 ACCEPT icmp -- * * 0.0.0.0/0 192.168.1.0/24 icmptype 8
0 0 ACCEPT icmp -- * * 0.0.0.0/0 192.168.3.0/24 icmptype 0
0 0 ACCEPT icmp -- * * 0.0.0.0/0 192.168.3.0/24 icmptype 8
0 0 ACCEPT icmp -- * * 0.0.0.0/0 192.168.2.0/24 icmptype 0
0 0 ACCEPT icmp -- * * 0.0.0.0/0 192.168.2.0/24 icmptype 8
[+] اكتمل الإعداد.