Các gói dữ liệu truyền đến và đi từ các cổng mạng được đánh số gắn liền với các địa chỉ IP và điểm cuối cụ thể, bằng cách sử dụng giao thức TCP hoặc UDP. Tất cả các cổng đều có nguy cơ bị tấn công, không có cổng nào an toàn tuyệt đối cả.
Ông Kurt Muhl - chuyên gia tư vấn bảo mật hàng đầu của RedTeam giải thích rằng: "Mỗi cổng và dịch vụ cơ bản đều có rủi ro. Nguy cơ xuất phát từ phiên bản của dịch vụ, cho dù đã cấu hình nó một cách chính xác hoặc đặt mật khẩu cho dịch vụ, liệu mật khẩu đó đã đủ mạnh chưa? Các yếu tố khác bao gồm, cổng có bị hacker chọn để tấn công không, bạn có để lọt phần mềm độc hại qua cổng không. Nói tóm lại, có rất nhiều yếu tố quyết định đến sự an toàn của một cổng hoặc dịch vụ".
CSO kiểm tra tính rủi ro của cổng mạng dựa trên các ứng dụng, lỗ hổng và các cuộc tấn công liên quan, cung cấp nhiều cách tiếp cận để bảo vệ doanh nghiệp khỏi những hacker nguy hiểm lạm dụng các lỗ hổng này.
Điều gì làm cho các cổng mạng trở nên nguy hiểm?
Có tổng cộng 65.535 cổng TCP và 65.535 cổng UDP khác, chúng ta sẽ xem xét một số cổng nguy hiểm nhất. Cổng TCP 21 kết nối các máy chủ FTP với Internet. Các máy chủ FTP này có nhiều lỗ hổng lớn như khả năng xác thực ẩn danh, directory traversal, cross-site scripting, khiến cổng 21 trở thành mục tiêu lý tưởng cho các hacker.
Trong khi một số dịch vụ dễ bị tấn công vẫn đang tiếp tục sử dụng tiện ích, thì dịch vụ cũ như Telnet trên cổng TCP 23 căn bản đã không an toàn ngay từ đầu. Mặc dù băng thông của nó rất nhỏ, chỉ vài byte tại một thời điểm, Telnet gửi dữ liệu hoàn toàn công khai trong văn bản rõ ràng. Austin Norby - nhà khoa học máy tính tại Bộ Quốc Phòng Hoa Kỳ cho hay: "Những kẻ tấn công có thể lắng nghe, xem các chứng chỉ, chèn lệnh qua các cuộc tấn công [man-in-the-middle] và cuối cùng là thực hiện Remote Code Executions (RCE)". (Đây là ý kiến của riêng ông, không đại diện cho quan điểm của bất kì cơ quan nào).
Trong khi một số cổng mạng tạo lỗ hổng thuận lợi cho kẻ tấn công xâm nhập vào, thì lại có những cổng khác tạo ra những lối thoát hoàn hảo. Cổng TCP/UDP 53 cho DNS là một ví dụ. Khi xâm nhập vào mạng và đã đạt được mục đích, tất cả những việc hacker cần làm để lấy dữ liệu ra khỏi đó là sử dụng phần mềm sẵn có để biến dữ liệu thành lưu lượng DNS. Ông Norby cho hay: "DNS hiếm khi bị giám sát và hiếm khi bị lọc". Khi các kẻ tấn công lấy cắp dữ liệu ra khỏi doanh nghiệp an toàn, chúng chỉ cần gửi dữ liệu qua máy chủ DNS được thiết kế đặc biệt để dịch dữ liệu về trạng thái gốc của nó.
Các cổng càng được sử dụng nhiều thì càng dễ để tấn công lén vào tất cả các gói tin khác. Cổng TCP 80 cho HTTP hỗ trợ traffic web mà trình duyệt nhận được. Theo Norby, những cuộc tấn công vào các web client qua cổng 80 gồm các kiểu hack SQL injection, cross-site request forgery, cross-site scripting và làm tràn bộ nhớ đệm.
Những kẻ tấn công sẽ thiết lập dịch vụ của chúng trên các cổng riêng biệt. Chúng sử dụng cổng TCP 1080 - dùng cho socket bảo vệ các proxy "SOCKS", trong việc hỗ trợ các hoạt động và phần mềm độc hại. Các Trojan horse và worm như Mydoom và Bugbear đã từng sử dụng cổng 1080 trong các cuộc tấn công. Norby cho biết: Nếu một quản trị viên mạng không thiết lập proxy SOCKS thì sự tồn tại của nó chính là một mối nguy hại.
Khi các hacker gặp khó khăn, chúng sẽ sử dụng số cổng có thể ghi nhớ dễ dàng, chẳng hạn như chuỗi số 234, 6789, hoặc cùng một số như 666 hay 8888. Một số phần mềm Backdoor và Trojan horse mở và sử dụng cổng TCP 4444 để nghe, giao tiếp, chuyển tiếp các lưu lượng độc hại từ bên ngoài và gửi các payload độc hại. Một số phần mềm độc hại khác cũng sử dụng cổng này bao gồm Prosiak, Swift Remote và CrackDown.
Web traffic không chỉ sử dụng cổng 80. HTTP traffic cũng sử dụng các cổng TCP 8080, 8088 và 8888. Những máy chủ kết nối với các cổng này chủ yếu là các box cũ không được quản lý và bảo vệ, làm cho lỗ hổng bảo mật ngày càng tăng theo thời gian. Máy chủ trên các cổng này cũng có thể là proxy HTTP, nếu các quản trị viên mạng không cài đặt chúng, proxy HTTP có thể trở thành mối lo ngại về bảo mật trong hệ thống.
Những kẻ tấn công Elite đã sử dụng các cổng TCP và UDP 31337 cho backdoor nổi tiếng - Back Orifice và các chương trình phần mềm độc hại khác. Trên cổng TCP có thể kể đến như: Sockdmini, Back Fire, icmp_pipe.c, Back Orifice Russian, Freak88, Baron Night và BO client, ví dụ trên cổng UDP là Deep BO. Trong "leetspeak" - ngôn ngữ sử dụng chữ cái và số thì 31337 là "eleet", nghĩa là Elite.
Mật khẩu yếu có thể làm cho SSH và cổng 22 bị tấn công dễ dàng. Theo David Widen - kĩ sư hệ thống tại BoxBoat Technologies: Cổng 22 - cổng Secure Shell cho phép truy cập vào các shell từ xa trên phần cứng máy chủ dễ bị tấn công, bởi ở đây thông tin xác thực thường là tên người dùng và mật khẩu mặc định, dễ đoán. Mật khẩu ngắn, có ít hơn 8 kí tự, sử dụng các cụm từ quen thuộc với một chuỗi các con số quá dễ đoán đối với những kẻ tấn công.
Hacker vẫn đang tấn công IRC chạy trên các cổng 6660 thông qua 6669. Widen cho hay: Tại cổng này có rất nhiều lỗ hổng IRC, chẳng hạn như Unreal IRCD cho phép kẻ tấn công thực hiện các thao tác tấn công từ xa, nhưng thường là những tấn công bình thường, không có nhiều giá trị.
Một số cổng và giao thức cho phép kẻ tấn công tiếp cận nhiều hơn. Ví như cổng UDP 161 đang thu hút kẻ tấn công bởi giao thức SNMP, hữu ích cho việc quản lý các máy tính nối mạng, thăm dò thông tin và gửi traffic qua cổng này. Muhl giải thích: SNMP cho phép người dùng truy vấn máy chủ để lấy tên người dùng, file chia sẻ trên mạng và nhiều thông tin khác. SNMP thường đi kèm các chuỗi mặc định có hoạt động như mật khẩu.
Bảo vệ các cổng, dịch vụ và các lỗ hổng
Theo Widen, doanh nghiệp có thể bảo vệ giao thức SSH bằng cách sử dụng xác thực khóa công khai, vô hiệu hóa đăng nhập khi root và di chuyển SSH đến số cổng cao hơn để những kẻ tấn công không thể tìm ra nó. Nếu một người sử dụng kết nối tới SSH trên số cổng cao như 25.000, sẽ rất khó để kẻ tấn công xác định được bề mặt tấn công của dịch vụ SSH.
Nếu doanh nghiệp của bạn chạy IRC, hãy bật firewall bảo vệ nó. Widen cũng nói thêm: Đừng cho phép bất kì traffic nào từ bên ngoài mạng đến gần dịch vụ IRC. Chỉ cho phép người dùng VPN vào mạng để sử dụng IRC.
Số cổng lặp lại và đặc biệt là chuỗi các số hiếm khi thể hiện việc sử dụng hợp lý các cổng. Norby cho biết: Khi bạn thấy các cổng này đang được sử dụng, phải đảm bảo chúng đã được xác thực. Theo dõi và lọc DNS để tránh bị rò rỉ và ngừng sử dụng Telnet đồng thời đóng cổng 23 lại.
Việc bảo mật trên tất cả các cổng mạng phải bao gồm phòng thủ về chiều sâu. Norby cho hay: Đóng tất cả những cổng mà bạn không sử dụng, dùng host-based firewall trên tất cả máy chủ, chạy network-based firewall mới nhất, theo dõi và lọc traffic qua cổng. Thực hiện quét cổng mạng thường xuyên để đảm bảo không có bất kỳ lỗ hổng nào bị bỏ sót trên cổng. Đặc biệt chú ý tới các proxy SOCKS hoặc bất kì dịch vụ nào khác mà bạn chưa thiết lập. Vá, sửa chữa và củng cố bất kì thiết bị, phần mềm hay dịch vụ nào được kết nối với cổng mạng cho đến khi không còn lỗ hổng nào trong mạng của bạn. Chủ động khi các lỗ hổng mới xuất hiện trong phần mềm (cả cũ và mới) mà các kẻ tấn công có thể tiếp cận thông qua các cổng mạng.
MuHl cho biết: Sử dụng bản cập nhật mới nhất cho bất kì dịch vụ nào mà bạn hỗ trợ, cấu hình nó một cách hợp lý và sử dụng mật khẩu mạnh, danh sách kiểm soát truy cập sẽ giúp bạn hạn chế những người có thể kết nối tới các cổng và dịch vụ. Ông cũng nói thêm rằng: Nên kiểm tra các cổng và dịch vụ thường xuyên. Khi bạn sử dụng các dịch vụ như HTTP và HTTPS, bạn có thể tùy chỉnh rất nhiều, dễ dẫn đến cấu hình sai và tạo ra lỗ hổng bảo mật.
Bến đỗ an toàn cho các cổng rủi ro
Các chuyên gia đã đưa ra các danh sách cổng khác nhau có nguy cơ rủi ro cao dựa trên các tiêu chí khác nhau như loại hoặc mức độ nghiêm trọng của các mối đe dọa gắn liền với mỗi cổng hoặc mức độ tổn hại của các dịch vụ trên các cổng nhất định. Nhưng đến nay vẫn chưa có danh sách nào đầy đủ cả. Để nghiên cứu thêm, bạn có thể bắt đầu với các danh sách trên SANS.org, SpeedGuide.net và GaryKessler.net.
Bài viết lược dịch từ "Securing risky network ports" được xuất bản bởi CSO.