04-28-2011، 11:06 AM
با سلام
این متن رو یکی از دوستان خوبم تایپ زدن به نام عفیف پور و منم دیدم اینجا بزارم شما هم
بخونید !
هشت روش برای محافظت از روترهای سیسکو
ابزارهای جدیدی همانند IDS و IPS و Honeypot ها روشهایی هستند که افراد برای امنیت شبکه خود استفاده می کنند. شرکتها هزاران دلار خرج ابزارهای جدید امنیتی میکنند اما این در حالی است که یک اصل فراموش شده دفاع از روترهای مرزی خود میباشد.
اگر چه خیلی از افراد فکر میکنند که روترها نیاز به محافظت کردن ندارد که این خود کاملا اشتباه است. مشکلات زیاد امنیتی زمانی اتفاق می افتد که یک DEVICE دارای نقاط آسیب پذیر است.
بعضی از اطلاعات درباره مشکلات امنیتی در روترهای سیسکو پیدا میشود که می توانیم این موارد را به عنوان Exploiting Cisco Routers در سایت http://www.securityfocus.com/infocus/1734 پیدا کنیم.
در این مقاله قصد داریم 8 روش به حداقل رساندن یکسری مشکلات را با خاموش کردن سرویس های غیر کاربردی و اعمال کردن یکسری کنترل دسترسی و اعمال کردن بعضی از گزینه های امنیتی موجود در روترهای سیسکو را با هم یاد بگیریم:
1. کنترل دسترسی به روتر
2. محدود کردن دسترسی Telnet به روتر
3. بلاک کردن پکتهای کلاهبردار و بد خواه (Spoof/Malicious )
4. محدود کردن SNMP
5. رمز گذاری همه password ها
6. غیر فعال کردن سرویس های که استفاده نمیشوند
7. اضافه کردن بعضی گزینه های امنیتی
8. log گرفتن از همه چیز
1. کنترل دسترسی به روتر
اولین چیزی که انجام میدیم اعمال کردن یکسری قانونها برای محدود کردن دسترسیهای بیرونی به بعضی از پورتهای روتر است. شما همه پورتها رو میتونید بلاک کنید ولی همیشه این کار نیاز نیست . در زیر چند پورت را در برابر بعضی از حملات شناخته شده را محافظت میکنیم و دسترسی به این پورتها رو محدود میکنیم.
2.محدود کردن دسترسی Telnet به روتر
telnet پروتکل زیادی امنی برای استفاده نیست .اما اگر شما واقعا نیاز به استفاده از اون را داشته با شید ( که شما باید همیشه از ssh استفاده بکنید). شما ممکن بخواهید دسترسی به telnet را محدود کنید (به خاطر بسپارید که ترافیک telnet بصورت رمزگذاری نشده است) .بهترین روش برای انجام دادن این کار استفاده از یک access-list استاندار و دستور access-class می باشد
3. بلاک کردن پکتهای کلاهبردار و بد خواه (Block Spoof/Malicious packets)
شما نباید اصلا به آدر سهای ip loopback/reserved اجازه بدید که از اینترفیس داخلی به اینترفیس خارجی برسند و همچنین شما میتونید آدرسهای broadcast و multicast را رد کنید
SNMP باید همیشه محدود بشه. مگر اینکه بخواین به یکسری افراد بدخواه اطلاعات زیادی در مورد شبکه خود بدیند
access-list 112 deny udp any any eq snmp
access-list 112 permit ip any any
interface x0/0
access-group 112 in
اگر هم نمیخوایند از SNMP استفاده کنید آن را غیر فعال کنید
no snmp-server
5. رمز گذاری همه password ها
یکی از مهمترین کارهایی که باید انجام بدهید محافظت کردن از همه کلمه های عبور خود با استفاده از یک اگوریتم قوی که امکان دارد . کلمه عبور در حالت exec mode که مجوز دسترسی به ios روتر را میدهد میتواند با استفاده از MD5 که یک روش رمزگذازی قوی است رمزگذاری شود.به صورت زیر:
enable secret $yourpassword
همه کلمه های عبور دیگر روتر می توانند با استفاده از ااگوریتم Vigenere cipher که الگوریتم قوی نیست میتواند رمزگذاری شود هر چند که به شما کمک میکند .
با دستور زیر شما میتوانید تمام password های موجود در سیستم را رمزگذاری کنید.
service password-encryption
6. غیر فعال کردن سرویس های که استفاده نمیشوند
6.1. عیر فعال کردن Chargen ,Echo و discard
no service tcp-small-servers
no service udp-small-servers
6.2. غیر فعال کردن finger
no service finger
6.3. غیر فعال کردن رابط httpd
no ip http server
6.4.غیر فعال کردن ntp (اگر استفاده نمیکنید)
ntp disable
7. اضافه کردن بعضی گزینه های امنیتی
7.1.غیر فعال کردن مسیریابی مقصد
no ip source-route
7.2. غیر فعال کردن ....... Arp
no ip .......-arp
7.3 . غیر فعال کردن redirect های ICMP
interface s0/0 (اینترفیس خارجی شما)
no ip redirects
7.4.غیر فعال کردن Multicast route Caching
interface s0/0 (اینترفیس خارجی شما)
no ip mroute-cache
7.5. غیر فعال کردن CDP
no cdp run
.7.6. غیر فعال کردن broadcast مستقیم.( در مقابله با حمله های Smurf محافظت میکند مثل حمله های DOS )
no ip directed-broadcast
8.ثبت کردن همه چیز
در آخر شما باید همه چیز را در داخل یک log server بیرونی ثبت کنید .و همه چیزهای سیستم خود را ثبت کنید و بعدا آنها را آنالیز کنید.
logging trap debugging
logging 192.168.1.10
192.168.1.10 ادرس log server شما میباشد( ان را به عنوان یک syslog server تنظیم شده است).
نتیجه نهایی:
با همین چند روش ساده شما میتوانید به روتر خود امنیت زیادی رو اضافه کنید و امنیت شبکه خود را افزایش دهید و در مقابله حملات مقابله کنید.
با یک مثال شما می توانید نتیجه اسکنر nmap قبل و بعد از اعمال این تنظیمات ببینید
قبل از تنظیمات:
bash-2.05b# nmap -P0 -O 192.168.1.1
Starting nmap V. 3.00 ( http://www.insecure.org/nmap/ )
Warning: OS detection will be MUCH less reliable because we did not find at least 1
open and 1 closed TCP port
All 1601 scanned ports on (192.168.1.1) are: filtered
Too many fingerprints match this host for me to give an accurate OS guess
Nmap run completed -- 1 IP address (1 host up) scanned in 403 seconds
این متن رو یکی از دوستان خوبم تایپ زدن به نام عفیف پور و منم دیدم اینجا بزارم شما هم
بخونید !
هشت روش برای محافظت از روترهای سیسکو
ابزارهای جدیدی همانند IDS و IPS و Honeypot ها روشهایی هستند که افراد برای امنیت شبکه خود استفاده می کنند. شرکتها هزاران دلار خرج ابزارهای جدید امنیتی میکنند اما این در حالی است که یک اصل فراموش شده دفاع از روترهای مرزی خود میباشد.
اگر چه خیلی از افراد فکر میکنند که روترها نیاز به محافظت کردن ندارد که این خود کاملا اشتباه است. مشکلات زیاد امنیتی زمانی اتفاق می افتد که یک DEVICE دارای نقاط آسیب پذیر است.
بعضی از اطلاعات درباره مشکلات امنیتی در روترهای سیسکو پیدا میشود که می توانیم این موارد را به عنوان Exploiting Cisco Routers در سایت http://www.securityfocus.com/infocus/1734 پیدا کنیم.
در این مقاله قصد داریم 8 روش به حداقل رساندن یکسری مشکلات را با خاموش کردن سرویس های غیر کاربردی و اعمال کردن یکسری کنترل دسترسی و اعمال کردن بعضی از گزینه های امنیتی موجود در روترهای سیسکو را با هم یاد بگیریم:
1. کنترل دسترسی به روتر
2. محدود کردن دسترسی Telnet به روتر
3. بلاک کردن پکتهای کلاهبردار و بد خواه (Spoof/Malicious )
4. محدود کردن SNMP
5. رمز گذاری همه password ها
6. غیر فعال کردن سرویس های که استفاده نمیشوند
7. اضافه کردن بعضی گزینه های امنیتی
8. log گرفتن از همه چیز
1. کنترل دسترسی به روتر
اولین چیزی که انجام میدیم اعمال کردن یکسری قانونها برای محدود کردن دسترسیهای بیرونی به بعضی از پورتهای روتر است. شما همه پورتها رو میتونید بلاک کنید ولی همیشه این کار نیاز نیست . در زیر چند پورت را در برابر بعضی از حملات شناخته شده را محافظت میکنیم و دسترسی به این پورتها رو محدود میکنیم.
access-list 110 deny tcp any host $yourRouterIP eq 7
access-list 110 deny tcp any host $yourRouterIP eq 9
access-list 110 deny tcp any host $yourRouterIP eq 13
access-list 110 deny tcp any host $yourRouterIP eq 19
access-list 110 deny tcp any host $yourRouterIP eq 23
access-list 110 deny tcp any host $yourRouterIP eq 79
int x0/0
access-group in 110
تذکر: $yourRouterIP آدرس روتر شماست int x0/0 اینترفیس خارجی شما است. این قرارداد برای کل مقاله استفاده میشود.access-list 110 deny tcp any host $yourRouterIP eq 9
access-list 110 deny tcp any host $yourRouterIP eq 13
access-list 110 deny tcp any host $yourRouterIP eq 19
access-list 110 deny tcp any host $yourRouterIP eq 23
access-list 110 deny tcp any host $yourRouterIP eq 79
int x0/0
access-group in 110
2.محدود کردن دسترسی Telnet به روتر
telnet پروتکل زیادی امنی برای استفاده نیست .اما اگر شما واقعا نیاز به استفاده از اون را داشته با شید ( که شما باید همیشه از ssh استفاده بکنید). شما ممکن بخواهید دسترسی به telnet را محدود کنید (به خاطر بسپارید که ترافیک telnet بصورت رمزگذاری نشده است) .بهترین روش برای انجام دادن این کار استفاده از یک access-list استاندار و دستور access-class می باشد
access-list 50 permit 192.168.1.1
access-list 50 deny any log
line vty 0 4
access-class 50 in
exec-timeout 5 0
تذکر: 192.168.1.1 ادرسی است که اجازه telnet کردن به روتر را دارد.access-list 50 deny any log
line vty 0 4
access-class 50 in
exec-timeout 5 0
3. بلاک کردن پکتهای کلاهبردار و بد خواه (Block Spoof/Malicious packets)
شما نباید اصلا به آدر سهای ip loopback/reserved اجازه بدید که از اینترفیس داخلی به اینترفیس خارجی برسند و همچنین شما میتونید آدرسهای broadcast و multicast را رد کنید
access-list 111 deny ip 127.0.0.0 0.255.255.255 any
access-list 111 deny ip 192.168.0.0 0.0.0.255 any
access-list 111 deny ip 172.16.0.0 0.0.255.255 any
access-list 111 deny ip 10.0.0.0 0.255.255.255 any
access-list 111 deny ip host 0.0.0.0 any
access-list 111 deny ip 224.0.0.0 31.255.255.255 any
access-list 111 deny icmp any any redirect
int x0/0
access-group in 111
4. محدود کردن SNMPaccess-list 111 deny ip 192.168.0.0 0.0.0.255 any
access-list 111 deny ip 172.16.0.0 0.0.255.255 any
access-list 111 deny ip 10.0.0.0 0.255.255.255 any
access-list 111 deny ip host 0.0.0.0 any
access-list 111 deny ip 224.0.0.0 31.255.255.255 any
access-list 111 deny icmp any any redirect
int x0/0
access-group in 111
SNMP باید همیشه محدود بشه. مگر اینکه بخواین به یکسری افراد بدخواه اطلاعات زیادی در مورد شبکه خود بدیند
access-list 112 deny udp any any eq snmp
access-list 112 permit ip any any
interface x0/0
access-group 112 in
اگر هم نمیخوایند از SNMP استفاده کنید آن را غیر فعال کنید
no snmp-server
5. رمز گذاری همه password ها
یکی از مهمترین کارهایی که باید انجام بدهید محافظت کردن از همه کلمه های عبور خود با استفاده از یک اگوریتم قوی که امکان دارد . کلمه عبور در حالت exec mode که مجوز دسترسی به ios روتر را میدهد میتواند با استفاده از MD5 که یک روش رمزگذازی قوی است رمزگذاری شود.به صورت زیر:
enable secret $yourpassword
همه کلمه های عبور دیگر روتر می توانند با استفاده از ااگوریتم Vigenere cipher که الگوریتم قوی نیست میتواند رمزگذاری شود هر چند که به شما کمک میکند .
با دستور زیر شما میتوانید تمام password های موجود در سیستم را رمزگذاری کنید.
service password-encryption
6. غیر فعال کردن سرویس های که استفاده نمیشوند
6.1. عیر فعال کردن Chargen ,Echo و discard
no service tcp-small-servers
no service udp-small-servers
6.2. غیر فعال کردن finger
no service finger
6.3. غیر فعال کردن رابط httpd
no ip http server
6.4.غیر فعال کردن ntp (اگر استفاده نمیکنید)
ntp disable
7. اضافه کردن بعضی گزینه های امنیتی
7.1.غیر فعال کردن مسیریابی مقصد
no ip source-route
7.2. غیر فعال کردن ....... Arp
no ip .......-arp
7.3 . غیر فعال کردن redirect های ICMP
interface s0/0 (اینترفیس خارجی شما)
no ip redirects
7.4.غیر فعال کردن Multicast route Caching
interface s0/0 (اینترفیس خارجی شما)
no ip mroute-cache
7.5. غیر فعال کردن CDP
no cdp run
.7.6. غیر فعال کردن broadcast مستقیم.( در مقابله با حمله های Smurf محافظت میکند مثل حمله های DOS )
no ip directed-broadcast
8.ثبت کردن همه چیز
در آخر شما باید همه چیز را در داخل یک log server بیرونی ثبت کنید .و همه چیزهای سیستم خود را ثبت کنید و بعدا آنها را آنالیز کنید.
logging trap debugging
logging 192.168.1.10
192.168.1.10 ادرس log server شما میباشد( ان را به عنوان یک syslog server تنظیم شده است).
نتیجه نهایی:
با همین چند روش ساده شما میتوانید به روتر خود امنیت زیادی رو اضافه کنید و امنیت شبکه خود را افزایش دهید و در مقابله حملات مقابله کنید.
با یک مثال شما می توانید نتیجه اسکنر nmap قبل و بعد از اعمال این تنظیمات ببینید
قبل از تنظیمات:
bash-2.05b# nmap -O 192.168.1.1
Starting nmap V. 3.00 ( http://www.insecure.org/nmap/ )
Interesting ports on (192.168.1.1):
Port State Service
7/tcp open echo
9/tcp open discard
13/tcp open daytime
19/tcp open chargen
23/tcp open telnet
79/tcp open finger
80/tcp open http
Remote OS guesses: AS5200, Cisco 2501/5260/5300 terminal server IOS 11.3.6(T1),
Cisco IOS 11.3 - 12.0(11)
بعد از تنظیمات:Starting nmap V. 3.00 ( http://www.insecure.org/nmap/ )
Interesting ports on (192.168.1.1):
Port State Service
7/tcp open echo
9/tcp open discard
13/tcp open daytime
19/tcp open chargen
23/tcp open telnet
79/tcp open finger
80/tcp open http
Remote OS guesses: AS5200, Cisco 2501/5260/5300 terminal server IOS 11.3.6(T1),
Cisco IOS 11.3 - 12.0(11)
bash-2.05b# nmap -P0 -O 192.168.1.1
Starting nmap V. 3.00 ( http://www.insecure.org/nmap/ )
Warning: OS detection will be MUCH less reliable because we did not find at least 1
open and 1 closed TCP port
All 1601 scanned ports on (192.168.1.1) are: filtered
Too many fingerprints match this host for me to give an accurate OS guess
Nmap run completed -- 1 IP address (1 host up) scanned in 403 seconds