Những quy tắc bảo mật website cơ bản an toàn cần lưu ý

Bạn có thể nghĩ rằng trang web của mình chẳng có gì đáng để hack cả. Nhưng thực tế bất kỳ trang web cũng đều có nguy cơ bị xâm phạm. Khi website của bạn sẽ xuất hiện lỗ hổng, tin tặc sẽ dễ dàng tấn công vào hệ thống, thậm chí điều khiển quyền quản lý và gây ra những hệ lụy xấu ảnh hưởng đến uy tín Công ty. Phần lớn các vi phạm bảo mật trang web không phải là để đánh cắp dữ liệu hoặc phá hoại bố cục trang web, mà là sử dụng máy chủ của trang để chuyển tiếp email spam hoặc thiết lập máy chủ web tạm thời, thông thường để phục vụ các file bất hợp pháp. 

Cách đơn giản nhất để bảo vệ website là đảm bảo an toàn cho website trước những kẻ xấu. Nhưng khi tìm hiểu về các lỗ hổng bảo mật web, bạn sẽ phải đối mặt với những khái niệm và giải pháp phức tạp. Hiểu được điều đó, ADC Việt Nam đã tổng hợp những mẹo đơn giản, cơ bản nhưng hiệu quả để giúp bạn cải thiện bảo mật cho website của mình. Một vài trong số đó là lời khuyên của Marta Janus, Chuyên gia nghiên cứu an ninh mạng, Kaspersky Lab.

Những quy tắc bảo mật website cơ bản

1. Bảo mật bằng mật khẩu mạnh

Thoạt nghe đến đây, ADC Việt Nam chắc chắn rằng các bạn đọc nghĩ điều này là khá bình thường. Tuy nhiên việc sử dụng một mật khẩu mạnh chính là giải pháp đảm bảo giúp sự an toàn trong bảo mật hệ thống website cũng như máy chủ. Mật khẩu cần được thay đổi thường xuyên và định kỳ.

Để được gọi là “mạnh”, mật khẩu của bạn cần đáp ứng được các yêu cầu sau:

  • Mật khẩu tối thiểu phải có 8 ký tự trở lên
  • Mật khẩu cần bao gồm cả chữ cái, số, các kỹ tự đặc biệt (Vd: !,@,#,$,%,..)
  • Trong mật khẩu nên có tối thiểu 1 chữ in hoa và được bắt đầu bằng ký tự đặc biệt
  • Các tài khoản khác nhau cần sử dụng những mật khẩu khác nhau

Lưu ý: để đảm bảo an toàn cho website, bạn nên thay đổi mật khẩu thường xuyên, tốt nhất là định kỳ khoảng 1 lần/tháng.

Sử dụng mật khẩu mạnh giúp bảo vệ website tốt hơn
Sử dụng mật khẩu mạnh giúp bảo vệ website tốt hơn

2. Liên tục cập nhật thường xuyên

Công nghệ không ngừng phát triển và các tin tặc cũng không ngừng “nâng cấp” bản thân để có thể đột nhập vào các website thành công thông qua các lỗ hổng bảo mật. Để nâng cao mức độ bảo mật, người dùng cần phải cập nhật website của mình thường xuyên, đặc biệt theo dõi thông tin phiên bản mới nếu đang dùng các phần mềm web nguồn mở (CMS, portal, forum...).

Tất cả các phần mềm mà người sử dụng quản lý bằng tài khoản máy chủ phải là phiên bản mới nhất và tất cả các bản vá bảo mật cần phải được áp dụng ngay sau khi nó được phát hành. Điều này sẽ giảm nguy cơ một cuộc tấn công nhằm vào việc khai thác dữ liệu. Danh sách các lỗ hổng thường bị tấn công có thể xem tại đây.

cập nhật website thường xuyên
Cập nhật website thường xuyên

3. Luôn phải tạo các bản sao lưu

Một bản sao lưu tất cả các nội dung của máy chủ không bị "nhiễm độc" chắc chắn sẽ giúp người dùng tiết kiệm rất nhiều thời gian và công sức khi khôi phục. Một bản sao gần nhất sẽ rất hữu ích trong việc giải quyết các vấn đề phát sinh cũng như trong trường hợp máy chủ hoặc trang web bị nhiễm độc.

Sao lưu các dữ liệu quan trọng
Sao lưu các dữ liệu quan trọng

4. Thường xuyên quét các tập tin

Quét ngay cả khi không có dấu hiệu bị nhiễm độc nào được tìm thấy. Đây là một thao tác rất hữu ích để bảo vệ website, quét tất cả các tập tin trên máy chủ trong một thời gian nhất định ít nhất là một lần.

5. Quan tâm đến bảo mật máy tính

Nâng cao bảo mật website
Nâng cao bảo mật website

Rất nhiều malware độc hại tấn công vào các trang web và được phát tán bằng cách lây nhiễm vào các máy tính. Vì vậy, vấn đề an ninh của máy chủ chứa trang web là một trong những khía cạnh quan trọng nhất trong việc bảo mật website. Giữ cho máy chủ luôn trong tình trạng an toàn và không bị nhiễm độc sẽ nâng cao mức độ an toàn cũng như tránh được sự tấn công của các malware.

6. Tăng cường mức độ bảo mật của máy chủ

Nếu sở hữu hệ thống máy chủ, người dùng cần chú ý đến cấu hình của máy để bảo đảm mức độ an toàn nhất có thể. Hoạt động để tăng cường bảo mật máy chủ gồm những phần sau:

  • Loại bỏ tất cả các phần mềm không sử dụng
  • Vô hiệu hóa tất cả các dịch vụ và module không cần thiết
  • Thiết lập chính sách phù hợp cho người dùng và các nhóm
  • Thiết lập quyền truy cập/hạn chế truy cập vào các tập tin và thư mục nhất định
  • Vô hiệu hóa việc duyệt thư mục trực tiếp
  • Thu thập các tập tin ghi nhận hoạt động, thường xuyên kiểm tra các hoạt động đáng ngờ
  • Sử dụng mã hóa và các giao thức an toàn
  • Yếu tố con người vẫn đóng vai trò quan trọng nhất

7. Yếu tố con người vẫn đóng vai trò quan trọng nhất

Theo ông Jimmy Low, chuyên gia bảo mật khu vực Đông Nam Á thuộc Kaspersky Lab trả lời phỏng vấn của Nhịp Sống Số cho biết:

 "Mỗi hệ thống mạng đều có những vấn đề và điểm yếu riêng. Tuy nhiên, yếu điểm quan trọng nhất là yếu tố con người. Người quản trị mạng phải không ngừng nâng cao, học hỏi thêm kiến thức mới, tăng cường nhận thức về các mối đe dọa và bảo mật nhằm kịp thời nhận ra các lỗ hổng về kỹ thuật, tránh mắc phải các sai lầm trong công tác quản trị mạng".

Ông Jimmy cho rằng bất kỳ kỹ sư nào cũng có thể phạm phải sai lầm trong giai đoạn khởi nghiệp do thiếu kinh nghiệm và lời khuyên cho các kỹ sư trẻ rằng: 

"đừng ngại học hỏi từ người đi trước, nếu các bạn không học hỏi từ người có kinh nghiệm và từ sai lầm, các bạn khó có thể phát triển bản thân trong nghề nghiệp".

8. Cảnh giác với SQL injection

Các cuộc tấn công SQL injection là khi kẻ tấn công sử dụng trường mẫu web hoặc tham số URL để có quyền truy cập hoặc thao tác cơ sở dữ liệu của nạn nhân. Khi sử dụng Transact SQL tiêu chuẩn, thật dễ dàng chèn code giả mạo vào truy vấn của người dùng, từ đó thay đổi bảng, lấy thông tin và xóa dữ liệu. Có thể dễ dàng ngăn chặn điều này bằng cách luôn sử dụng truy vấn được tham số hóa. Hầu hết các ngôn ngữ web đều có tính năng này và nó rất dễ thực hiện.

Xem xét truy vấn sau:

"SELECT * FROM table WHERE column = '" + parameter + "';"

Nếu kẻ tấn công thay đổi tham số URL thành ' or '1'='1 thì điều đó sẽ khiến truy vấn trông như sau:

"SELECT * FROM table WHERE column = '' OR '1'='1';"

Vì '1' bằng '1', điều này sẽ cho phép kẻ tấn công thêm một truy vấn bổ sung vào cuối câu lệnh SQL và nó cũng sẽ được thực thi.

Bạn có thể sửa truy vấn này bằng cách tham số hóa nó một cách rõ ràng.

Ví dụ, nếu đang sử dụng MySQLi trong PHP thì truy vấn sẽ trở thành:

$stmt = $pdo->prepare('SELECT * FROM table WHERE column = :value');
$stmt->execute(array('value' => $parameter));

9. Coi chừng các thông báo lỗi

Hãy cẩn thận với lượng thông tin bạn cung cấp trong các thông báo lỗi. Chỉ cung cấp các lỗi tối thiểu cho người dùng, để đảm bảo chúng không làm rò rỉ các bí mật có trên máy chủ (ví dụ, khóa API hoặc mật khẩu cơ sở dữ liệu). Đừng cung cấp đầy đủ chi tiết ngoại lệ vì những điều này có thể làm cho các cuộc tấn công phức tạp như SQL injection được thực hiện dễ dàng hơn nhiều. Giữ các lỗi chi tiết trong nhật ký máy chủ và chỉ hiển thị cho người dùng thông tin họ cần.

10. Xác thực cả hai phía

Xác thực phải luôn luôn được thực hiện cả trên trình duyệt và phía máy chủ. Trình duyệt có thể gặp các lỗi đơn giản như khi các trường bắt buộc điền bị để trống hay nhập văn bản vào trường chỉ cho điền số. Tuy nhiên, những điều này có thể được bỏ qua và nên đảm bảo việc kiểm tra các xác thực sâu hơn phía máy chủ. Vì không làm như vậy có thể dẫn đến mã hoặc tập lệnh độc hại được chèn vào cơ sở dữ liệu hoặc có thể gây ra kết quả không mong muốn trong trang web.

11. Tránh upload file

Cho phép người dùng upload file lên trang web có thể mang đến rủi ro lớn cho trang web, ngay cả khi chỉ đơn giản là thay đổi hình đại diện. Rủi ro nằm ở bất kỳ file nào được upload lên, dù trông có vẻ vô hại, nó có thể chứa một tập lệnh mà khi được thực thi trên máy chủ sẽ “phơi bày” hoàn toàn trang web.

Nếu upload file là điều bắt buộc thì cần phải cảnh giác với tất cả mọi thứ. Nếu cho phép người dùng upload lên hình ảnh, không thể chỉ dựa vào phần mở rộng file để xác minh đó là file hình ảnh vì chúng có thể dễ dàng bị giả mạo. Ngay cả việc mở file và đọc tiêu đề hoặc sử dụng các chức năng để kiểm tra kích thước hình ảnh cũng không thể tuyệt đối an toàn. Hầu hết các định dạng hình ảnh cho phép lưu trữ một phần bình luận có thể chứa code PHP được thực thi bởi máy chủ.

Vậy có thể làm gì để ngăn chặn điều này? Hãy ngăn người dùng thực thi bất kỳ file nào họ upload lên. Theo mặc định, các máy chủ web sẽ không cố thực thi các file có phần mở rộng hình ảnh, nhưng không thể chỉ dựa vào việc kiểm tra phần mở rộng file, vì một file có tên image.jpg.php có thể dễ dàng “lách luật”.

Một số tùy chọn là đổi tên file khi upload lên để đảm bảo phần mở rộng file chính xác hoặc thay đổi quyền của file, ví dụ, chmod 0666 để nó không thể thực thi được. Nếu sử dụng *nix, người dùng có thể tạo file .htaccess, chỉ cho phép truy cập đến một bộ file ngăn chặn việc sử dụng phần mở rộng kép được đề cập trước đó.

deny from all
<Files ~ "^\w+\.(gif|jpe?g|png)$">
order deny,allow
allow from all
</Files>

Cuối cùng, giải pháp được đề xuất là ngăn chặn hoàn toàn quyền truy cập trực tiếp vào các file được upload lên. Bằng cách này, mọi file được upload lên trang web được lưu trữ trong một thư mục bên ngoài webroot hoặc trong cơ sở dữ liệu dưới dạng blob. Nếu các file không thể truy cập trực tiếp, sẽ cần tạo một tập lệnh để tìm nạp các file từ thư mục riêng (hoặc trình xử lý HTTP trong .NET) và gửi chúng đến trình duyệt. Thẻ img hỗ trợ thuộc tính src không phải là URL trực tiếp đến hình ảnh, vì vậy thuộc tính src có thể trỏ đến tập lệnh phân phối file, cung cấp loại nội dung chính xác trong tiêu đề HTTP. Ví dụ:

<img src="/imageDelivery.php?id=1234" />

 <?php
// imageDelivery.php

 // Fetch image filename from database based on $_GET["id"]
...

 // Deliver image to browser
Header('Content-Type: image/gif');
readfile('images/'.$fileName);

 ?>

Các nhà cung cấp dịch vụ lưu trữ web tốt đều xử lý cấu hình máy chủ cho bạn, nhưng nếu đang lưu trữ trang web trên máy chủ của riêng mình thì có vài điều cần kiểm tra.

Hãy đảm bảo có thiết lập tường lửa và tất cả các cổng không cần thiết đã bị chặn. Nếu có thể, hãy thiết lập DMZ (Demilitarised Zone) chỉ cho phép truy cập vào cổng 80 và 443 từ bên ngoài. Mặc dù điều này có thể không thực hiện được nếu không có quyền truy cập vào máy chủ từ mạng nội bộ, vì sẽ cần mở các cổng để cho phép upload file lên và đăng nhập từ xa vào máy chủ qua SSH hoặc RDP.

Nếu cho phép các file được upload lên từ Internet, chỉ sử dụng các phương thức vận chuyển an toàn đến máy chủ của bạn như SFTP hoặc SSH.

Nếu có thể, cơ sở dữ liệu sẽ chạy trên một máy chủ khác với máy chủ web. Làm điều này có nghĩa là máy chủ cơ sở dữ liệu không thể được truy cập trực tiếp từ bên ngoài, chỉ có máy chủ web có thể truy cập nó, giảm thiểu rủi ro dữ liệu bị lộ.

Cuối cùng, đừng quên việc hạn chế quyền truy cập vật lý vào máy chủ.

12. Bảo vệ chống lại các cuộc tấn công XSS

Cross-site scripting (XSS) truyền JavaScript độc hại vào các trang web, sau đó chạy trong trình duyệt của người dùng và có thể thay đổi nội dung trang, hoặc đánh cắp thông tin để gửi lại cho kẻ tấn công. Ví dụ, nếu hiển thị nhận xét trên một trang mà không có xác thực, thì kẻ tấn công có thể gửi nhận xét chứa thẻ script và JavaScript, chạy trong mọi trình duyệt của người dùng khác và đánh cắp cookie đăng nhập của họ, sau đó chiếm quyền kiểm soát tài khoản của mọi người người dùng đã xem bình luận. Cần đảm bảo rằng người dùng không thể đưa nội dung JavaScript đang hoạt động vào các trang web.

Đây là mối quan tâm đặc biệt trong các ứng dụng web hiện đại, nơi các trang hiện được xây dựng chủ yếu từ nội dung người dùng và tạo HTML cũng được biên dịch bởi các framework front-end như Angular và Ember trong nhiều trường hợp. Các framework này cung cấp nhiều biện pháp bảo vệ chống lại XSS, nhưng việc kết hợp rendering máy chủ và máy khách cũng tạo ra các cách tấn công mới và phức tạp hơn, không chỉ có khả năng truyền JavaScript vào HTML hiệu quả, mà còn có thể truyền nội dung sẽ chạy code bằng cách chèn các lệnh Angular hoặc sử dụng các trình trợ giúp Ember.

Mấu chốt ở đây là tập trung vào cách nội dung do người dùng tạo. Điều này tương tự như bảo vệ chống lại SQL injection. Khi tạo HTML động, hãy sử dụng các hàm thực hiện rõ ràng các thay đổi đang tìm kiếm (ví dụ, sử dụng phần tử .setAttribution và Element.textContent để trình duyệt tự động escape, thay vì cài đặt phần tử.innerHTML thủ công) hoặc sử dụng các hàm tự động escape khi thích hợp, thay vì nối chuỗi hoặc đặt nội dung HTML thô.

Một công cụ mạnh mẽ khác để chống lại XSS là chính sách bảo mật nội dung (Content Security Policy - CSP). CSP là header máy chủ có thể trả về, cho phép trình duyệt giới hạn cách thức và những gì JavaScript được thực thi trong trang, ví dụ như không cho phép chạy bất kỳ tập lệnh nào không được lưu trữ trên domain, không cho phép JavaScript nội tuyến hoặc vô hiệu hóa eval(). Mozilla có một hướng dẫn tuyệt vời với một số cấu hình ví dụ (tham khảo tại developer.mozilla.org/en-US/docs/Web/HTTP/CSP). Điều này làm cho các tập lệnh của kẻ tấn công khó hoạt động hơn, ngay cả khi kẻ tấn công có thể đưa chúng vào trang web.

13. Sử dụng chứng chỉ số SSL để bảo mật website

Khi đăng ký tên miền cho website, chắc chắn sẽ luôn có những lỗ hổng bảo mật để tin tặc lợi dụng tấn công. SSL là biện pháp hữu hiệu giúp bảo vệ website cũng như khách hàng của bạn.

SSL là một tiêu chuẩn an ninh công nghệ mang tính toàn cầu. Nó có khả năng tạo ra một liên kết mã hóa giữa hệ thống máy chủ và trình duyệt. SSL giúp tăng cường khả năng bảo mật website, cho phép tất cả dữ liệu trao đổi giữa máy chủ và trình duyệt được tách rời, đảm bảo an toàn.

Sử dụng SSL để bảo vệ website

14. Mã hóa trang đăng nhập

Hãy sử dụng mã hóa SSL trên các trang đăng nhập. SSL cho phép thông tin nhạy cảm như số thẻ tín dụng, số an sinh xã hội và thông tin đăng nhập được truyền một cách an toàn. Thông tin được nhập trên một trang được mã hóa sao cho nó vô nghĩa đối với bất kỳ bên thứ ba nào. Điều này giúp ngăn chặn tin tặc truy cập thông tin đăng nhập hoặc dữ liệu riêng tư khác.

15. Sử dụng máy chủ an toàn

Chọn một công ty lưu trữ web an toàn và có uy tín là rất quan trọng đối với việc bảo mật trang web. Hãy chắc chắn rằng máy chủ bạn chọn nhận biết được các mối đe dọa và có khả năng giữ an toàn cho trang web. Máy chủ cũng nên sao lưu dữ liệu đến máy chủ từ xa và có thể dễ dàng khôi phục trong trường hợp trang web bị hack. Hãy chọn một máy chủ cung cấp hỗ trợ kỹ thuật liên tục bất kể ngày đêm.

16. Giữ trang web “sạch sẽ”

Mỗi cơ sở dữ liệu, ứng dụng hoặc plugin trên trang web đều là điểm có thể khai thác trong mắt hacker. Người dùng nên xóa các file, cơ sở dữ liệu hoặc ứng dụng không còn được sử dụng khỏi trang web. Điều quan trọng là phải giữ cấu trúc file được tổ chức hợp lý để theo dõi các thay đổi và giúp xóa các file cũ dễ dàng hơn.

17. Thêm công cụ bảo mật trang web

Khi cho rằng mình đã làm tất cả những gì có thể thì đã đến lúc kiểm tra bảo mật trang web. Cách hiệu quả nhất để thực hiện việc này là thông qua việc sử dụng một số công cụ bảo mật trang web, thường được gọi là kiểm tra thâm nhập (viết tắt là pen testing).

Có rất nhiều sản phẩm thương mại và miễn phí hỗ trợ điều này. Chúng hoạt động trên cơ sở tương tự với tập lệnh của các tin tặc ở chỗ chúng kiểm tra tất cả các hoạt động khai thác và cố gắng tấn công trang web, bằng cách sử dụng một số phương pháp được đề cập trước đây như SQL Injection.

Một số công cụ miễn phí đáng xem xét là:

  • Netsparker.com (Phiên bản cộng đồng miễn phí và phiên bản dùng thử có sẵn). Thích hợp để kiểm tra SQL injection và XSS
  • OpenVAS.org: Tự nhận là trình quét bảo mật mã nguồn mở tiên tiến nhất. Thích hợp để kiểm tra các lỗ hổng đã biết (hơn 25.000). Nhưng có thể khó cài đặt và yêu cầu cài đặt máy chủ OpenVAS chỉ chạy trên *nix. OpenVAS là một nhánh của Nessus trước khi nó trở thành một sản phẩm thương mại nguồn đóng.
  • SecurityHeaders.com (kiểm tra trực tuyến miễn phí). Một công cụ để nhanh chóng báo cáo các tiêu đề bảo mật được đề cập ở trên (như CSP và HSTS), một domain đã được bật và định cấu hình chính xác.
  • Xenotix XSS Miningit Framework (xenotix.in). Một công cụ từ OWASP (Open Web Application Security Project) bao gồm rất nhiều ví dụ về các cuộc tấn công XSS, người dùng có thể chạy để nhanh chóng xác nhận xem các đầu vào trang web có dễ bị tấn công trong Chrome, Firefox và IE hay không.

Kết quả từ các công cụ tự động có thể khiến bạn nản chí, vì chúng thể hiện rất nhiều vấn đề tiềm ẩn, hãy tập trung vào các vấn đề quan trọng trước tiên. Mỗi vấn đề được báo cáo thường đi kèm với một lời giải thích rõ ràng về lỗ hổng tiềm ẩn. Người dùng có thể sẽ thấy rằng một số vấn đề ở mức cảnh báo trung bình/thấp không phải là mối quan tâm đối với trang web.

Có một số cách bạn có thể làm để thử tấn công trang web của chính mình như thay đổi giá trị POST/GET. Một proxy gỡ lỗi có thể hỗ trợ tốt trong trường hợp này vì nó cho phép chặn các giá trị của yêu cầu HTTP giữa trình duyệt và máy chủ. Phần mềm Fiddler là một điểm khởi đầu tốt để thực hiện việc này.

Nếu website có trang chỉ hiển thị cho người dùng đã đăng nhập thì hãy thử thay đổi các tham số URL như ID người dùng hoặc giá trị cookie để cố gắng xem chi tiết của người dùng khác. Một lĩnh vực đáng thử nghiệm khác là các biểu mẫu, thay đổi các giá trị POST để cố gắng gửi code thực thi XSS hoặc upload lên tập lệnh phía máy chủ.

18. Thuê một chuyên gia bảo mật

Phát triển mối quan hệ với một công ty cung cấp dịch vụ bảo mật có thể là cứu cánh trong việc bảo vệ trang web. Mặc dù người dùng có thể tự xử lý những việc nhỏ, nhưng có nhiều biện pháp bảo mật cần được xử lý bởi một chuyên gia. Các công ty cung cấp dịch vụ bảo mật có thể thường xuyên quét trang web để tìm lỗ hổng, thực hiện kiểm tra bảo mật trang web đầy đủ, theo dõi hoạt động độc hại và có mặt bất cứ khi nào có sự cố cần sửa chữa.

Người dùng phải luôn cảnh giác trong việc bảo vệ trang web và những lời khuyên thiết thực này chỉ là các phương pháp cơ bản nhất. Đừng bao giờ ngừng tìm kiếm các biện pháp bảo vệ cho trang web. Đừng để kẻ xấu chiến thắng!

Lời kết

Website chính là bộ mặt của công ty, thể hiện uy tín, giá trị thương hiệu. Nếu vấn đề bảo mật không được quan tâm đúng mức, mã nguồn độc có thể “phát tán” trên website và đánh cắp các thông tin của khách hàng như: email, thẻ tín dụng,… Điều này gây thiệt hại lớn cho khách hàng, đồng thời sẽ làm ảnh hưởng đến “uy tín” danh tiếng của chính công ty bạn. Từ đó có thể thấy bảo mật website là yếu tố rất quan trọng đối với các doanh nghiệp hoạt động trực tuyến. Hy vọng những quy tắc bảo mật website trên đây sẽ giúp cho bạn bảo vệ được trang web của mình tốt hơn.

Bài viết " Những quy tắc bảo mật website cơ bản an toàn cần lưu ý "
Công ty thiết kế website chuyên nghiệp ADC Việt Nam

 

  • Làm thế nào để vượt qua đối thủ cạnh tranh?

  • Bạn cần website để giới thiệu dịch vụ?

  • Cho đến lúc này, điều mà bạn đang quan tâm có lẽ là muốn tìm hiểu thêm về dịch vụ thiết kế website và Công ty chúng tôi?

  • SỞ HỮU NGAY WEB CHUYÊN NGHIỆP TẠI ADC VIỆT NAM ĐỂ VƯỢT QUA ĐỐI THỦ NGAY HÔM NAY!!!

s