Bảo vệ truy cập đến dấu nhắc lệnh CLI của các router và switch là một trong những bước đầu tiên trong bảo mật một hệ thống mạng dùng router và switch. Cisco cung cấp một vài cơ chế phù hợp để bảo vệ cho các thiết bị trong môi trường thực hành, cũng như là có rất nhiều đặc điểm giúp bảo vệ các thiết bị trong môi trường thật. Thêm vào đó, các đặc điểm xác thực có thể được dùng để kiểm tra các người dùng quay số dùng PPP. Phần đầu của chương này sẽ khảo sát vấn đề này.
Hình 21.1 cho thấy một vài chi tiết làm thế nào các người dùng có thể truy cập được dấu nhắc lệnh ở chế độ người dùng (user mode) của một router, sau đó chuyển sang chế độ đặc quyền (privilege mode hay enable mode) dùng lệnh enable.
Hình 21.1: Ba phương thức có thể truy cập được chế độ người dùng
Hình 21.1 mô tả 3 phương thức cơ bản để có thể truy cập được chế độ người dùng (user mode) trên một router. Cách thức trên cũng áp dụng cho các switch của Cisco chạy IOS, ngoại trừ một chi tiết là các Switch của Cisco không có cổng auxilary. IOS của Cisco có thể được cấu hình để sử dụng cơ chế bảo vệ bằng mật khẩu một cách đơn giản. Để thực hiện việc này, lệnh login trong chế độ line sẽ báo cho router hiện ra một dấu nhắc yêu cầu nhập mật khẩu, và lệnh password sẽ định nghĩa chính mật khẩu đó. Chế độ mà các lệnh này được cấu hình cũng sẽ ngầm định những phương thức truy cập nào sẽ đòi password.
Lệnh login và lệnh password ở dấu nhắc line con 0 sẽ báo router hiển thị ra dấu nhắc mật khẩu, lệnh password sẽ định nghĩa mật khẩu được dùng để kết nối vào cổng console.
line con 0
login
password fred
!
line vty 0 15
login
password barney
Các lệnh này được lưu trong cấu hình ở dạng không mã hoá (clear text) nhưng nó có thể được mã hóa lúc hiển thị bằng câu lệnh service password-encryption ở chế độ toàn cục (global config mode).
Lệnh service password-encryption sẽ làm cho tất cả các mật khẩu đang tồn tại trong cấu hình sẽ được mã hóa. Số “7” trong lệnh password có nghĩa là giá trị theo sau chính là mật khẩu đã được mã hóa do câu lệnh service password-encryption.
line con 0
password 7 05080F1C2243
login
line vty 0 4
password 7 00071A150754
login
Chú ý rằng khi lệnh service password-encryption được thêm vào cấu hình, tất cả các mật khẩu dạng không mã hoá trong cấu hình đều được hiển thị sang dạng mã hóa. Mật khẩu lưu trong tập tin startup-config sẽ không thay đổi cho đến khi lệnh copy running-config startup-config được dùng để lưu lại cấu hình. Ngoài ra, sau khi tắt cơ chế mã hóa mật khẩu này (bằng lệnh no service password-encryption), các mật khẩu sẽ không được tự động giải mã, thay vào đó, IOS của Cisco chờ một mật khẩu bị thay đổi trước khi hiển thị nó ở dạng không mã hóa.
Chú ý rằng thuật toán mã hóa được dùng bởi lệnh service password-encryption thì rất yếu. Các công cụ có sẵn trên mạng có thể giải mã dễ dàng. Thuật toán mã hóa là hữu ích để ngăn ngừa những người tò mò cố gắng truy vập vào router và switch. Cách thức này không ngăn ngừa hacker truy cập vào.
Mật khẩu được sử dụng bởi câu lệnh enable có thể được định nghĩa bởi một trong hai câu lệnh. Enable password pw hoặc câu lệnh enable secret pw. Nếu cả hai câu lệnh đều được cấu hình, lệnh enable exec chỉ chấp nhận mật khẩu được định nghĩa bởi câu lệnh enable secret.
Mật khẩu trong câu lệnh enable password cũng tuân theo cùng một luật như các login password, nghĩa là chỉ bị mã hóa nếu lệnh service password-encryption được cấu hình. Tuy nhiên, lệnh enable secret không bị ảnh hưởng bởi lệnh service password-encryption. Thay vào đó, nó luôn luôn được lưu trữ như là dạng MD5, dẫn đến khó bị bẻ khóa hơn. Ví dụ dưới đây mô tả cách IOS của Cisco thể hiện sự khác nhau tế nhị này trong cách thức mật khẩu được lưu trữ.
Lệnh enable password liệt kê giá trị 7 trong kết quả lệnh để chỉ ra một giá trị đã được mã hóa bởi câu lệnh service password-encryption. Lệnh enable secret liệt kê giá trị 5, chỉ ra một giá trị băm dạng MD5.
service password-encryption
!
enable secret 5 $1$GvDM$ux/PhTwSscDNOyNIyr5Be/
enable password 7 070C285F4D064B
Lệnh username name password password có một đặc điểm tương tự như lệnh enable secret. Lệnh service password-encryption mã hóa tất cả các mật khẩu được liệt kê trong câu lệnh username name password password; tuy nhiên, lệnh username name secret password dùng cùng thuật toán băm MD5 như lệnh enable secret để bảo vệ mật khầu tốt hơn. Và cũng giống như lệnh enable secret, số 5 được liệt kê trong câu lệnh cũng được lưu trữ trong cấu hình. Ví dụ như username barney secret 5 $1$oMnb$EGf1zE5QPip4UW7TTqQTR.