| fwbedit(1) | Firewall Builder | fwbedit(1) |
نام (NAME)
fwbedit - ابزار همهمنظوره برای ویرایش درخت اشیاء در فایروال بیلدر
خلاصه دستور (SYNOPSIS)
fwbedit command [options]
توضیحات (DESCRIPTION)
fwbedit ابزاری همهمنظوره برای ویرایش درخت اشیاء در Firewall Builder است (نگاه کنید به fwbuilder(1)). از این ابزار میتوان در اسکریپتهای شل نوشتهشده برای پردازش دستهای فایلهای داده Firewall Builder استفاده کرد. Fwbedit میتواند عملیات زیر را روی اشیاء و درخت انجام دهد: ایجاد شیء جدید، حذف شیء موجود، اصلاح ویژگیهای یک شیء، افزودن ارجاع به شیء دادهشده در یک گروه، حذف ارجاع شیء از یک گروه، ارتقای فایل داده و بررسی درخت اشیاء در فایل و تعمیر آن در صورت لزوم. هم شیء و هم گروه را میتوان بر اساس شناسه (ID) یا بر اساس نام و مسیر کامل آنها در درخت تعریف کرد (بخش مثالها (EXAMPLES) را در ادامه ببینید).
دستورات و گزینهها (COMMANDS AND OPTIONS)
new -f file.fwb -t objtype -n name -p parent [-c comment] [-a attrs]
ایجاد شیء جدید.
-f file.fwb فایل داده
-t objtype ایجاد شیء
جدید از این
نوع
-p parent ایجاد شیء
جدید به
عنوان
فرزند این
شیء.
این
پارامتر
الزامی است.
اگر در حال
افزودن
آدرس به
یک رابط
هستید، شیء
رابط
مربوطه
باید به
عنوان والد
مشخص شود. به
همین ترتیب
اگر نیاز به
افزودن
رابط به
یک میزبان
یا فایروال
دارید، شیء
میزبان یا
فایروال
مربوطه
والد آن است.
اگر شیئی را
به یکی از
پوشههای
استاندارد
اضافه
میکنید،
والد همان
کتابخانهای
است که
میخواهید
شیء را به آن
بیفزایید
یا مسیر
کامل و صحیح
پوشه در
درخت است.
-n name نام شیء
جدید
-c txt تعیین
یادداشت
برای شیء
جدید
-a attribute1[,attribute2...] : تعیین
ویژگیهایی
که
پارامترهای
شیء جدید را
مشخص
میکنند
(پایین را
ببینید)
delete -f file.fwb -o object
حذف شیء مشخصشده با مسیر کامل در درخت یا شناسه شیء (ID).
-f file.fwb فایل داده
-o object شیء مورد
نظر برای
حذف، مسیر
کامل یا
شناسه
modify -f file.fwb -o object -c comment [-a attrs]
اصلاح شیء مشخصشده با مسیر کامل در درخت یا شناسه شیء. نام شیء را نمیتوان با این عملیات تغییر داد.
-f file.fwb فایل داده
-o object شیء مورد
نظر برای
اصلاح،
مسیر کامل
یا شناسه
-c txt تعیین
یادداشت
برای شیء
جدید
-a attribute1[,attribute2...] : تعیین
ویژگیهایی
که
پارامترهای
شیء جدید را
مشخص
میکنند
(پایین را
ببینید)
list -f file.fwb -o object [-r|-c] [-d|-Fformat]
چاپ نام و شناسه (ID) یک شیء.
-f file.fwb فایل داده
-o object شیء مورد
نظر برای
چاپ، مسیر
کامل یا
شناسه
-r چاپ شیء
مشخصشده و
تمام اشیاء
زیر آن در
درخت
-c تنها چاپ
اشیاء
فرزند شیء
دادهشده
بدون چاپ
خود شیء
-d چاپ تخلیه
کامل تمام
ویژگیهای
شیء شامل
اطلاعات
اشکالزدایی
داخلی در
صورت وجود؛
خروجی این
گزینه
میتواند
بسیار
طولانی
باشد.
-Fformat_string برنامه
ماکروها را
در رشته
قالب
شناسایی
کرده
و آنها را
با مقادیر
ویژگیهای
شیء مربوطه
جایگزین
میکند.
ماکرو نام
ویژگی
احاطهشده
با '%' است،
مانند
'%name%' یا '%address%'.
فهرستی از
برخی
نامهای
ویژگیها:
"id"، "name"، "path"،
"comment"، "type"،
"address"،
"netmask"، "dnsname".
اشیاء
سرویس TCP و UDP
ویژگیهای
"src_range_start"، "src_range_end"،
"dst_range_start"
و "dst_range_end" را
برای
بازههای
درگاه مبدأ
و مقصد
ارائه
میدهند.
اشیاء
سرویس ICMP و ICMP6
ویژگیهای
"icmp_type" و "icmp_code" را
دارند.
add -f file.fwb -g group -o object
افزودن شیء مشخصشده با مسیر یا شناسه به یک گروه، که آن هم با مسیر یا شناسهاش مشخص شده است.
-f file.fwb فایل داده
-g group گروهی که
شیء باید به
آن افزوده
شود،
مسیر کامل
یا شناسه
-o object شیئی که
باید
افزوده
شود، مسیر
کامل یا
شناسه
remove -f file.fwb -g group -o object
حذف شیء از یک گروه.
-f file.fwb فایل داده
-g group گروهی که
شیء باید از
آن حذف شود،
مسیر کامل
یا شناسه
-o object شیئی که
باید حذف
شود، مسیر
کامل یا
شناسه
upgrade -f file.fwb
ارتقای فایل داده به آخرین نسخه قالب داده.
-f file.fwb فایل
داده
checktree -f file.fwb
بررسی سازگاری و درستی درخت اشیاء در فایل داده دادهشده و تعمیر آن در صورت لزوم.
-f file.fwb فایل
داده
merge -f file1.fwb -i file2.fwb
اشیاء فایل file2.fwb با اشیاء فایل file1 ادغام شده و درخت اشیاء ترکیبی در file1.fwb ذخیره میشود.
-f file.fwb فایل داده
شماره ۱
-i file.fwb فایل داده
شماره ۲
import -f file1.fwb -i firewall_config.txt -o path_to_firewall_object [-d]
پیکربندی فایروال از فایل firewall_config.txt تجزیه شده و به فایل داده file1.fwb وارد میشود. برنامه شیء فایروال جدیدی در کتابخانه و با نام تعیینشده توسط مسیر path_to_firewall_object ایجاد میکند.
-f file.fwb فایل داده
شماره ۱
-i config.txt فایل
پیکربندی
فایروال
-o object_path مسیر
کامل به شیء
فایروال که
ایجاد
خواهد شد.
این مسیر
باید کامل
باشد و با
نام
کتابخانه
آغاز شود،
مانند
"/User/Firewalls/my_new_firewall"
-d جلوگیری از
ایجاد
اشیاء
تکراری در
هنگام
درونریزی
در حال حاضر (از نسخه 4.2.0) fwbuilder از درونریزی پیکربندی iptables ذخیرهشده با دستور iptables-save و همچنین پیکربندی مسیریاب Cisco IOS و فایروالهای Cisco PIX، ASA و FWSM ذخیرهشده با دستور "show run" پشتیبانی میکند.
ویژگیهای اشیاء جدید بر اساس نوع (ATTRIBUTES FOR THE NEW OBJECTS, BY TYPE)
-t Firewall -a platform, host OS
-t IPv4 -a IP address [,netmask]
-t IPv6 -a IPv6 address [,masklen]
-t DNSName -a DNS record,run time
-t AddressRange -a start address, end address
-t ObjectGroup
-t Network -a address,netmask
-t NetworkIPv6 -a ipv6_address,netmask_length
-t Interval -a start time,start date,start day,end time, end date, end day
-t Interface -a security level,address type (dynamic or unnumbered),management
-t Host
-t TCPService -a source port range start,end,destination port range start,end,UAPRSF,UAPRSF
-t UDPService -a source port range start,end,Destination port range start,end
-t ICMPService -a ICMP type,ICMP code
-t IPService -a protocol number,lsrr/ssrr/rr/ts/fragm/short_fragm
مثالها (EXAMPLES)
چاپ محتوای شیء /User/Firewalls/firewall/eth0 بر اساس قالب ارائهشده. توجه داشته باشید که شیء از نوع "Interface" ویژگیای برای تعیین آدرس خود ندارد؛ آدرس IP توسط شیء فرزند آن از نوع IPv4 یا IPv6 تعریف میشود.
fwbedit list -f x.fwb -o /User/Firewalls/firewall/eth0 -F "type=%type% name=%name% id=%id% %comment%"
چاپ محتوای شیء /User/Firewalls/firewall/eth0 و تمام اشیاء فرزند آن. این روش برای مشاهده آدرسها و ماسکهای شبکه است. شیء رابط فاقد ویژگی "address" است، بنابراین برنامه هنگام چاپ رابط ماکروی "%address%" را نادیده میگیرد.
fwbedit list -f x.fwb -o /User/Firewalls/firewall/eth0 -F "type=%type% name=%name% id=%id% %comment% %address%" -r
چاپ شیء گروهی /User/Objects/Addresses:
fwbedit list -f x.fwb -o /User/Objects/Addresses -F "type=%type% name=%name% id=%id% %comment%"
چاپ شیء گروهی /User/Objects/Addresses و تمام اشیاء آدرس درون آن:
fwbedit list -f x.fwb -o /User/Objects/Addresses -F "type=%type% name=%name% id=%id% %comment%" -r
چاپ اشیاء آدرس درون گروه /User/Objects/Addresses بدون چاپ خود شیء گروه:
fwbedit list -f x.fwb -o /User/Objects/Addresses -F "type=%type% name=%name% id=%id% %comment%" -c
چاپ آدرسها و ماسکهای شبکه تمام رابطهای همه فایروالها در قالب مسیر کامل درخت اشیاء، به دنبال آن نوع، شناسه، آدرس و ماسک شبکه:
fwbedit list -f x.fwb -o /User/Firewalls -F "%path% %type% %id% %address% %netmask%" -r | grep IP
چاپ نامها، سکو و اطلاعات نسخه برای تمام اشیاء فایروال تعریفشده در فایل داده:
fwbedit list -f x.fwb -o /User/Firewalls -F "%name% platform: %platform% version: %version%" -c
چاپ نام، بازههای درگاه مبدأ و مقصد برای تمام سرویسهای TCP در پوشه TCP از گروه کاربر User:
fwbedit list -f x.fwb -o /User/Services/TCP -c -F "name='%name%' est=%established% %src_range_start%-%src_range_end% : %dst_range_start%-%dst_range_end%"
چاپ نوع و کد icmp برای تمام سرویسهای ICMP در پوشه ICMP از گروه کاربر User:
fwbedit list -f x.fwb -o /User/Services/ICMP -c -F "name='%name%' icmp_type=%icmp_type% icmp_code=%icmp_code%"
افزودن آدرس IPv6 به یکی از رابطهای شیء فایروال "firewall":
fwbedit new -f x.fwb -p /User/Firewalls/firewall/eth3 -t IPv6 -n eth3-v6-addr -a 2001:470:1f05:590::2,64
افزودن ارجاع به شیء میزبان 'A' در گروه 'B':
fwbedit add -f x.fwb -g /User/Objects/Groups/B -o /User/Objects/Hosts/A
افزودن ارجاع به شیء با شناسه id3D71A1BA در گروه با شناسه id3D151943. اگر اشیاء با شناسههای دادهشده وجود نداشته باشند، fwbedit پیام خطایی چاپ میکند و هیچ تغییری در فایل داده ایجاد نمینماید.
fwbedit add -f x.fwb -o id3D71A1BA -g id3D151943
افزودن ارجاع به شیء با شناسه id3D71A1BA در گروه 'testgroup':
fwbedit add -f x.fwb -o id3D71A1BA -g /User/Objects/Groups/testgroup
اسکریپت زیر از دستور "list" در fwbedit برای چاپ شناسههای تمام اشیاء آدرس در پوشه /User/Objects/Addresses استفاده میکند، سپس در فهرست بهدستآمده پیمایش کرده و با استفاده از fwbedit آنها را به گروه "group1" میافزاید.
fwbedit list -f x.fwb -o /User/Objects/Addresses -F "%id%" -c | \
while read id; do \
fwbedit add -f x.fwb -g /User/Objects/Groups/group1 -o $id; \
done
این نمونهای کمی پیچیدهتر است. اسکریپت زیر از دستور "list" در fwbedit برای چاپ انواع و شناسههای تمام اشیاء آدرس در پوشه /User/Objects/Addresses استفاده میکند، سپس آنها را با استفاده از grep فیلتر کرده تا تنها اشیاء IPv6 بهدست آیند و در نهایت در فهرست بهدستآمده پیمایش کرده و با استفاده از fwbedit آنها را به گروه "group1" اضافه میکند.
fwbedit list -f x.fwb -o /User/Objects/Addresses -F "%type% %id%"
-c | \
grep IPv6 | \
while read type id; do \
fwbedit add -f x.fwb -g /User/Objects/Groups/group1 -o $id; \
done
نشانی وب (URL)
صفحه اصلی Firewall Builder در نشانی وب زیر قرار دارد: http://www.fwbuilder.org
اشکالات (BUGS)
لطفاً اشکالات را با استفاده از سامانه ردیابی باگ در SourceForge گزارش دهید:
http://sourceforge.net/tracker/?group_id=5314&atid=105314
همچنین ببینید (SEE ALSO)
| FWB |