Cân nhắc về bảo mật khi triển khai các ứng dụng cơ sở hạ tầng dưới dạng dịch vụ (IaaS) trên Azure
13 June, 2023

Cân nhắc về bảo mật khi triển khai các ứng dụng cơ sở hạ tầng dưới dạng dịch vụ (IaaS) trên Azure

Với sự phát triển của đám mây, việc triển khai các ứng dụng cơ sở hạ tầng dưới dạng dịch vụ trên Azure đã trở nên phổ biến hơn bao giờ hết. Tuy nhiên, điều này cũng đặt ra những thách thức về bảo mật cho doanh nghiệp.

Việc triển khai các ứng dụng cơ sở hạ tầng dưới dạng dịch vụ (IaaS) trên Azure đòi hỏi doanh nghiệp phải quan tâm đến nhiều yếu tố bảo mật hơn. Bài viết này sẽ giúp quản trị viên hiểu rõ hơn về các cấu trúc tham chiếu tập trung vào bảo mật dữ liệu trên nền tảng Azure.

Góc nhìn tổng quan về Azure Virtual Machine (Azure VM)

Azure Virtual Machine (Azure VM) là một dịch vụ cung cấp máy chủ ảo trên nền tảng Azure. Mỗi Azure VM đều cung cấp những phần cứng ảo riêng biệt  bao gồm: CPUs, RAM, Disk, Network Interfaces và các thành phần khác. Mỗi điểm kết nối mạng trong Azure đều chạy một chương trình hypervisor trên phần cứng vật lý và tạo ra các máy ảo Hyper-V trong đó.

Nhằm đảm bảo tính bảo mật cho các máy ảo trên Azure, doanh nghiệp có thể sử dụng Microsoft Defender for Cloud để quản lý, triển khai và giám sát. Tuy nhiên, tổ chức cũng có thể tự quản lý hoặc sử dụng các công cụ bảo mật từ bên thứ 3. 

Ngoài ra, Microsoft cũng cung cấp dịch vụ Distributed Denial of Service (DDoS) như một phần trong nền tảng Azure. Nếu các ứng dụng của tổ chức có điểm cuối công khai, quản trị viên có thể sử dụng Standard Azure DDoS Protection để tăng cường sự bảo vệ.

Tuy nhiên, các dữ liệu cực kỳ quan trọng thường không có điểm cuối công khai và chỉ có thể truy cập từ các vị trí cụ thể thông qua một VPN. Điều này đảm bảo rằng chỉ có những người được ủy quyền mới có thể truy cập vào các khối công việc và bảo vệ chúng khỏi các cuộc tấn công mạng.

 

Azure Virtual Machine cung cấp máy chủ ảo Azure cho tổ chức
Azure Virtual Machine cung cấp máy chủ ảo Azure cho tổ chức

Kiến trúc phân lớp N-tier Architectures

Các ứng dụng IaaS có nhiều lớp, gồm: lớp web, lớp kinh doanh và lớp dữ liệu… được lưu trữ trên nhiều máy chủ ảo. Khi triển khai kiến trúc phân lớp N-tier Architectures trên máy ảo Azure, doanh nghiệp cần quan tâm đến các yếu tố sau: 

  • Tính ứng dụng cao (HA): Các ứng dụng HA phải có tính khả dụng hơn 99.9% thời gian. Việc đặt các máy ảo cùng bậc trong những vùng khả dụng Azure (AZ) khác nhau sẽ đảm bảo tăng cường tính khả dụng hơn. Bởi các AZ trải rộng trên một hoặc nhiều trung tâm dữ liệu thường có khả năng chống lại sự cố và phục hồi dữ liệu. 
  • Cân bằng tải: Load Balancers phân phối lưu lượng truy cập giữa các máy ảo nhằm cân bằng tải và phục hồi khi một máy ảo gặp sự cố. 
  • Mạng ảo: Virtual Networks cho phép doanh nghiệp quản lý bảo mật dễ dàng hơn.
  • Hệ thống tên miền (DNS): Azure DNS cung cấp dịch vụ DNS an toàn và có sẵn. 

 

Triển khai kiến trúc phân lớp trong tổ chức
Triển khai kiến trúc phân lớp trong tổ chức

Sao lưu và khôi phục dữ liệu với Azure Backup

Để hạn chế sai sót của nhân sự trong bảo mật và các cuộc tấn công mã độc tống tiền, doanh nghiệp cần sao lưu máy ảo chứa dữ liệu quan trọng với Azure Backup. Đây là một dịch vụ sao lưu và phục hồi dữ liệu được cung cấp bởi Microsoft Azure.

Doanh nghiệp có thể sử dụng các quy tắc tự động điều chỉnh quy mô máy ảo để hủy các máy ảo bị xâm nhập và triển khai các phiên bản mới. 

 

Tầm quan trọng của việc sao lưu dữ liệu
Tầm quan trọng của việc sao lưu dữ liệu

Cô lập máy chủ ảo với Compute isolation

Compute isolation là một tính năng quan trọng của Microsoft Azure, giúp đảm bảo các máy ảo được cô lập hoàn toàn và không thể truy cập vào máy chủ vật lý.

Khi sử dụng tính năng này, mã nguồn của người dùng chỉ được thực thi trên máy ảo, giúp ngăn chặn việc truy cập vào các tài nguyên hệ thống dưới dạng đọc, ghi hoặc thực thi trực tiếp trên máy chủ vật lý.

Azure cũng bảo vệ tổ chức khỏi tất cả các cuộc tấn công side-channel và tình trạng tiếng ồn của những máy ảo thông qua hypervisor và một thuật toán triển khai VM tiên tiến.

Nếu doanh nghiệp có những công việc cực kỳ quan trọng và cần được bảo vệ khỏi các cuộc tấn công side-channel, quản trị viên toàn cầu có thể cân nhắc sử dụng isolated VMs

Máy ảo cô lập Isolated VMs

Isolated VMs là các máy ảo cô lập được cung cấp bởi Microsoft Azure, đảm bảo cho VM của tổ chức chỉ chạy trên một máy chủ cụ thể và không bị chia sẻ tài nguyên với các VM khác.

Kích thước tối thiểu của một VM cô lập là rất lớn, với 64 lõi CPU ảo và 256 GB bộ nhớ. Do đó, nó có thể tạo ra một khoản chi phí khổng lồ. Tuy nhiên, doanh nghiệp cũng có thể giảm chi phí bằng cách chạy nhiều ứng dụng trên cùng một VM.

Bên cạnh đó, doanh nghiệp vẫn cần triển khai các VM khác nhau trong nhiều khu vực khác nhau để đảm bảo tính sẵn sàng và chạy thiết bị DMZ trên các VM riêng biệt.

Azure Dedicated Hosts

Azure Dedicated Hosts là giải pháp cách ly điện toán được sử dụng đối với các công việc yêu cầu tính bảo mật cao của Microsoft Azure. Máy chủ chuyên dụng là một máy chủ vật lý dành riêng cho một khách hàng, đảm bảo tính riêng tư và cô lập tuyệt đối cho các máy ảo. 

Máy chủ chuyên dụng có nhiều yêu cầu kích thước tối thiểu tương tự như các loại máy ảo khác. Một máy chủ chuyên dụng có thể lưu trữ nhiều máy ảo nằm trong các mạng ảo khác nhau. Tuy nhiên, để đảm bảo tính an toàn và bảo mật của hệ thống, doanh nghiệp tốt nhất vẫn nên chạy các máy ảo (DMZ) trên một máy chủ riêng biệt để ngăn chặn các cuộc tấn công an ninh mạng.

Ứng dụng cơ sở hạ tầng dưới dạng dịch vụ trong mã hóa dữ liệu

Mã hóa là một bước quan trọng để đảm bảo an toàn cho dữ liệu tổ chức trong quá trình làm việc. Mã hóa giúp bảo vệ thông tin bằng việc chỉ cho phép người được ủy quyền mới có thể giải mã thông tin đó bằng cách sử dụng khóa hoặc chứng chỉ.

Các phương pháp mã hóa được nhiều doanh nghiệp sử dụng, bao gồm: mã hóa ổ đĩa (để mã hóa dữ liệu khi lưu trữ) và bảo mật mức truyền tải (để mã hóa thông tin khi truyền qua mạng).

 

Mã hóa là bước cơ bản giúp bảo mật dữ liệu tốt hơn
Mã hóa là bước cơ bản giúp bảo mật dữ liệu tốt hơn

Azure Key Vault

Azure Key Vault là là một giải pháp bảo mật phần cứng (HSM) điện toán đám mây được cung cấp bởi Microsoft Azure. Bằng cách lưu trữ khóa và chứng chỉ trong Azure Key Vault, doanh nghiệp có thể bảo vệ chúng một cách an toàn. Để đảm bảo tính bảo mật của hệ thống, chỉ những ứng dụng và người dùng được ủy quyền mới được phép truy cập Key Vault.

Nhằm bảo vệ các khóa trong Key Vault, quản trị viên có thể kích hoạt tính năng Soft Delete để đảm bảo rằng khóa bị xóa vẫn có thể phục hồi. Ngoài ra, tổ chức cũng có thể sao lưu các khóa riêng lẻ vào một tệp được mã hóa tăng để cường hiệu quả bảo mật . 

Khi lưu trữ SQL Server trên một VM, tổ chức có thể sử dụng SQL Server Connector for Microsoft Azure Key Vault để lấy khóa cho mã hóa dữ liệu trong suốt (TDE), mã hóa cấp cột (CLE) và mã hóa sao lưu.

Azure Disk Encryption

Azure Disk Encryption sử dụng phương thức bảo vệ khóa BitLocker để cung cấp mã hóa cho các đĩa hệ thống và dữ liệu trong các máy ảo Azure. Bên cạnh đó, Azure Disk Encryption có thể tích hợp với Azure Key Vault để giúp người dùng kiểm soát, quản lý các khóa bí mật và mã hóa đĩa. 

Mỗi máy ảo tạo ra các khóa mã hóa riêng của nó và lưu trữ chúng trong Azure Key Vault. Để kích hoạt Azure Disk Encryption, người dùng có thể tham khảo hướng dẫn Tạo và cấu hình khoá vô tuyến cho Mã hóa đĩa Azure.

Với công việc yêu cầu bảo mật cao, người dùng nên sử dụng khoá mã hóa (KEK) để bao bọc các dữ liệu bí mật trước khi ghi vào Key Vault. 

Để tạo ra một KEK, doanh nghiệp có thể dùng Azure Key Vault. Tuy nhiên, nên áp dụng phương pháp an toàn hơn đó là tạo ra một khóa trong HSM trên nơi lưu trữ và nhập nó vào Azure Key Vault. Điều này giúp đảm bảo rằng các khoá mã hóa được bảo vệ một cách toàn vẹn và không thể rời khỏi ranh giới của HSM. 

Bằng việc tạo ra khoá trong HSM, người dùng có thể hoàn toàn kiểm soát các khóa mã hóa và đảm bảo tính bảo mật cao nhất cho dữ liệu của doanh nghiệp.

Mã hóa dữ liệu trên Internets

Các giao thức mạng như HTTPS sử dụng chứng chỉ để mã hóa dữ liệu trong quá trình truyền tải. Thông thường, để truy cập từ máy khách, nhân sự chỉ có thể sử dụng một chứng chỉ từ một đơn vị cung cấp (CA) đáng tin cậy. Các ứng dụng nội bộ có thể sử dụng chứng chỉ từ một CA nội bộ hoặc một CA công khai như DigiCert hoặc GlobalSign. Dĩ nhiên, Azure Key Vault có thể chứa bất kỳ loại nào trong số các chứng chỉ kể trên. 

Azure Key Vault có thể hoạt động như một CA chứng chỉ tự ký cho giao tiếp giữa các cấp độ khác nhau trong hệ thống. Phần mở rộng VM của Key Vault cung cấp tính năng giám sát và tự động làm mới các chứng chỉ được chỉ định trên VM, có hoặc không có khóa riêng tùy thuộc vào trường hợp sử dụng.

An ninh mạng

An ninh mạng (NSG) trong mạng ảo Azure là một công cụ quan trọng để lọc lưu lượng truy cập giữa các tài nguyên trong mạng. NSG sử dụng các quy tắc bảo mật để cho phép hoặc từ chối các lưu lượng truy cập dựa trên địa chỉ IP và cổng. 

Để đảm bảo an toàn tuyệt đối, doanh nghiệp có thể thêm một quy tắc tùy chỉnh có mức độ ưu tiên thấp nhất để chặn tất cả lưu lượng truy cập vào và ra khỏi hệ thống. Sau đó thêm các quy tắc bảo mật có mức độ ưu tiên cao hơn để cho phép các lưu lượng truy cập cụ thể.

 

Lọc lưu lượng truy cập từ bên ngoài nhờ NSG
Lọc lưu lượng truy cập từ bên ngoài nhờ NSG

NSG tạo các bản ghi luồng để duy trì trạng thái kết nối giữa các tài nguyên trong mạng và quyết định cấp phép hoặc từ chối giao tiếp dựa trên các bản ghi luồng này. Tổ chức có thể chỉ định quy tắc bảo mật gửi đi cho bất kỳ địa chỉ nào qua cổng 443 và không cần chỉ định quy tắc bảo mật gửi đến cho phản hồi.

Hầu hết các dịch vụ Azure đều cho phép doanh nghiệp sử dụng thẻ dịch vụ mạng ảo thay vì NSG. Thẻ dịch vụ mạng ảo là một công cụ khác để kiểm soát an ninh mạng. Chúng đại diện cho một nhóm tiền tố địa chỉ IP từ dịch vụ Azure và giúp giảm thiểu sự phức tạp từ các bản cập nhật quy tắc bảo mật mạng thường xuyên. Thẻ dịch vụ mạng ảo Azure Key Vault cho phép máy ảo truy xuất chứng chỉ và khóa bảo mật.

Ngoài NSG và thẻ dịch vụ mạng ảo, định tuyến lưu lượng mạng ảo là một cách khác giúp doanh nghiệp kiểm soát an ninh mạng. Azure tự động tạo các tuyến hệ thống và chỉ định các tuyến cho từng mạng con trong mạng ảo. Định tuyến tùy chỉnh cho phép doanh nghiệp định tuyến lưu lượng truy cập qua thiết bị ảo mạng (NVA) như tường lửa, proxy hoặc giảm lưu lượng truy cập không mong muốn.

Doanh nghiệp còn có thể sử dụng NVA như tường lửa Azure nhằm cho phép, chặn và kiểm tra lưu lượng mạng. Để tăng cường hiệu quả hoạt động của các NVA này, tổ chức nên xem xét triển khai các thiết bị ảo mạng có tính sẵn sàng cao.

Nhóm bảo mật ứng dụng

Nhóm bảo mật ứng dụng (ASG) là một công cụ quan trọng để bảo mật lưu lượng truy cập giữa các tầng ứng dụng trong mạng ảo. ASG cho phép người dùng cấu hình bảo mật mạng theo cách tự động, dựa trên cấu trúc ứng dụng để nhóm các máy ảo và xác định chính sách bảo mật mạng dựa trên các nhóm đó. Điều này giúp tổ chức có thể kiểm soát lưu lượng truy cập giữa các máy ảo, đồng thời giảm thiểu sự phức tạp của việc duy trì địa chỉ IP thủ công.

ASG cho phép phân đoạn vi mô bằng cách áp dụng chính sách bảo mật trên giao diện mạng thay vì trên mạng con, giúp tổ chức kiểm soát chặt chẽ các máy ảo có thể giao tiếp với nhau. Doanh nghiệp thậm chí còn có thể chặn lưu lượng truy cập giữa các máy ảo trong cùng một tầng và dễ dàng cách ly một máy ảo bằng cách xóa ASG khỏi máy ảo đó.

Mạng kết hợp

Mạng kết hợp cho phép kết nối giữa mạng nội bộ doanh nghiệp và các đám mây công cộng như Azure. Dưới đây là một số cách thực hiện:

Kết nối công khai qua Internet: Cho phép kết nối một ứng dụng trên Azure với mạng nội bộ của doanh nghiệp thông qua Internet công khai. Bảo mật được đảm bảo thông qua việc sử dụng các công nghệ như nhận dạng, bảo mật cấp độ vận chuyển (HTTPS), cổng ứng dụng, tường lửa… Tuy nhiên, phương pháp này không phù hợp với các công việc yêu cầu tính bảo mật cao.

 

Mạng kết hợp nội bộ doanh nghiệp
Mạng kết hợp nội bộ doanh nghiệp

Sử dụng cổng VPN của Azure hoặc bên thứ ba: Giúp kết nối mạng nội bộ với Azure thông qua Internet công khai nhưng với mức độ bảo mật cao hơn. Lưu lượng đi qua Internet đều được mã hóa sử dụng TLS. Nếu cổng VPN của Azure không đáp ứng được các yêu cầu cụ thể, tổ chức có thể sử dụng cổng của bên thứ ba.

Kết nối ExpressRoute: Sử dụng một kết nối riêng tư và được cung cấp bởi bên thứ ba, phương pháp này mở rộng mạng nội bộ của doanh nghiệp vào Azure. 

  • ExpressRoute với chuyển đổi dự phòng VPN: Tùy chọn này sử dụng ExpressRoute trong điều kiện bình thường, nhưng không kết nối được với kết nối VPN nếu mất kết nối trong mạch ExpressRoute, mang lại tính khả dụng cao hơn.
  • VPN qua ExpressRoute là phương pháp bảo mật tốt nhất đối với các công việc cần độ bảo mật cao hơn. Nó cung cấp một mạch riêng với khả năng mở rộng và độ tin cậy thông qua ExpressRoute, kết hợp với một lớp bảo vệ bổ sung thông qua VPN Termination trong một mạng ảo Azure cụ thể.

Triển khai DMZ

Kết nối các môi trường Azure cho phép người dùng tại chỗ truy cập vào các ứng dụng trên nền tảng này. DMZ hỗ trợ tăng cường tình năng bảo mật đối với các khối lượng công việc cực kỳ quan trọng. 

Kiến trúc mạng DMZ giữa Azure và trung tâm dữ liệu tại chỗ triển khai tất cả DMZ và các dịch vụ ứng dụng trong cùng một mạng ảo, với các quy tắc NSG và các tuyến đường được xác định bởi người dùng để cô lập các mạng con DMZ và ứng dụng. 

Kiến trúc này có thể làm cho mạng quản lý có sẵn thông qua internet công cộng để quản lý các ứng dụng ngay cả khi cổng tại chỗ không khả dụng. Tuy nhiên, đối với các khối lượng công việc cực kỳ nhạy cảm, doanh nghiệp chỉ nên cho phép bỏ qua cổng trong trường hợp khẩn cấp. Một giải pháp tốt hơn là sử dụng Azure Bastion, cho phép truy cập trực tiếp từ cổng Azure với việc giới hạn các địa chỉ IP công cộng.

Doanh nghiệp cũng có thể sử dụng Just-In-Time (JIT) truy cập VM cho việc quản lý từ xa trong khi giới hạn các địa chỉ IP công cộng. Với JIT VM access, một NSG mặc định sẽ chặn các cổng quản lý từ xa như giao thức remote desktop protocol (RDP) và secure shell (SSH). 

Khi được yêu cầu, JIT VM access có thể cho phép mở cổng chỉ trong một khoảng thời gian nhất định, một địa chỉ IP hoặc một phạm vi cụ thể. JIT access cũng hoạt động cho các VM chỉ có địa chỉ IP riêng tư. Theo đó, tổ chức có thể sử dụng Azure Bastion để chặn lưu lượng truy cập đến VM cho đến khi JIT VM access được kích hoạt.

Để triển khai thêm các ứng dụng khác, quản trị viên có thể sử dụng mô hình mạng hub-spoke trên Azure với DMZ trong mạng ảo hub và các ứng dụng trong các mạng ảo. Mạng ảo hub có thể chứa cổng VPN và/hoặc ExpressRoute, tường lửa NVA, máy chủ quản lý, cơ sở hạ tầng định danh và các dịch vụ chia sẻ khác.

Một mạng ảo Azure không cho phép định tuyến chuyển tiếp qua hub từ một spoke sang spoke khác. Lưu lượng từ spoke sang spoke chỉ có thể thông qua các thiết bị tường lửa trong hub. Kiến trúc này rất hiệu quả trong việc cô lập các ứng dụng với nhau.

Quản lý và quản trị

Để bảo vệ các ứng dụng IaaS nhạy cảm, doanh nghiệp cần làm nhiều bước hơn thay vì chỉ việc triển khai đúng kiến trúc và quy tắc bảo mật mạng. Môi trường đám mây thường thay đổi nhanh chóng, vì vậy điều quan trọng là giới hạn quyền và thực hiện các thay đổi trong phạm vi chính sách bảo mật. 

Ví dụ: Doanh nghiệp cần ngăn chặn các tác nhân độc hại thay đổi quy tắc bảo mật mạng để truy cập các ứng dụng từ internet.

Để triển khai khối lượng công việc trong Azure, doanh nghiệp cần có một hoặc nhiều tài khoản quản lý. Bảo mật tài khoản quản lý là rất quan trọng để đảm bảo khối lượng công việc của tổ chức. Để biết thêm thông tin, hãy xem Quyền truy cập đặc quyền an toàn cho triển khai kết hợp và đám mây trong Azure AD.

 

Quyền quản trị và quản lý trên nền tảng đám mây Azure
Quyền quản trị và quản lý trên nền tảng đám mây Azure

Để quản lý quyền truy cập vào các ứng dụng trong nội bộ tổ chức, hãy sử dụng tài nguyên trong mạng con quản lý và chỉ cấp quyền cho những người cần thiết. Microsoft Identity Manager có thể được sử dụng với Azure Active Directory để thực hiện điều này. Tuy nhiên, nếu doanh nghiệp di chuyển lên đám mây, Azure AD Privileged Identity Management (PIM) được coi là phương pháp ưu tiên hơn.

Một số giải pháp kiểm soát vai trò và chính sách của Azure

  • Kiểm soát truy cập dựa trên vai trò Azure (Azure RBAC): Azure RBAC cho phép kiểm soát truy cập vào các tài nguyên Azure bằng cách chỉ định vai trò tùy chỉnh hoặc có sẵn cho người dùng. Bằng cách kết hợp Azure RBAC với PIM, doanh nghiệp có thể triển khai các quy trình phê duyệt nhằm tăng cường đặc quyền truy cập trong một khoảng thời gian giới hạn. 
  • Chính sách Azure: Giúp xác định, quản lý, tuân thủ các chính sách, tiêu chuẩn và SLA của công ty. Với Azure Policy, doanh nghiệp có thể đánh giá các tài nguyên hiện có của mình nhằm đảm bảo tuân thủ các chính sách. Tổ chức có thể tạo các chính sách tùy chỉnh hoặc sử dụng các chính sách có sẵn để đảm bảo rằng các tài nguyên của doanh nghiệp tuân thủ các quy định và tiêu chuẩn chung.
  • Azure Blueprints: Giúp xác định tập hợp các tài nguyên Azure có thể sao chép và triển khai để tuân theo các tiêu chuẩn, mẫu và yêu cầu của tổ chức. Bằng cách kết hợp phân công vai trò, phân công chính sách và các mẫu triển khai, tổ chức có thể tạo bản thiết kế để triển khai các tài nguyên theo yêu cầu.

Giám sát

Bộ bảo vệ Microsoft cho đám mây cung cấp khả năng giám sát và cảnh báo giúp duy trì tính bảo mật cho môi trường đám mây của doanh nghiệp. Dịch vụ miễn phí tự động kiểm tra các lỗ hổng bảo mật cơ bản, bao gồm các bản vá hệ điều hành bị thiếu và cấu hình sai. 

Ngoài ra, tổ chức còn có thể sử dụng Azure Monitor để theo dõi và phân tích chi tiết hơn. Để giám sát danh tính và quyền truy cập, doanh nghiệp có thể chuyển nhật ký hoạt động Azure AD tới Azure Monitor. Bên cạnh đó, Azure Monitor cũng giúp quản trị viên giám sát máy ảo, mạng và tường lửa cũng như phân tích nhật ký đã nhập bằng khả năng truy vấn nhật ký mạnh mẽ. 

Lời kết

Microsoft Azure có đầy đủ những tính năng giúp doanh nghiệp triển khai các ứng dụng cơ sở hạ tầng dưới dạng dịch vụ IaaS. Để được hỗ trợ tìm hiểu thêm về sản phẩm và nhận tư vấn từ chuyên gia FPT Smart Cloud về việc lựa chọn giải pháp Azure phù hợp, hãy tham khảo các kênh sau: 

0/5 (0 Reviews)

Liên hệ FPT Smart Cloud

Liên hệ ngay với chúng tôi để nhận sự tư vấn và hỗ trợ từ những chuyên gia hàng đầu.
Trang web này được bảo vệ bởi reCAPTCHA Chính sách quyền riêng tư và Điều khoản dịch vụ của Google sẽ được áp dụng
DMCA compliant image