Tấn công ở tầng ứng dụng (Application attacks):
Tấn công ở tầng ứng dụng có những đặc điểm sau:
– Khai thác những điểm yếu phổ biến trong hệ thống mạng như các lỗ hổng trong các giao thức mạng, những lỗ hổng này luôn tồn tại khi sử dụng các ứng dụng hay các dịch vụ cơ bản (ví dụ: HTTP, FTP …)
– Thông thường sử dụng những port mà firewall cho phép như port 80 trong ứng dụng Web được dùng để tấn công các web server nằm sau firewall
– Tấn công theo kiểu này không bao giờ bị loại bỏ hoàn toàn, bởi vì các lỗ hổng mới bao giờ cũng bị tìm kiếm và khai thác triệt để.
Một vài cách hiện thực tấn công ở tầng ứng dụng:
Một trong những cách thức phổ biến nhất là khai thác những điểm yếu trong các chương trình ứng dụng chạy trên các máy server như sendmail, Postscript và FTP. Bằng cách khai thác những điểm yếu này, chủ thể tấn công có thể chiếm quyền truy xuất vào các máy tính với quyền truy cập cùng cấp với tài khoản đang sử dụng, thông thường là các tài khoản hệ thống, lúc đó sẽ chạy được các ứng dụng mà chủ thể này mong muốn.
Các chương trình có chứa Trojan horse sẽ cung cấp cho người sử dụng đầu cuối các chức năng giống như trong một chương trình bình thường, nhưng cũng cài đặt những chức năng dùng để giám sát việc đăng nhập của người dùng với chủ ý ghi nhận lại các thông tin về tài khoản của người sử dụng và gửi về cho chủ thể tấn công, chúng cũng có thể bổ sung chức năng của ứng dụng như sao chép tất cả nội dung của các thông điệp e-mail trên máy tính của nạn nhân do đó chủ thể tấn công có thể biết được nội dung của những e-mail này.
Một trong những dạng tấn công trước đây ở tầng ứng dụng đó là sử dụng các chương trình có chứa Trojan hiển thị các biểu thị đăng nhập cho một ứng dụng nào đó. Khi người sử dụng đánh vào thông tin tài khoản của mình, chương trình này sẽ ghi nhận lại hoặc sẽ gửi mail về cho chủ thể tấn công. Tiếp theo, chương trình này sẽ chuyển hướng người dùng đến quá trình đăng nhập như bình thường hoặc đơn giản là thông báo với người sử dụng là đã nhập thông tin tài khoản không chính xác, sau đó thoát ra và khởi động lại quá trình đăng nhập thông thường.
Một trong những dạng tấn công mới của tấn công ở tầng ứng dụng đó là triển khai những đặc tính mở của các công nghệ mới như : các thông số của trang HTML, các chức năng của những chương trình duyệt Web và giao thức HTTP. Những tấn công này có thể chứa các Java applet hoặc ActiveX control, sẽ chuyển thông tin qua mạng và sẽ được kích hoạt lên hoạt động thông qua các chương trình duyệt Web.
Cách hạn chế các tấn công ở tầng ứng dụng:
– Xem xét các log-file của hệ thống và các log-file trên mạng của bạn, có thể dùng các chương trình phân tích các log-file này.
– Đăng ký vào các dịch vụ trên mạng nhằm thông báo cho bạn những lỗ hổng trong các ứng dụng mạng mà các chuyên gia an ninh mạng tìm ra.
– Thường xuyên cập nhật bản sửa lổi mới nhất đối với hệ điều hành hay các ứng dụng trong mạng của bạn.
– Sử dụng các thiết bị chống xâm nhập vào mạng (IDS), nhằm dò tìm những dấu hiệu tấn công, giám sát và ghi nhận lại trong những file log, và đôi khi có thể ngăn chặn hữu hiệu các cuộc tấn công trong hệ thống của bạn.
Các giao thức quản lý trong mạng và chức năng của chúng:
Các giao thức quản lý mạng có thể gây ra những lỗ hổng nhất định trong hệ thống mạng của bạn. Các giao thức quản lý dùng trong cấu hình thiết bị bao gồm: SSH, SSL và Telnet.
Một số vấn đề liên quan đến Telnet:
– Dữ liệu trong phiên làm việc của Telnet thông thường được gửi theo dạng text và có thể bị tấn công theo kiểu bắt gói trong quá trình di chuyển giữa thiết bị đầu cuối và máy chủ quản lý.
– Dữ liệu này có thể chứa các thông tin nhạy cảm như các thông tin về cấu hình thiết bị, thông tin tài khoản để truy nhập vào thiết bị này.
Để hạn chế những lỗ hổng theo kiểu này thì cách hay nhất là:
– Sử dụng những công cụ quản lý hay cấu hình thiết bị có xác thực hay mã hóa.
– Sử dụng ACL để chỉ cho phép những server quản lý có khả năng kết nối đến thiết bị cần quản lý.
– Tiến hành lọc theo kiểu RFC 2827 tại các router ở biên của mạng nhằm làm giảm nguy cơ các thiết bị bên ngoài dùng kiểu tấn công Spoof trên các thiết bị quản lý.
Các giao thức quản lý:
Các giao thức quản lý mạng sau là những giao thức có thể bị tấn công làm hại:
– SNMP (Simple Network Management Protocol): đây là giao thức quản lý dùng để lấy các thông tin từ các thiết bị mạng dưới quyền đọc (read-only) hoặc quyền thay đổi các tham số của thiết bị (read-write). SNMP sử dụng loại mật khẩu hay còn gọi là community-string chứa trong các thông điệp của giao thức SNMP như là một hình thức bảo mật đơn giản và gửi đi trong các gói tin dạng text, do đó các gói tin dễ dàng bị tấn công bởi các công cụ bắt gói và thông tin này có thể bị tận dụng bởi các chủ thể tấn công.
– Syslog, là một dịch vụ ghi nhận lại các thông tin log sinh ra bởi một thiết bị mạng nào đó, được gửi bằng dạng text giữa thiết bị được quản lý và máy tính quản lý. Syslog không có cơ chế kiểm tra tính toàn vẹn của các gói tin do đó không thể xác định được là các gói tin mình nhận được có bị chỉnh sửa trong quá trình di chuyển trong mạng. Chủ thể tấn công có thể điều chỉnh dữ liệu của Syslog nhằm làm cho người quản trị mất phương hướng trong khi tiến hành tấn công.
– TFTP (Trivial File Transfer Protocol) dùng chủ yếu trong việc chuyển các cấu hình thiết bị hoặc các file hệ thống thông qua hệ thống mạng. TFTP dùng UDP giữa thiết bị mạng và máy chủ TFTP.
Cũng giống như các giao thức quản lý khác, dữ liệu trao đổi của giao thức TFTP dùng ở dạng text, do đó người quản trị hệ thống nên xem xét việc mã hóa dữ liệu này dùng IPSec.
– NTP (Network Time Protocol) dùng chủ yếu trong việc đồng bộ giờ của các thiết bị trong hệ thống. Việc đồng bộ giờ là rất cần thiết cho việc sử dụng các chứng thực điện tử hay trong việc lưu các thông tin trong Syslog.
Một trong những cách thức bảo mật trong hệ thống đồng bộ giờ là các nhà quản trị hệ thống hiện thực riêng cho mình các bộ đồng bộ chủ đạo (master) cho hệ thống riêng của họ theo UTC (Coordinated Universal Time ) bằng vệ tinh hay sóng radio. Tuy nhiên, có rất nhiều nguồn trên Internet phục vụ cho việc đồng bộ thời gian trong trường hợp không muốn hiện thực riêng cho mình các bộ đồng bộ thời gian vì lý do chi phí.
Chủ thể tấn công có thể dùng tấn công theo kiểu từ chối dịch vụ DoS bằng cách gửi các dữ liệu NTP không thật thông qua môi trường Internet nhằm mục đích thay đổi thời gian trên các thiết bị mạng đồng thời làm cho các chứng thực điện tử không còn giá trị. Các mục đích khác khi tấn công tận dùng cách này là làm cho người quản trị khó khăn trong việc xác định thứ tự các thông tin trong Syslog.
Cách sử dụng các giao thức quản lý hiệu quả:
Đối với giao thức SNMP:
Cấu hình SNMP community-string với quyền chỉ đọc (read-only).
Thiết lập những chính sách điều khiển quyền truy xuất vào thiết bị bạn muốn quản lý.
Sử dụng SNMPv3
Đối với cơ chế Logginf:
Mã hoá traffic của Syslog dùng IPSec
Hiện thực cơ chế lọc theo RFC 2827
Thiết lập chính sách điều khiển việc truy xuất vào Firewall
Đối với TFTP:
Mã hoá traffic TFTP dùng IPSec
Đối với NTP:
Hiện thực hệ thống đồng bộ thời gian cho riêng mình
Dùng NTP phiên bản 3 hay cao hơn
Thiết lập cơ chế điều khiển đặc tả những thiết bị mạng nào cho phép đồng bộ lẫn nhau.
Bảo mật trong việc thiết lập lắp đặt / cài đặt thiết bị Cisco:
Các phương tiện bảo mật bằng phần mềm không thể ngăn chặn các thiệt hại gây ra bởi việc lắp đặt / cài đặt kém. Thông thường, các thiết bị được chia làm 2 loại: những thiết bị có độ rủi ro thấp và những thiết bị có độ rủi ro cao
Thiết bị có mức độ rủi ro thấp: đây là những thiết bị gần với đầu cuối của người sử dụng hay còn được gọi là SOHO (Small Office Home Office), các dòng sản phẩm của Cisco thuộc loại này là: 800/1700, việc truy cập vào các thiết bị router và switch trong môi trường này về mặt vật lý (lắp đặt thiết bị hay đấu nối cab) không tạo ra những rủi ro lớn cho toàn hệ thống mạng ở trung tâm. Trong tình huống này, thì chi phí cho các bảo mật về mặt vật lý (ví dụ : khóa các hộp đấu nối cab và các tủ rack thiết bị …) và chi phí cho việc giám sát, quản lý nhu cầu này có thể phát sinh đáng kể. Do đó, người quản lý IT phải quyết định thiết bị nào sẽ có nhu cầu được bảo mật theo kiểu này.
Thiết bị có mức độ rủi ro cao: Đây là những thiết bị trong các hệ thống vừa và lớn có thể có số lượng người sử dụng đầu cuối lên đến hàng chục, hàng trăm hoặc nhiều hơn. Chúng thông thường là các Cisco router cung cấp đường đi Internet, các Catalyst switch, firewall và các hệ thống quản lý, các thiết bị này có thể chịu trách nhiệm điều khiển, di chuyển một lượng lớn thông tin về dữ liệu, voice hay video. Các thiết bị này chịu một mức độ rủi ro về mặt bảo mật vật lý cao hơn nếu bị truy xuất không có kiểm soát bởi các nhân viên hoặc từ ảnh hưởng từ các điều kiện môi trường không ổn định.
Một số dấu hiệu gây rủi ro vật lý cho router và switch:
Cách hạn chế:
Bảo mật quyền truy nhập quản lý thiết bị:
Một trong những cách để thực hiện cấu hình thiết bị ban đầu cho thiết bị Cisco là sử dụng dây console truy xuất vào cổng console trên thiết bị. Để thao tác được thì trên PC của người dùng phải chạy chương trình terminal như Hyper Terminal. Console là vị trí duy nhất trên router mà người quản trị có thể truy xuất với đầy đủ quyền nhằm cấu hình và quản lý thiết bị. Những cách khác có thể được sử dụng để truy xuất vào quản lý router như Telnet, HTTP, HTTPs, SSH, SNMP và SDM (Security Device Manager).
Bước đầu tiên trong việc bảo mật quyền truy nhập vào router là cấu hình những mật khẩu bảo mật. Những mật khẩu này có thể được lưu trên router (local database) hay trên các server AAA, như Cisco ACS.
Một số luật trong việc đặt mật khẩu có tính bảo mật :
Khi đặt mật khẩu cho Cisco router, một số điều cần nhớ:
Cấu hình ban đầu cho hệ thống
Khi người sử dụng làm việc trên một router mới hoặc dùng setup mode trên router, người sử dụng sẽ được đưa vào một kịch bản cấu hình các loại mật khẩu trong mode này, ví dụ:
Enable password (câu lệnh: router(config)#enable password) là mật khẩu giúp người sử dụng dùng được mode priviledge trong thiết bị của Cisco. Theo quy định mặc nhiên thì mật khẩu này sẽ không được mã hóa, tức là nếu ai đó đọc file cấu hình thiết bị trong router thì sẽ biết được mật khẩu là gì. Bạn có thể đặt mật khẩu theo kiểu secret password (router(config)#enable secret), việc này giúp mật khẩu của bạn sẽ được mã hóa theo thuật toán băm MD5 (Message Digest 5).
Các mật khẩu ở virtual terminal là những mật khẩu bạn đặt cho những ai muốn telnet vào thiết bị này, bạn có thể đặt mật khẩu này dùng kịch bản cấu hình trong setup mode hay dùng lệnh password trong mode terminal line (router(config-line)#password).
Điều chỉnh độ dài tối thiểu của mật khẩu :
Từ phiên bản 12.3(1) Cisco IOS cho phép người quản trị hệ thống quy định độ dài tối thiểu khi đặt mật khẩu trên thiết bị dùng câu lệnh sau:
Router(config)#security passwords min length
length: độ dài nhỏ nhất của mật khẩu (tính theo ký tự, giá trị có thể đặt là: 0 đến 16). Giá trị đề nghị sử dụng cho tham số này là 10.
Câu lệnh này sẽ ảnh hưởng lên các mật khẩu của người sử dụng nếu những mật khẩu này được đặt sau khi câu lệnh trên thực thi (các mật khẩu đặt trước khi câu lệnh trên thực thi vẫn không bị ảnh hưởng gì)
Sau khi câu lệnh trên được thực thi, bất kỳ mật khẩu nào được đặt có độ dài nhỏ hơn quy định sẽ không thành công và router sẽ thông báo khi có ai vi phạm:
Đặt mật khẩu truy nhập vào mode priviledge:
Nếu bạn không dùng kịch bản cấu hình router trong mode setup, bạn vẫn có thể đặt mật khẩu cho router của mình để hạn chế quyền truy nhập vào mode priviledge của router. Bạn có thể dùng câu lệnh:
router (config)# enable password password
để đặt mật khẩu theo dạng text hay dùng lệnh:
router (config)# enable secret password
để dùng dạng mã hoá băm một chiều MD5 .
Ví dụ:
Boston(config)#enable secret Curium96
Boston# show running-config
!
hostname Boston
….
enable secret 5 $l$ptCj$vRErS/tehv53JjaqFMzBT/
Đặt mật khẩu cho các truy nhập từ cổng console:
Theo cấu hình mặc nhiên ban đầu, cổng console không có mật khẩu do đó người sử dụng có thể cắm cáp vào cổng console mà không bị yêu cầu trả lời một mật khẩu nào. Người quản trị nếu muốn đặt mật khẩu để kiểm soát việc truy nhập từ cổng console có thể dùng các câu lệnh sau:
Bước 1: vào mode cấu hình đường line của cổng console
Boston(config)# line console 0
Bước 2: bật chế độ kiểm tra mật khẩu khi có ai log vào router
Boston(config-line)# login
Bước 3: đặt mật khẩu
Boston(config-line) # password vnpro
Nếu dùng lệnh xem lại cấu hình trên router (và để mặc nhiên), thì bạn có thể thấy:
line con 0
login
password vnpro
Chú ý rằng mật khẩu nào được thể hiện ở dạng text (có thể đọc được), và đây cũng là một nguy cơ nếu ai vô tình/ cố ý đọc được mật khẩu này.
Theo cấu hình mặc nhiên thì cổng console trên thiết bị router của Cisco cho phép tín hiệu BREAK (hard BREAK) từ bàn phím trong 60 giây để ngưng quá trình khởi động bình thường của router và cho phép người sử dụng đang ở console điều khiển hoàn toàn thiết bị. Thủ tục này dùng chủ yếu cho việc phục hồi mật khẩu. Tuy nhiên việc dùng hard BREAK có thể bị tắt đi không cho sử dụng bằng cách dùng câu lệnh:
router(config)# no service password-recovery
Đặt mật khẩu cho phép telnet vào router:
Cisco router cho phép nhiều phiên telnet vào thiết bị ( đến 5 phiên telnet có thể thực hiện đồng thời vào router tại 1 thời điểm – cũng có thể cho phép nhiều hơn), mỗi phiên sẽ được phục vụ bằng một line VTY logic. Ban đầu, Cisco router không có bất kỳ một mật khẩu nào đặt trên các line VTY này. Bạn phải cấu hình các mật khẩu này nếu bạn muốn telnet. Nếu bạn cố telnet vào router không có đặt mật khẩu telnet, bạn sẽ gặp câu thông báo sau:
Telnet 10.0.0.2
Trying …
Connected to 10.0.0.2
Escape character is ‘^]’
Password required, but none set
Connection closed by remote host
Bạn có thể cấu hình mật khẩu telnet dùng kịch bản cấu hình trong setup mode của router hay dùng câu lệnh sau:
Bước 1: vào mode line vty chọn phạm vi line bạn muốn dùng
router(config)# line vty start-line-number end-line-number
Bước 2: bật chế độ kiểm tra mật khẩu khi có ai telnet vào router
router(config-line)# login
Bước 3: đặt mật khẩu
router (config-line)# password password
Chú ý: các mật khẩu của telnet mặc định sẽ có thể hiển thị ra dạng text nếu bạn xem cấu hình trên router.
Một số vấn đề cần lưu ý khi thiết lập các mật khẩu telnet:
Đặt mật khẩu cho cổng Auxiliary:
Theo mặc định cổng AUX (Auxiliary) không đòi hỏi mật khẩu cho các truy nhập từ xa. Người quản trị dùng cổng này để truy nhập cấu hình hay giám sát từ xa sử dụng kết nối modem.
Bạn không thể đặt mật khẩu ở line AUX ở setup mode mà chỉ có thể đặt mật khẩu ở line Aux, nếu bạn muốn ngăn chặn việc truy nhập vào mode priviledge (router#), bạn có thể dùng câu lệnh no exec :
Bước 1: cho phép các cuộc gọi modem vào và ra trên line này:
Boston (config)#line aux 0
Boston (config-line)#modem inout
Bước 2: đặc tả tốc độ đường line dùng để kết nối modem
Boston (config-line)#speed 9600
Bước 3: cho phép tất cả các giao thức có thể sử dụng trên đường line này:
Boston (config-line)#transport input all
Bước 4: đặc tả thông số điều khiển dòng dữ liệu với modem
Boston (config-line)#flowcontrol hardware
Bước 5: yêu cầu xác thực các kết nối đi vào line này với mật khẩu tương ứng
Boston (config-line)#login
Bước 6: đặt mật khẩu
Boston (config-line)#password vnpro
Mã hóa tất cả các mật khẩu hiện có trên router:
Trừ khi bạn đặt mật khẩu dùng câu lệnh enable secret, tất cả các mật khẩu trên router mặc định sẽ lưu ở dạng text trong cấu hình của router. Những mật khẩu này có thể được nhìn thấy nếu đọc file cấu hình của router. Các chương trình bắt gói cũng có thể bắt các thông tin chạy trên mạng đến các TFTP server và có thể xác định được các mật khẩu này.
Câu lệnh service password-encryption mã hóa tất cả các mật khẩu (ngoại trừ các mật khẩu đã được mã hoá bằng câu lệnh enable secret) trong file cấu hình trong router sử dụng một giải thuật riêng của Cisco dựa trên mật mã Vigenere (đại diện bằng số 7 khi xem nội dung của file cấu hình). Cách này được xem là không an toàn như dùng cách băm theo kiểu MD5 trong câu lệnh enable secret, nhưng sẽ ngăn chặn việc vô tình / cố ý xem các mật khẩu trong file cấu hình thiết bị. Cú pháp của câu lệnh này như sau:
router (config)#service password-encryption
(còn tiếp)
VnPro
Tấn công ở tầng ứng dụng có những đặc điểm sau:
– Khai thác những điểm yếu phổ biến trong hệ thống mạng như các lỗ hổng trong các giao thức mạng, những lỗ hổng này luôn tồn tại khi sử dụng các ứng dụng hay các dịch vụ cơ bản (ví dụ: HTTP, FTP …)
– Thông thường sử dụng những port mà firewall cho phép như port 80 trong ứng dụng Web được dùng để tấn công các web server nằm sau firewall
– Tấn công theo kiểu này không bao giờ bị loại bỏ hoàn toàn, bởi vì các lỗ hổng mới bao giờ cũng bị tìm kiếm và khai thác triệt để.
Một vài cách hiện thực tấn công ở tầng ứng dụng:
Một trong những cách thức phổ biến nhất là khai thác những điểm yếu trong các chương trình ứng dụng chạy trên các máy server như sendmail, Postscript và FTP. Bằng cách khai thác những điểm yếu này, chủ thể tấn công có thể chiếm quyền truy xuất vào các máy tính với quyền truy cập cùng cấp với tài khoản đang sử dụng, thông thường là các tài khoản hệ thống, lúc đó sẽ chạy được các ứng dụng mà chủ thể này mong muốn.
Các chương trình có chứa Trojan horse sẽ cung cấp cho người sử dụng đầu cuối các chức năng giống như trong một chương trình bình thường, nhưng cũng cài đặt những chức năng dùng để giám sát việc đăng nhập của người dùng với chủ ý ghi nhận lại các thông tin về tài khoản của người sử dụng và gửi về cho chủ thể tấn công, chúng cũng có thể bổ sung chức năng của ứng dụng như sao chép tất cả nội dung của các thông điệp e-mail trên máy tính của nạn nhân do đó chủ thể tấn công có thể biết được nội dung của những e-mail này.
Một trong những dạng tấn công trước đây ở tầng ứng dụng đó là sử dụng các chương trình có chứa Trojan hiển thị các biểu thị đăng nhập cho một ứng dụng nào đó. Khi người sử dụng đánh vào thông tin tài khoản của mình, chương trình này sẽ ghi nhận lại hoặc sẽ gửi mail về cho chủ thể tấn công. Tiếp theo, chương trình này sẽ chuyển hướng người dùng đến quá trình đăng nhập như bình thường hoặc đơn giản là thông báo với người sử dụng là đã nhập thông tin tài khoản không chính xác, sau đó thoát ra và khởi động lại quá trình đăng nhập thông thường.
Một trong những dạng tấn công mới của tấn công ở tầng ứng dụng đó là triển khai những đặc tính mở của các công nghệ mới như : các thông số của trang HTML, các chức năng của những chương trình duyệt Web và giao thức HTTP. Những tấn công này có thể chứa các Java applet hoặc ActiveX control, sẽ chuyển thông tin qua mạng và sẽ được kích hoạt lên hoạt động thông qua các chương trình duyệt Web.
Cách hạn chế các tấn công ở tầng ứng dụng:
– Xem xét các log-file của hệ thống và các log-file trên mạng của bạn, có thể dùng các chương trình phân tích các log-file này.
– Đăng ký vào các dịch vụ trên mạng nhằm thông báo cho bạn những lỗ hổng trong các ứng dụng mạng mà các chuyên gia an ninh mạng tìm ra.
– Thường xuyên cập nhật bản sửa lổi mới nhất đối với hệ điều hành hay các ứng dụng trong mạng của bạn.
– Sử dụng các thiết bị chống xâm nhập vào mạng (IDS), nhằm dò tìm những dấu hiệu tấn công, giám sát và ghi nhận lại trong những file log, và đôi khi có thể ngăn chặn hữu hiệu các cuộc tấn công trong hệ thống của bạn.
Các giao thức quản lý trong mạng và chức năng của chúng:
Các giao thức quản lý mạng có thể gây ra những lỗ hổng nhất định trong hệ thống mạng của bạn. Các giao thức quản lý dùng trong cấu hình thiết bị bao gồm: SSH, SSL và Telnet.
Một số vấn đề liên quan đến Telnet:
– Dữ liệu trong phiên làm việc của Telnet thông thường được gửi theo dạng text và có thể bị tấn công theo kiểu bắt gói trong quá trình di chuyển giữa thiết bị đầu cuối và máy chủ quản lý.
– Dữ liệu này có thể chứa các thông tin nhạy cảm như các thông tin về cấu hình thiết bị, thông tin tài khoản để truy nhập vào thiết bị này.
Để hạn chế những lỗ hổng theo kiểu này thì cách hay nhất là:
– Sử dụng những công cụ quản lý hay cấu hình thiết bị có xác thực hay mã hóa.
– Sử dụng ACL để chỉ cho phép những server quản lý có khả năng kết nối đến thiết bị cần quản lý.
– Tiến hành lọc theo kiểu RFC 2827 tại các router ở biên của mạng nhằm làm giảm nguy cơ các thiết bị bên ngoài dùng kiểu tấn công Spoof trên các thiết bị quản lý.
Các giao thức quản lý:
Các giao thức quản lý mạng sau là những giao thức có thể bị tấn công làm hại:
– SNMP (Simple Network Management Protocol): đây là giao thức quản lý dùng để lấy các thông tin từ các thiết bị mạng dưới quyền đọc (read-only) hoặc quyền thay đổi các tham số của thiết bị (read-write). SNMP sử dụng loại mật khẩu hay còn gọi là community-string chứa trong các thông điệp của giao thức SNMP như là một hình thức bảo mật đơn giản và gửi đi trong các gói tin dạng text, do đó các gói tin dễ dàng bị tấn công bởi các công cụ bắt gói và thông tin này có thể bị tận dụng bởi các chủ thể tấn công.
– Syslog, là một dịch vụ ghi nhận lại các thông tin log sinh ra bởi một thiết bị mạng nào đó, được gửi bằng dạng text giữa thiết bị được quản lý và máy tính quản lý. Syslog không có cơ chế kiểm tra tính toàn vẹn của các gói tin do đó không thể xác định được là các gói tin mình nhận được có bị chỉnh sửa trong quá trình di chuyển trong mạng. Chủ thể tấn công có thể điều chỉnh dữ liệu của Syslog nhằm làm cho người quản trị mất phương hướng trong khi tiến hành tấn công.
– TFTP (Trivial File Transfer Protocol) dùng chủ yếu trong việc chuyển các cấu hình thiết bị hoặc các file hệ thống thông qua hệ thống mạng. TFTP dùng UDP giữa thiết bị mạng và máy chủ TFTP.
Cũng giống như các giao thức quản lý khác, dữ liệu trao đổi của giao thức TFTP dùng ở dạng text, do đó người quản trị hệ thống nên xem xét việc mã hóa dữ liệu này dùng IPSec.
– NTP (Network Time Protocol) dùng chủ yếu trong việc đồng bộ giờ của các thiết bị trong hệ thống. Việc đồng bộ giờ là rất cần thiết cho việc sử dụng các chứng thực điện tử hay trong việc lưu các thông tin trong Syslog.
Một trong những cách thức bảo mật trong hệ thống đồng bộ giờ là các nhà quản trị hệ thống hiện thực riêng cho mình các bộ đồng bộ chủ đạo (master) cho hệ thống riêng của họ theo UTC (Coordinated Universal Time ) bằng vệ tinh hay sóng radio. Tuy nhiên, có rất nhiều nguồn trên Internet phục vụ cho việc đồng bộ thời gian trong trường hợp không muốn hiện thực riêng cho mình các bộ đồng bộ thời gian vì lý do chi phí.
Chủ thể tấn công có thể dùng tấn công theo kiểu từ chối dịch vụ DoS bằng cách gửi các dữ liệu NTP không thật thông qua môi trường Internet nhằm mục đích thay đổi thời gian trên các thiết bị mạng đồng thời làm cho các chứng thực điện tử không còn giá trị. Các mục đích khác khi tấn công tận dùng cách này là làm cho người quản trị khó khăn trong việc xác định thứ tự các thông tin trong Syslog.
Cách sử dụng các giao thức quản lý hiệu quả:
Đối với giao thức SNMP:
Cấu hình SNMP community-string với quyền chỉ đọc (read-only).
Thiết lập những chính sách điều khiển quyền truy xuất vào thiết bị bạn muốn quản lý.
Sử dụng SNMPv3
Đối với cơ chế Logginf:
Mã hoá traffic của Syslog dùng IPSec
Hiện thực cơ chế lọc theo RFC 2827
Thiết lập chính sách điều khiển việc truy xuất vào Firewall
Đối với TFTP:
Mã hoá traffic TFTP dùng IPSec
Đối với NTP:
Hiện thực hệ thống đồng bộ thời gian cho riêng mình
Dùng NTP phiên bản 3 hay cao hơn
Thiết lập cơ chế điều khiển đặc tả những thiết bị mạng nào cho phép đồng bộ lẫn nhau.
Bảo mật trong việc thiết lập lắp đặt / cài đặt thiết bị Cisco:
Các phương tiện bảo mật bằng phần mềm không thể ngăn chặn các thiệt hại gây ra bởi việc lắp đặt / cài đặt kém. Thông thường, các thiết bị được chia làm 2 loại: những thiết bị có độ rủi ro thấp và những thiết bị có độ rủi ro cao
Thiết bị có mức độ rủi ro thấp: đây là những thiết bị gần với đầu cuối của người sử dụng hay còn được gọi là SOHO (Small Office Home Office), các dòng sản phẩm của Cisco thuộc loại này là: 800/1700, việc truy cập vào các thiết bị router và switch trong môi trường này về mặt vật lý (lắp đặt thiết bị hay đấu nối cab) không tạo ra những rủi ro lớn cho toàn hệ thống mạng ở trung tâm. Trong tình huống này, thì chi phí cho các bảo mật về mặt vật lý (ví dụ : khóa các hộp đấu nối cab và các tủ rack thiết bị …) và chi phí cho việc giám sát, quản lý nhu cầu này có thể phát sinh đáng kể. Do đó, người quản lý IT phải quyết định thiết bị nào sẽ có nhu cầu được bảo mật theo kiểu này.
Thiết bị có mức độ rủi ro cao: Đây là những thiết bị trong các hệ thống vừa và lớn có thể có số lượng người sử dụng đầu cuối lên đến hàng chục, hàng trăm hoặc nhiều hơn. Chúng thông thường là các Cisco router cung cấp đường đi Internet, các Catalyst switch, firewall và các hệ thống quản lý, các thiết bị này có thể chịu trách nhiệm điều khiển, di chuyển một lượng lớn thông tin về dữ liệu, voice hay video. Các thiết bị này chịu một mức độ rủi ro về mặt bảo mật vật lý cao hơn nếu bị truy xuất không có kiểm soát bởi các nhân viên hoặc từ ảnh hưởng từ các điều kiện môi trường không ổn định.
Một số dấu hiệu gây rủi ro vật lý cho router và switch:
- Những dấu hiệu gây rủi ro về phần cứng: đây là các dấu hiệu gây tổn hại đến phần cứng của switch và router.
- Những dấu hiệu gây rủi ro xuất phát từ môi trường: chẳng hạn các dấu hiệu nhiệt độ vượt quá ngưỡng cho phép (quá nóng hay quá lạnh) hay độ ẩm của môi trường (quá ẩm hay quá khô).
- Những dấu hiệu gây rủi ro từ điện: các dấu hiệu thay đổi volt thế đột ngột, không đủ nguồn cung cấp cho hệ thống, có nhiều nhiễu trong nguồn cung cấp, và công suất không đủ cung cấp cho toàn hệ thống.
- Những dấu hiệu gây rủi ro từ việc bảo dưỡng/ vận hành hệ thống: các dấu hiệu cabling không tốt, không đánh dấu nhận dạng đầu cab, …
Cách hạn chế:
- Hạn chế những dấu hiệu gây rủi ro về phần cứng:
- Tiến hành xác thực hạn chế việc thao tác trực tiếp lên các thiết bị.
- Hạn chế các xâm nhập vào hệ thống phòng máy từ trần nhà, từ sàn nâng, qua cửa sổ…
- Ghi nhận tất cả các lần truy xuất vào hệ thống từ bất kỳ phương tiện nào và bất chấp có truy nhập thành công hay không.
- Lắp đặt các camera giám sát hệ thống.
- Hạn chế những dấu hiệu gây rủi ro xuất phát từ môi trường:
- Phòng hệ thống phải được trang bị các thiết bị giám sát nhiệt độ và độ ẩm của môi trường, các thông số về các điều kiện của môi trường ảnh hưởng đến thiết bị luôn được đặc tả trong catalog đi kèm.
- Nếu có khả năng, lắp đặt các hệ thống theo dõi và thông báo hoặc báo động từ xa.
- Phòng hệ thống phải được loại bỏ các nhiễu điện từ (nếu có).
- Hạn chế những dấu hiệu gây rủi ro từ điện:
- Lắp đặt các hệ thống UPS và máy phát điện.
- Đưa ra kế hoạch, thủ tục an toàn cho việc bảo dưỡng, bảo trì thiết bị
- Sử dụng các bộ nguồn dư.
- Sử dụng các hệ thống theo dõi và thông báo hoặc báo động từ xa.
- Hạn chế những dấu hiệu gây rủi ro từ việc bảo dưỡng/ vận hành hệ thống:
- Đấu nối và đi cáp trong hệ thống nên tổ chức ngăn nắp
- Đánh nhãn dùng để nhận dạng những sợi cáp quan trọng
- Luôn tuân theo thủ tục khử từ (ESD – Electrostatic discharge) khi thay thế hay làm việc trực tiếp với thiết bị Cisco.
- Nên có chính sách về thiết bị thay thế (spare-part) dùng trong trường hợp khẩn cấp
- Kiểm soát quyền truy xuất trực tiếp bằng cổng console, luôn log off trước khi không tiếp tục thao tác trên cổng console của thiết bị.
Bảo mật quyền truy nhập quản lý thiết bị:
Một trong những cách để thực hiện cấu hình thiết bị ban đầu cho thiết bị Cisco là sử dụng dây console truy xuất vào cổng console trên thiết bị. Để thao tác được thì trên PC của người dùng phải chạy chương trình terminal như Hyper Terminal. Console là vị trí duy nhất trên router mà người quản trị có thể truy xuất với đầy đủ quyền nhằm cấu hình và quản lý thiết bị. Những cách khác có thể được sử dụng để truy xuất vào quản lý router như Telnet, HTTP, HTTPs, SSH, SNMP và SDM (Security Device Manager).
Bước đầu tiên trong việc bảo mật quyền truy nhập vào router là cấu hình những mật khẩu bảo mật. Những mật khẩu này có thể được lưu trên router (local database) hay trên các server AAA, như Cisco ACS.
Một số luật trong việc đặt mật khẩu có tính bảo mật :
Khi đặt mật khẩu cho Cisco router, một số điều cần nhớ:
- Mật khẩu có thể có độ dài từ 1 đến 25 ký tự. Chiều dài của mật khẩu nên từ 10 ký tự trở lên và có dạng sau:
- Có chứa các ký tự vừa chữ vừa số.
- Kết hợp việc sử dụng các ký tự hoa, thường hay cả 2.
- Mật khẩu không nên tận dụng các từ có ý nghĩa.
- Mật khẩu không nên có ký tự số đứng đầu.
- Những ký tự trắng ở đầu của mật khẩu sẽ bị bỏ qua, nhưng ký tự trắng ở những vị trí khác sau ký tự đầu tiên vẫn có ý nghĩa.
- Nên xác định chu kỳ thay đổi mật khẩu cho hệ thống.
Cấu hình ban đầu cho hệ thống
Khi người sử dụng làm việc trên một router mới hoặc dùng setup mode trên router, người sử dụng sẽ được đưa vào một kịch bản cấu hình các loại mật khẩu trong mode này, ví dụ:
- Enable password là gì?
- Secret password bạn đặt cho hệ thống là gì?
- Password gì bạn sẽ dùng cho việc quản lý bằng Telnet.
Enable password (câu lệnh: router(config)#enable password) là mật khẩu giúp người sử dụng dùng được mode priviledge trong thiết bị của Cisco. Theo quy định mặc nhiên thì mật khẩu này sẽ không được mã hóa, tức là nếu ai đó đọc file cấu hình thiết bị trong router thì sẽ biết được mật khẩu là gì. Bạn có thể đặt mật khẩu theo kiểu secret password (router(config)#enable secret), việc này giúp mật khẩu của bạn sẽ được mã hóa theo thuật toán băm MD5 (Message Digest 5).
Các mật khẩu ở virtual terminal là những mật khẩu bạn đặt cho những ai muốn telnet vào thiết bị này, bạn có thể đặt mật khẩu này dùng kịch bản cấu hình trong setup mode hay dùng lệnh password trong mode terminal line (router(config-line)#password).
Điều chỉnh độ dài tối thiểu của mật khẩu :
Từ phiên bản 12.3(1) Cisco IOS cho phép người quản trị hệ thống quy định độ dài tối thiểu khi đặt mật khẩu trên thiết bị dùng câu lệnh sau:
Router(config)#security passwords min length
length: độ dài nhỏ nhất của mật khẩu (tính theo ký tự, giá trị có thể đặt là: 0 đến 16). Giá trị đề nghị sử dụng cho tham số này là 10.
Câu lệnh này sẽ ảnh hưởng lên các mật khẩu của người sử dụng nếu những mật khẩu này được đặt sau khi câu lệnh trên thực thi (các mật khẩu đặt trước khi câu lệnh trên thực thi vẫn không bị ảnh hưởng gì)
Sau khi câu lệnh trên được thực thi, bất kỳ mật khẩu nào được đặt có độ dài nhỏ hơn quy định sẽ không thành công và router sẽ thông báo khi có ai vi phạm:
Đặt mật khẩu truy nhập vào mode priviledge:
Nếu bạn không dùng kịch bản cấu hình router trong mode setup, bạn vẫn có thể đặt mật khẩu cho router của mình để hạn chế quyền truy nhập vào mode priviledge của router. Bạn có thể dùng câu lệnh:
router (config)# enable password password
để đặt mật khẩu theo dạng text hay dùng lệnh:
router (config)# enable secret password
để dùng dạng mã hoá băm một chiều MD5 .
Ví dụ:
Boston(config)#enable secret Curium96
Boston# show running-config
!
hostname Boston
….
enable secret 5 $l$ptCj$vRErS/tehv53JjaqFMzBT/
Đặt mật khẩu cho các truy nhập từ cổng console:
Theo cấu hình mặc nhiên ban đầu, cổng console không có mật khẩu do đó người sử dụng có thể cắm cáp vào cổng console mà không bị yêu cầu trả lời một mật khẩu nào. Người quản trị nếu muốn đặt mật khẩu để kiểm soát việc truy nhập từ cổng console có thể dùng các câu lệnh sau:
Bước 1: vào mode cấu hình đường line của cổng console
Boston(config)# line console 0
Bước 2: bật chế độ kiểm tra mật khẩu khi có ai log vào router
Boston(config-line)# login
Bước 3: đặt mật khẩu
Boston(config-line) # password vnpro
Nếu dùng lệnh xem lại cấu hình trên router (và để mặc nhiên), thì bạn có thể thấy:
line con 0
login
password vnpro
Chú ý rằng mật khẩu nào được thể hiện ở dạng text (có thể đọc được), và đây cũng là một nguy cơ nếu ai vô tình/ cố ý đọc được mật khẩu này.
Theo cấu hình mặc nhiên thì cổng console trên thiết bị router của Cisco cho phép tín hiệu BREAK (hard BREAK) từ bàn phím trong 60 giây để ngưng quá trình khởi động bình thường của router và cho phép người sử dụng đang ở console điều khiển hoàn toàn thiết bị. Thủ tục này dùng chủ yếu cho việc phục hồi mật khẩu. Tuy nhiên việc dùng hard BREAK có thể bị tắt đi không cho sử dụng bằng cách dùng câu lệnh:
router(config)# no service password-recovery
Đặt mật khẩu cho phép telnet vào router:
Cisco router cho phép nhiều phiên telnet vào thiết bị ( đến 5 phiên telnet có thể thực hiện đồng thời vào router tại 1 thời điểm – cũng có thể cho phép nhiều hơn), mỗi phiên sẽ được phục vụ bằng một line VTY logic. Ban đầu, Cisco router không có bất kỳ một mật khẩu nào đặt trên các line VTY này. Bạn phải cấu hình các mật khẩu này nếu bạn muốn telnet. Nếu bạn cố telnet vào router không có đặt mật khẩu telnet, bạn sẽ gặp câu thông báo sau:
Telnet 10.0.0.2
Trying …
Connected to 10.0.0.2
Escape character is ‘^]’
Password required, but none set
Connection closed by remote host
Bạn có thể cấu hình mật khẩu telnet dùng kịch bản cấu hình trong setup mode của router hay dùng câu lệnh sau:
Bước 1: vào mode line vty chọn phạm vi line bạn muốn dùng
router(config)# line vty start-line-number end-line-number
Bước 2: bật chế độ kiểm tra mật khẩu khi có ai telnet vào router
router(config-line)# login
Bước 3: đặt mật khẩu
router (config-line)# password password
Chú ý: các mật khẩu của telnet mặc định sẽ có thể hiển thị ra dạng text nếu bạn xem cấu hình trên router.
Một số vấn đề cần lưu ý khi thiết lập các mật khẩu telnet:
- Bạn cần đặt mật khẩu truy nhập vào mode priviledge của router nếu muốn các phiên telnet từ router có thể truy nhập vào mode này. Mặc định người dùng sẽ không vào được mode priviledge nếu không có mật khẩu trên mode này.
- Truy nhập bằng telnet nên chỉ giới hạn cho một số người sử dụng nhất định dùng câu lệnh access-class (sẽ nói rõ trong phần access-list).
- Bạn có thể thêm vào các line logic tiếp nhận các phiên telnet ngoài giá trị mặc định là từ 0-4 và nên đặt mật khẩu cho tất cả các line này.
Đặt mật khẩu cho cổng Auxiliary:
Theo mặc định cổng AUX (Auxiliary) không đòi hỏi mật khẩu cho các truy nhập từ xa. Người quản trị dùng cổng này để truy nhập cấu hình hay giám sát từ xa sử dụng kết nối modem.
Bạn không thể đặt mật khẩu ở line AUX ở setup mode mà chỉ có thể đặt mật khẩu ở line Aux, nếu bạn muốn ngăn chặn việc truy nhập vào mode priviledge (router#), bạn có thể dùng câu lệnh no exec :
Bước 1: cho phép các cuộc gọi modem vào và ra trên line này:
Boston (config)#line aux 0
Boston (config-line)#modem inout
Bước 2: đặc tả tốc độ đường line dùng để kết nối modem
Boston (config-line)#speed 9600
Bước 3: cho phép tất cả các giao thức có thể sử dụng trên đường line này:
Boston (config-line)#transport input all
Bước 4: đặc tả thông số điều khiển dòng dữ liệu với modem
Boston (config-line)#flowcontrol hardware
Bước 5: yêu cầu xác thực các kết nối đi vào line này với mật khẩu tương ứng
Boston (config-line)#login
Bước 6: đặt mật khẩu
Boston (config-line)#password vnpro
Mã hóa tất cả các mật khẩu hiện có trên router:
Trừ khi bạn đặt mật khẩu dùng câu lệnh enable secret, tất cả các mật khẩu trên router mặc định sẽ lưu ở dạng text trong cấu hình của router. Những mật khẩu này có thể được nhìn thấy nếu đọc file cấu hình của router. Các chương trình bắt gói cũng có thể bắt các thông tin chạy trên mạng đến các TFTP server và có thể xác định được các mật khẩu này.
Câu lệnh service password-encryption mã hóa tất cả các mật khẩu (ngoại trừ các mật khẩu đã được mã hoá bằng câu lệnh enable secret) trong file cấu hình trong router sử dụng một giải thuật riêng của Cisco dựa trên mật mã Vigenere (đại diện bằng số 7 khi xem nội dung của file cấu hình). Cách này được xem là không an toàn như dùng cách băm theo kiểu MD5 trong câu lệnh enable secret, nhưng sẽ ngăn chặn việc vô tình / cố ý xem các mật khẩu trong file cấu hình thiết bị. Cú pháp của câu lệnh này như sau:
router (config)#service password-encryption
(còn tiếp)
VnPro
Comment