(Post 25/04/2008) Chúng ta có thể tìm thấy từ SOA (Service Oriented Architecture – Cấu trúc hướng dịch vụ) trong danh sách những chủ đề CNTT nổi bật nhất trong năm qua (đặc biệt trong lĩnh vực phần mềm như Oracle và BEA), nhưng trên thực tế, để hiểu tường tận khái niệm SOA mới mẻ này, đòi hỏi phải có một phương pháp luận mở tiếp cận cấu trúc CNTT.

Mô hình SOA minh họa

Khái niệm cơ bản về SOA

Có nhiều định nghĩa về SOA tùy theo quan điểm của mọi người. Theo tổ chức OASIS (Organization for the Advancement of Structured Information Standards – Tổ chức phát triển Chuẩn thông tin cấu trúc), một trong những tổ chức chuẩn quốc tế phát triển SOA, thì SOA được định nghĩa là “một cơ chế để tổ chức và sử dụng những tính năng phân tán dưới sự kiểm soát của nhiều miền sở hữu khác nhau”. Minh họa cụ thể cho cách thức hoạt động này là phòng hậu cần của một công ty tại Nhật Bản truy nhập một dịch vụ SOA từ một ứng dụng của đối tác sản xuất thuê ngoài của mình tại Trung Quốc, nhằm lấy những thông tin cập nhật nhất về đơn hàng sản phẩm cụ thể cho một khách hàng ở Ấn Độ.

Thực tế, khái niệm SOA không phải hoàn toàn mới. Cộng đồng CNTT đã từng thử hợp nhất các ứng dụng doanh nghiệp khác nhau rất nhiều lần. Những nỗ lực như EAI (Tích hợp ứng dụng doanh nghiệp – Enterprise Application Integration) và tích hợp giao dịch thương mại B2B cùng có mục tiêu giống nhau. Trong nhiều cách, những cố gắng trước đây đã được đăng ký sở hữu, tạo ra sự tích hợp cặp ứng dụng chặt chẽ. Nhưng trong thế giới luôn thay đổi ngày nay, điều này thường không đủ linh hoạt và thuận tiện.

Sau khi có sự ra đời của web như một chuẩn phổ biến cho cộng đồng trực tuyến, SOA mang lại bước đột phá lớn là sử dụng các giao thức chuẩn đã được triển khai rộng rãi – thường là các chuẩn dịch vụ web của Simple Object Access Protocol (SOAP), Universal Description, Discovery, and Integration (UDDI), và Web Services Description Language (WSDL) – cho phép khả năng liên tác giữa những ứng dụng phần mềm không đồng nhất, làm cho mọi tính năng phần mềm hoạt động trên dịch vụ web thích hợp với mọi ứng dụng khác ở mọi nơi trên thế giới như một “dịch vụ” phát sinh theo yêu cầu, mà không cần quan tâm đến địa điểm vật lý, ngôn ngữ lập trình của một hệ điều hành hoặc một hệ thống mạng gốc. Với việc đưa tính năng ứng dụng tới gần khả năng truy cập rộng rãi thông qua những định dạng thông điệp chuẩn, SOA có tiềm năng để mang tới giá trị kinh doanh và hiệu quả CNTT to lớn.

Những giả thuyết SOA cho hệ thống mạng

L.Peter Deutsch, nhà nghiên cứu máy tính nổi tiếng, đã viết cuốn sách”8 sự ảo tưởng về hệ thống điện toán phân tán”. Những giả thuyết đó là:

  1. Hệ thống mạng là đáng tin cậy.
  2. Độ trễ bằng 0.
  3. Băng thông là vô hạn.
  4. Hệ thống mạng an toàn.
  5. Cấu trúc mạng không thay đổi.
  6. Chỉ có một nhà quản trị.
  7. Phí truyền dẫn bằng 0.
  8. Hệ thống mạng là đồng nhất.

Mặc dù được Deutsch viết vào năm 1991 nhưng những vấn đề về ảo tưởng này có vẻ như vẫn có sự liên quan với khái niệm SOA “mới mẻ” ngày nay. SOA sử dụng dịch vụ web, về bản chất, là những ứng dụng phân tán. Khi thiết kế bất kỳ dịch vụ web nào, chúng ta cũng phải ý thức được 8 điểm này.

Hiện tại, có nhiều giả thuyết quan trọng đối với việc sử dụng nhiều dịch vụ web trên mạng:

  • Web hóa (webification) ứng dụng có nghĩa là tăng thêm 5-10 lần tải lưu lượng.
  • Trong một framework SOA, có thể có mặt ở bất kỳ đâu mà vẫn dễ dàng dùng web để truy cập. Những module khác nhau của các hệ thống cùng làm việc để thực hiện quy trình kinh doanh, điều này đồng nghĩa những mẫu lưu lượng mạng có thể khó dự đoán hơn và phân tán hơn so với những ứng dụng máy chủ – máy khách thông thường.
  • Các nhà quản lý mạng cần hỗ trợ SLA và QoS một cách đặc biệt đối với lưu lượng http/https của SOA và cô lập chúng khỏi những lưu lượng web thuần túy, chẳng hạn như lưu lượng phát sinh khi nhân viên truy nhập hộp thư webmail cá nhân của họ.
  • Dịch vụ SOA có thể được cung cấp bởi những đơn vị bên ngoài như ASP, hoặc bởi những đối tác kinh doanh. Hệ thống mạng cần được coi như là hệ thống điểm cuối – điểm cuối, nghĩa là không chỉ hệ thống mạng nội bộ mà cả “hệ thống mạng bên ngoài” bao gồm Internet công cộng (thông qua IPSec hoặc SSL).

Thông thường, ngân sách cho dự án SOA có thể chỉ bao gồm phần mềm và các máy chủ, nhưng như đã nhấn mạnh ở trên, thực tế còn có rất nhiều vấn đề cần phải kiểm thử. Do đó, bắt buộc cần phải có một kế hoạch tổng thể bao gồm nâng cấp hệ thống mạng (thiết bị định tuyến, bộ chuyển mạch switch, tường lửa và thiết bị tăng tốc ứng dụng) để hỗ trợ cho vận hành SOA.

Những vấn đề bảo mật trực tiếp

Việc triển khai SOA tại một doanh nghiệp đã trở nên phức tạp hơn khi sử dụng các dịch vụ web do các thể nhân bên ngoài cung cấp (như các nhà cung cấp và các đối tác kinh doanh). Cần phải xem xét một cách thấu đáo và cẩn thận khi triển khai sử dụng các dịch vụ mới nhất như giải pháp tường lửa, IDP, SSL VPN, phân tải SSL… để bảo mật môi trường SOA trong doanh nghiệp.

Bảo mật là một chủ đề khá rộng, trải dài từ các lớp mạng tới các thiết bị đầu cuối (máy chủ, PC người dùng cuối…) và hệ thống mạng. Trên thực tế, nếu chỉ một máy chủ ứng dụng được bảo mật thì không đủ để bảo vệ và đảm bảo khả năng luôn sẵn sàng cho các dữ liệu kinh doanh; không thể giải quyết mọi vấn đề mà doanh nghiệp phải đối mặt hàng ngày như đối phó với các hacker bên ngoài, các cuộc tấn công DOS, các cuộc tấn công dựa trên giao thức hay khai thác cổng hậu… (nhấn vào đây để tham khảo Top 10 vấn đề bảo mật ứng dụng web).

Rất cần thiết phải có biện pháp bảo mật đa lớp (các lớp ứng dụng và lớp mạng), và các biện pháp bảo mật tổng thể. Dưới đây là một số vấn đề trong chiến lược bảo mật quan trọng ở 4 lĩnh vực: hệ thống mạng, truy cập, thiết bị đầu cuối, và các trung tâm dữ liệu.

Bảo mật mạng

Điều đầu tiên chúng ta nghĩ về bảo mật mạng là về tường lửa. Tuy nhiên, bảo mật mạng truyền thống qua hệ thống tường lửa lớp 3/4 là cần thiết nhưng chưa đủ, bởi hầu hết các lưu lượng web hiện nay được thực hiện ở cổng 80/443 (cần dò tìm và bảo vệ sâu rộng lưu lượng ngay tại đây). Điều này cần được triển khai ở “lớp ứng dụng”, chẳng hạn như Tường lửa thông minh thế hệ mới với khả năng kiểm soát lớp ứng dụng/nội dung như dòng SSG của Juniper Networks, hay các thiết bị bảo mật lớp ứng dụng chuyên dụng như Thiết bị dò tìm và phòng chống xâm nhập (IDP) của Juniper Networks để hỗ trợ thiết bị tường lửa mạng nhằm bảo vệ tối ưu cho cả các lớp ứng dụng và lớp mạng. Những thiết bị này có thể dò tìm mẫu (các định dạng tấn công) hay những vấn đề bất thường (luồng giao dịch và/hay giao thức) mà những kẻ viết các phần mềm độc hại hay các mã độc tạo ra (ví dụ như các loại sâu) để khai thác các lỗ hổng ứng dụng, và sau đó có thể cô lập các cuộc tấn công này trước khi chúng đạt được mục đích. Tường lửa lớp ứng dụng có thể bảo vệ được nhiều loại ứng dụng dựa trên web hay những ứng dụng khách/chủ được tùy biến hoặc đóng gói.

Bảo mật truy cập

Truy cập từ xa là một thành phần quan trọng của ứng dụng doanh nghiệp. Những người dùng di động (bao gồm cả những nhân viên trong nội bộ, các nhà tư vấn, các đối tác kinh doanh hay các khách hàng) cần có những kết nối bảo mật và dễ dàng cấu hình tới các ứng dụng doanh nghiệp như các ứng dụng SOA qua mạng Internet. Việc kết nối tới các ứng dụng doanh nghiệp thông qua các mạng riêng ảo và mã hóa SSL đã trở thành một chuẩn cho truy cập bảo mật tới các ứng dụng phổ cập. Ngành CNTT đang chuyển sang chuẩn hóa Mạng riêng ảo dựa trên công nghệ lớp bảo mật gói (SSL VPN), giải pháp mang đến khả năng linh hoạt và kiểm soát tập trung tốt hơn nhiều. Sử dụng các giải pháp cổng SSL VPN mới nhất như dòng giải pháp SA, giải pháp bảo mật khách, kiểm soát truy cập cấp độ URL và kiểm soát file, ứng dụng tập trung SSL VPN của Juniper Networks có thể giúp các nhà quản trị kiểm soát một cách linh hoạt việc truy cập tới các ứng dụng dựa trên khả năng nhận dạng người dùng và việc đánh giá các công nghệ sử dụng điểm cuối máy khách như host checkers. Điều này cho phép các doanh nghiệp sử dụng SSL VPN để cung cấp truy cập bảo mật trong rất nhiều trường hợp sử dụng khác nhau như truy cập từ xa của nhân viên, truy cập ngoại vi của đối tác và khách hàng, hay những trường hợp khẩn cấp, xảy ra thảm họa.

Bảo mật Điểm cuối

Không chỉ các điểm cuối từ xa cần khả năng bảo vệ an toàn, mà các điểm cuối truy cập tới các ứng dụng SOA trong mạng nội bộ văn phòng cũng cần có những biện pháp bảo vệ phù hợp. Chẳng hạn, một số máy tính xách tay bị nhiễm virus có thể được các nhân viên trong văn phòng bán cho nhau và lọt qua tất cả các lớp phòng vệ vùng biên mạng. Những chiếc máy bị lây nhiễm này có thể khởi sự các cuộc tấn công tới các máy chủ web và có thể làm rối loạn các dịch vụ web trong hệ thống mạng.

Việc triển khai bảo mật điểm cuối không đầy đủ sẽ là nguyên nhân trực tiếp dẫn đến sự thành công của các mối đe dọa đột ngột hay sự tấn công ồ ạt của các loại sâu. Những lỗ hổng bảo mật này xuất hiện khi thiếu các biện pháp kiểm soát doanh nghiệp trực tiếp, hoặc chưa quan tâm đúng mức đến việc triển khai các chính sách bảo mật điểm cuối như bảo vệ chống virus được cập nhật, chống xâm nhập máy chủ trái phép, cấu hình phần cứng và phần mềm hợp lý hay giới hạn các tiến trình đang hoạt động…

Các hệ thống bảo mật ở góc độ máy khách như các giải pháp Kiểm soát Truy cập Hợp nhất (UAC) của Juniper cho phép các nhà quản lý bảo mật triển khai các sáng kiến tuân thủ với việc xác định vị trí của hệ thống mà một máy khách cần có thông tin, hay thậm chí tiến hành kiểm kê một hệ thống máy khách và kiểm soát truy cập tới các ứng dụng web dựa trên phần mềm bảo mật cần có được cài đặt và cập nhật. Các nhà quản trị mạng cũng cần có khả năng thiết lập các chính sách truy cập dựa trên việc phối hợp nhiều biện pháp khác nhau. Ví dụ, một người sử dụng được cấp phép từ phòng tài chính có thể được cấp phép truy cập đầy đủ tới ứng dụng tài chính Oracle, và những người sử dụng từ các phòng ban khác như marketing có thể bị từ chối truy cập tới ứng dụng đó ngay từ lớp mạng để phòng chống bất cứ cuộc tấn công nào có thể xảy ra hoặc dò tìm mật khẩu có chủ đích. Tính năng này rất có giá trị đối với các tổ chức “nhạy cảm về sự tuân thủ” và với những giao dịch mà dữ liệu cá nhân có thể được sử dụng để nhận dạng việc xâm nhập.

Bảo mật trung tâm dữ liệu

Bất kể bạn có sử dụng SOA hay không thì một điều rõ ràng là trung tâm dữ liệu của bạn vẫn cần sử dụng những công nghệ bảo mật thích hợp như tường lửa và IDP. Trong trường hợp SOA được sử dụng chủ yếu cho các giao dịch dịch vụ web thì sẽ cần có nhiều mã hóa SSL (https) hơn. Các máy chủ đơn thuần xử lý tất cả các kết nối SSL, nhưng thông thường, việc CPU quá tải xử lý cùng với việc mã hóa/giải mã và tiến hành những giao dịch SSL quan trọng khác gây ra tác động tiêu cực đối với việc sử dụng CPU, ảnh hưởng tới hiệu năng và tính khả mở. Các thiết bị phân tải SSL như DX của Juniper có thể giải quyết các vấn đề về tính khả mở và cung cấp mã hóa cho toàn bộ các giao dịch ứng dụng. Với những môi trường cần mã hóa tổng thể, các thiết bị SSL có thể mã hóa/giải mã các kết nối từ máy khách, nhưng cũng có thể tái mã hóa các kết nối tới các máy chủ cuối, những máy chủ quan trọng đối với các dịch vụ mạng khác, những dịch vụ cần dữ liệu dạng text rõ ràng cho hoạt động như các bộ cân bằng tải và các thiết bị thúc đẩy WAN.

Juniper Network
(theo Tạp chí Tin học Tài chính)

0981578920
icons8-exercise-96