Web Tinhte.vn bị sập, truy cập chập chờn lúc được lúc không

(2022 - P.V DBlog) Từ sáng nay, 10/07, website của diễn đàn công nghệ Tinhte.vn thường xuyên gặp tình trạng báo lỗi "Sự cố máy chủ" và việc truy cập vào các bài viết lúc được lúc không.

Ảnh chụp màn hình 2022-07-10 09-30-13PM

Hiện tại, web Tinhte vẫn không truy cập được bình thường và vẫn thường xuyên báo lỗi như trên. Người dùng nếu kiên nhẫn refresh thì có thể vẫn truy cập được, nhưng sau đó bấm vào các bài viết vẫn sẽ có lúc không đọc được bài.

Do sự cố này, máy chủ cung cấp link RSS (link chia sẻ tin tức) của Tinhte cũng liên tục báo lỗi và không thể tải tin về.

Theo nhận định của một chuyên gia phần mềm thì đây là lỗi bên trong server, có thể là một module nào đó bị lỗi khi nâng cấp, hoặc server bị quá tải. Do hệ thống vào chập chờn nên có thể nguyên nhân nghiêng về server bị quá tải. Cũng không loại trừ khả năng máy chủ bị tấn công DDoS.

“Hello, World!” trong TypeScript

Chào các bạn, bài trước mình đã hướng dẫn về cài đặt TypeScript, bây giờ hãy viết ứng dụng đầu tiên bằng ngôn ngữ này. Chúng ta bắt đầu thôi!


Code hiển thị 'Hello World' trong node.js

  1. Đầu tiên hãy tạo một thư mục để lưu code, ví dụ thư mục là: helloworld
  2. Chạy Visual Studio Code và mở thư mục đó .
  3. Tạo một tệp TypeScript gọi là app.ts với phần mở rộng (đuôi) của file là .ts
  4. Thêm code bên dưới vào tệp app.ts

let message: string = 'Hello, World!';

console.log(message);

Mở Terminal trong Visual Studio Code bằng shortcut hoặc theo menu Terminal > New Terminal

Gõ lệnh bên dưới để biên dịch tệp app.ts:

tsc app.ts

Nếu bạn làm đúng, bạn sẽ thấy một file gọi là app.js được sinh ra bởi TypeScript Compiler (node.js module)

Chạy tệp app.js

Để chạy tệp app.js trong node.js, bạn hãy sử dụng lệnh sau:

node app.js

Và kết quả đầu ra là:

Hello, World!

BONUS Code TypeScript hiển thị 'Hello World' trong Web Browsers

Đầu tiên, bạn tạo một tệp mới gọi là index.html và include file app.js như bên dưới:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>TypeScript: Hello, World!</title>
</head>
<body>
    <script src="app.js"></script>
</body>
</html>


Cập nhật code của tệp mã app.ts như bên dưới:

let message: string = 'Hello, World!';
// create a new heading 1 element
let heading = document.createElement('h1');
heading.textContent = message;
// add the heading the document
document.body.appendChild(heading);


Biện dịch tệp TypeScript tên là app.ts với Command sau:

tsc app.ts

Mở Live Server từ VS code bằng cách click chuột phải vào file index.html và select với Open with Live Server

Và đây là kết quả


Để thực hiện các thay đổi, bạn cần chỉnh sửa tệp app.ts. 

Ví dụ:

let message: string = 'Hello, TypeScript!';

let heading = document.createElement('h1');

heading.textContent = message;

document.body.appendChild(heading);

Và biên dịch tệp app.ts:

tsc app.ts

Đầu ra khi chạy trên LiveServer

Hello, TypeScript!

TypeScript Compiler sẽ sinh ra một file mới là app.js và Live Server sẽ tự động nạp tệp đó trên trình duyệt web.

Chú ý: Tệp app.js là file đầu ra của file app.ts. Do đó, bạn không bao giờ được trực tiếp thay đổi code trong tệp này, nếu không bạn sẽ mất các thay đổi sau khi biên dịch lại tệp app.ts.

Cập nhật động thái mới nhất của Heroku trong vụ Hack bằng OAuth

 

• Live Now (Bắt đầu cập nhật vào 14:19:13 17/03/2020) | Từ cũ tới mới | Bài viết nên xem bằng App DBlog


12:23 18/04/2022



12:30 18/04/2022

Chúng tôi sẽ trích dẫn mọi thông tin mới nhất của Heroku

Tại Salesforce, niềm tin là giá trị số một của chúng tôi. Chúng tôi đang tích cực điều tra một báo cáo nhận được vào ngày 13 tháng 4 năm 2022, từ GitHub rằng một tập hợp con các kho lưu trữ riêng github của Heroku, bao gồm một số mã nguồn, đã được tải xuống bởi một diễn viên đe dọa vào ngày 9 tháng 4 năm 2022. Chúng tôi đã chủ động thông báo cho khách hàng Heroku của chúng tôi về vấn đề này và sẽ tiếp tục cung cấp thông tin cập nhật để hỗ trợ họ khi cuộc điều tra tiếp tục. Nếu Salesforce hoặc GitHub nhận thức được việc truy cập trái phép vào kho lưu trữ GitHub của khách hàng được kết nối với Heroku, chúng tôi sẽ thông báo cho khách hàng bị ảnh hưởng qua email mà không bị chậm trễ quá mức.

12:31 22/04/2022

Tại Salesforce, chúng tôi hiểu rằng tính bảo mật, tính toàn vẹn và tính sẵn có của dữ liệu của bạn là rất quan trọng đối với doanh nghiệp của bạn và chúng tôi rất coi trọng việc bảo vệ dữ liệu của bạn. Chúng tôi đánh giá cao tính minh bạch và muốn thông báo cho bạn về một sự cố mà chúng tôi đang tích cực điều tra có thể dẫn đến việc truy cập trái phép vào kho lưu trữ GitHub của bạn được kết nối với Heroku.

Vào ngày 13 tháng 4 năm 2022, Salesforce Security đã được GitHub thông báo rằng một tập hợp con các kho lưu trữ riêng GitHub của Heroku, bao gồm một số mã nguồn, đã được tải xuống bởi một tác nhân đe dọa vào ngày 9 tháng 4 năm 2022. Dựa trên cuộc điều tra ban đầu của Salesforce, có vẻ như việc truy cập trái phép vào tài khoản GitHub của Heroku là kết quả của một mã thông báo OAuth bị xâm nhập. Salesforce ngay lập tức vô hiệu hóa mã thông báo OAuth của người dùng bị xâm nhập và vô hiệu hóa tài khoản GitHub của người dùng bị xâm phạm. Ngoài ra, GitHub báo cáo rằng tác nhân đe dọa đã liệt kê các tài khoản khách hàng của GitHub bằng cách sử dụng mã thông báo OAuth được cấp cho bảng điều khiển tích hợp OAuth của Heroku được lưu trữ trên GitHub. Dựa trên thông tin GitHub chia sẻ với chúng tôi, chúng tôi đang điều tra làm thế nào tác nhân đe dọa có quyền truy cập vào mã thông báo OAuth của khách hàng. Các token bị xâm nhập có thể cung cấp cho tác nhân đe dọa quyền truy cập vào các repos GitHub của khách hàng, nhưng không phải là tài khoản Heroku của khách hàng. Với quyền truy cập vào mã thông báo OAuth của khách hàng, tác nhân đe dọa có thể đã đọc và viết quyền truy cập vào các kho lưu trữ GitHub của khách hàng được kết nối với Heroku. Do sự cố vẫn đang hoạt động, vui lòng xem lại các hành động được đề xuất được cung cấp dưới đây.

Vui lòng làm theo hướng dẫn dưới đây để tiến hành đánh giá toàn diện nhật ký GitHub của bạn để tìm bằng chứng về việc lọc. Nếu bạn xác định được hoạt động đáng ngờ, vui lòng liên hệ với security@salesforce.com để chia sẻ những phát hiện của bạn có thể hỗ trợ điều tra của chúng tôi.

Ngoài ra, chúng tôi khuyên bạn nên ngắt kết nối Heroku khỏi kho lưu trữ GitHub của bạn. Xin lưu ý rằng việc ngắt kết nối sẽ ngăn bạn triển khai ứng dụng của mình bằng bảng điều khiển Heroku và đường ống sẽ hoạt động một phần. Trong khi bị ngắt kết nối, bạn có thể sử dụng một trong các phương pháp triển khai mã khác có sẵn trong tài liệu sau:

Nếu bạn thấy bằng chứng về việc lọc trong nhật ký của mình, bạn nên xem xét cẩn thận thông qua các kho lưu trữ của mình để tìm bất kỳ thông tin đăng nhập nào có thể đã bị xâm phạm và giảm thiểu quyền truy cập bằng cách vô hiệu hóa tài khoản và xoay thông tin đăng nhập khi cần thiết. Chúng tôi cũng khuyên bạn nên thu hồi hoặc xoay chuyển bất kỳ thông tin đăng nhập bị lộ nào. Quét thông tin đăng nhập mã nguồn là một trong những cách chính mà các tác nhân độc hại có thể leo thang quyền truy cập của họ.

Salesforce tiếp tục điều tra sự cố này phối hợp với GitHub và nhà cung cấp vi phạm bên thứ ba được giữ lại của chúng tôi. Một khi chúng tôi xác định cách tác nhân đe dọa có quyền truy cập vào mã thông báo OAuth của khách hàng, chúng tôi sẽ ngay lập tức thực hiện các hành động thích hợp.

Nếu bạn thấy bất kỳ bằng chứng nào về tác động, vui lòng mở một trường hợp với Hỗ trợ Heroku.

Các bản cập nhật sẽ được đăng lên status.heroku.com khi có thêm thông tin. Nếu Salesforce nhận thức được quyền truy cập trái phép vào kho lưu trữ GitHub của khách hàng được kết nối với Heroku, chúng tôi sẽ thông báo cho khách hàng bị ảnh hưởng qua email mà không chậm trễ quá mức.

Heroku Security Update: Các bước giảm thiểu tích hợp GitHub

Để giảm thiểu tác động từ các token OAuth có khả năng bị xâm phạm, chúng tôi sẽ thu hồi trong vài giờ tới tất cả các token hiện có từ tích hợp Heroku GitHub. Chúng tôi cũng đang ngăn chặn các token OAuth mới được tạo cho đến khi có thông báo mới. Kho lưu trữ GitHub của bạn sẽ không bị ảnh hưởng dưới bất kỳ hình thức nào bởi hành động này.

Hiện tại đang chạy các ứng dụng Heroku sẽ không bị ảnh hưởng, nhưng điều này sẽ ngăn bạn triển khai ứng dụng của mình từ GitHub thông qua bảng điều khiển hoặc thông qua tự động hóa. Một số hành động khác trong bảng điều khiển sẽ không còn hoạt động do giảm thiểu này và bạn sẽ không thể kết nối lại với GitHub mặc dù bạn có thể thấy các biểu ngữ cảnh báo về việc kết nối lại. Như một giải pháp tạm thời, bạn có thể sử dụng một trong các phương pháp triển khai mã khác có sẵn trong tài liệu

13:03 22/04/2022

Heroku Security Update: OAuth token bị thu hồi

Vào lúc 5:00 chiều.m. PT vào ngày 16 tháng 4 năm 2022, Salesforce đã hoàn thành việc thu hồi tất cả các token OAuth từ tích hợp Heroku Dashboard GitHub. Như đã đề cập trước đây, điều này sẽ ngăn bạn triển khai ứng dụng của mình từ GitHub thông qua bảng điều khiển Heroku hoặc thông qua tự động hóa Heroku và một số hành động khác trong bảng điều khiển sẽ không còn hoạt động. Mặc dù bạn sẽ không thể kết nối lại với GitHub thông qua bảng điều khiển Heroku, bạn có thể tiếp tục sử dụng các phương pháp triển khai mã khác có sẵn trong tài liệu 

Như đã báo cáo ngày hôm qua, việc thu hồi tất cả các token OAuth từ tích hợp Heroku Dashboard GitHub đã hoàn tất. Cho đến khi có thông báo mới, chúng tôi sẽ không phát hành mã thông báo OAuth từ Bảng điều khiển Heroku. Những hành động này, dựa trên sự hiểu biết hiện tại của chúng tôi về vấn đề này, sẽ ngăn chặn truy cập trái phép vào kho lưu trữ GitHub của bạn.

Chúng tôi sẽ tiếp tục làm việc với GitHub để cung cấp hướng dẫn bổ sung về cách xem xét nhật ký GitHub của bạn để tìm bằng chứng về việc lọc hoặc hoạt động độc hại. Vui lòng liên hệ với security@salesforce.com với bất kỳ thông tin nào có thể hỗ trợ chúng tôi trong cuộc điều tra đang diễn ra của chúng tôi.

Chúng tôi tiếp tục đạt được tiến bộ trong cuộc điều tra về vấn đề này. Trong quá trình điều tra, thông tin chúng tôi nhận được từ khách hàng của Heroku rất hữu ích. Nếu bạn đã có được nhật ký từ GitHub và xác định hoạt động đáng ngờ mà bạn tin rằng có thể hỗ trợ chúng tôi trong cuộc điều tra của chúng tôi, vui lòng liên hệ với security@salesforce.com. Chúng tôi đánh giá cao sự hợp tác và tin tưởng của bạn khi chúng tôi tiếp tục làm cho thành công của bạn là ưu tiên hàng đầu của chúng tôi.

Khi cuộc điều tra của chúng tôi tiếp tục, chúng tôi hiểu khách hàng của chúng tôi có thể nhận được thông báo trực tiếp từ cả Heroku và GitHub và chúng tôi ở đây để hỗ trợ. Chúng tôi rất coi trọng việc bảo vệ dữ liệu của khách hàng và cam kết cung cấp hướng dẫn cần thiết trong thời gian quan trọng này.

Trong khi khách hàng của chúng tôi vẫn không thể kết nối lại với GitHub thông qua bảng điều khiển Heroku, chúng tôi muốn chia sẻ một bổ sung cho các phương pháp triển khai mã được cung cấp trước đó. Để được hướng dẫn cách thay đổi phương thức triển khai của bạn từ GitHub sang Heroku Git, vui lòng tham khảo bài viết Trợ giúp sau: Cách chuyển phương thức triển khai từ GitHub sang Heroku Git với tất cả các thay đổi / mã ứng dụng có sẵn trong repo GitHub.

Một khi chúng tôi đã xác định rằng người dùng có thể kết nối lại với GitHub một cách an toàn thông qua bảng điều khiển Heroku, chúng tôi sẽ khôi phục tích hợp. Vui lòng tiếp tục truy cập status.heroku.com để cập nhật thông tin.

Thông tin GitHub chỉ có sẵn cho khách hàng heroku có thể có giá trị trong việc giúp chúng tôi hiểu phạm vi tác động của vấn đề này. Nếu bạn đã có được nhật ký từ GitHub và xác định hoạt động đáng ngờ mà bạn tin rằng có thể hỗ trợ cuộc điều tra của chúng tôi, vui lòng liên hệ với security@salesforce.com.

Chúng tôi chân thành lấy làm tiếc về bất kỳ sự bất tiện nào bạn đã trải qua do sự cố này và đánh giá cao sự hợp tác và tin tưởng của bạn khi chúng tôi tiếp tục coi thành công của bạn là ưu tiên hàng đầu của chúng tôi.

19:23 23/04/2022

Chúng tôi rất coi trọng việc bảo vệ khách hàng của mình và kết quả là, chúng tôi sẽ không kết nối lại với GitHub cho đến khi chúng tôi chắc chắn rằng chúng tôi có thể làm như vậy một cách an toàn, điều này có thể mất một thời gian. Chúng tôi khuyên khách hàng nên sử dụng các phương pháp thay thế thay vì chờ chúng tôi khôi phục tích hợp này.

Cách tiếp cận đơn giản nhất để triển khai ứng dụng Heroku là trực tiếp sử dụng git push heroku main. Ngoài ra, bạn có thể tham khảo một trong những tiện ích bổ sung được liệt kê trong phần Tích hợp và Phân phối liên tục của Thị trường Hệ sinh thái Heroku hoặc các sản phẩm CI / CD của bên thứ ba khác cung cấp hỗ trợ Heroku, chẳng hạn như Circle CI. Bạn cũng có thể sử dụng các tích hợp do cộng đồng duy trì như GitHub Action này để triển khai đến Heroku.

Chúng tôi chân thành hối tiếc về bất kỳ sự bất tiện nào bạn có thể đã trải qua do vấn đề này và đánh giá cao sự tin tưởng của bạn đối với chúng tôi khi chúng tôi tiếp tục coi thành công của bạn là ưu tiên hàng đầu của chúng tôi. Vui lòng tiếp tục truy cập status.heroku.com để cập nhật những cập nhật mới nhất.

23:30 23/04/2022

Khi chúng tôi bước vào cuối tuần, chúng tôi vẫn cảnh giác và cam kết điều tra. Chúng tôi sẽ giữ cho khách hàng của chúng tôi được thông báo về thông tin và hướng dẫn mới khi nó có sẵn. Vui lòng xem các bài đăng status.heroku.com trước để biết thông tin về cách yêu cầu nhật ký từ GitHub và cách triển khai đến Heroku.

00:00 25/04/2022

Cuộc điều tra của chúng tôi đang diễn ra và các nhóm Hỗ trợ và Bảo mật của chúng tôi đang tiếp tục trả lời các câu hỏi của khách hàng. Khi chúng tôi cùng nhau giải quyết vấn đề này, vui lòng liên hệ với Bộ phận Hỗ trợ Heroku để giải quyết các vấn đề tích hợp cụ thể hoặc security@salesforce.com nếu bạn đã có được nhật ký từ GitHub và xác định hoạt động đáng ngờ. Chúng tôi đánh giá cao sự kiên nhẫn của bạn khi chúng tôi làm cho thành công của bạn là ưu tiên hàng đầu của chúng tôi.

23:56 25/04/2022

Như một lời nhắc nhở, Salesforce Security không có quyền truy cập vào nhật ký kho lưu trữ GitHub của khách hàng sẽ tiết lộ những hành động nào, nếu có, đã được thực hiện bởi tác nhân đe dọa, vì các bản ghi thuộc về GitHub và bạn là khách hàng của GitHub.

Chúng tôi khuyên bạn nên tiến hành đánh giá toàn diện nhật ký GitHub của bạn để tìm bằng chứng về sự lọc hoặc hoạt động độc hại. Nếu bạn phát hiện ra các nhật ký tiết lộ các chỉ số thỏa hiệp (IOC), chúng tôi khuyến khích bạn chia sẻ chúng với chúng tôi trong email để security@salesforce.com.

Nếu bạn thấy bằng chứng về việc lọc trong nhật ký của mình, bạn nên xem xét cẩn thận thông qua các kho lưu trữ của mình để tìm bất kỳ thông tin đăng nhập nào có thể đã bị xâm phạm và giảm thiểu quyền truy cập bằng cách vô hiệu hóa tài khoản và xoay thông tin đăng nhập khi cần thiết. Chúng tôi cũng khuyên bạn nên thu hồi hoặc xoay chuyển bất kỳ thông tin đăng nhập bị lộ nào. Quét thông tin đăng nhập mã nguồn là một trong những cách chính mà các tác nhân độc hại có thể leo thang quyền truy cập của họ. Ngoài ra, nếu bạn xác định hoạt động bất thường trong nhật ký của mình, vui lòng xem lại thao tác mã được lưu trữ của bạn.

17:02 27/04/2022

Để bảo vệ khách hàng của chúng tôi, chúng tôi sẽ không kết nối lại với GitHub cho đến khi chúng tôi chắc chắn rằng chúng tôi có thể làm như vậy một cách an toàn, có thể mất một thời gian. Chúng tôi khuyên khách hàng nên sử dụng các phương pháp thay thế thay vì chờ chúng tôi khôi phục tích hợp này.

Cách tiếp cận đơn giản nhất để triển khai ứng dụng Heroku là trực tiếp sử dụng git push heroku main. Ngoài ra, bạn có thể tham khảo một trong những tiện ích bổ sung được liệt kê trong phần Tích hợp và Phân phối liên tục của Thị trường Hệ sinh thái Heroku hoặc các sản phẩm CI / CD của bên thứ ba khác cung cấp hỗ trợ Heroku, chẳng hạn như Circle CI. Bạn cũng có thể sử dụng các tích hợp do cộng đồng duy trì như GitHub Action này để triển khai đến Heroku.

Chúng tôi chân thành lấy làm tiếc về bất kỳ sự bất tiện nào bạn có thể đã trải qua vì vấn đề này và đánh giá cao sự tin tưởng của bạn đối với chúng tôi khi chúng tôi tiếp tục coi thành công của bạn là ưu tiên hàng đầu của chúng tôi. Vui lòng tiếp tục truy cập status.heroku.com để cập nhật những cập nhật mới nhất.

Khi cuộc điều tra của chúng tôi tiếp tục, chúng tôi hiểu khách hàng của chúng tôi có thể nhận được thông báo trực tiếp từ GitHub. Nếu bạn đã có được nhật ký từ GitHub tiết lộ các chỉ số thỏa hiệp tiềm năng (IOC), chúng tôi khuyến khích bạn chia sẻ các IOC đó với chúng tôi trong email để security@salesforce.com. Nếu bạn cần giải quyết các vấn đề tích hợp cụ thể, vui lòng liên hệ với Bộ phận Hỗ trợ Heroku. Chúng tôi đánh giá cao sự hợp tác và tin tưởng của bạn khi chúng tôi tiếp tục làm cho thành công của bạn là ưu tiên hàng đầu của chúng tôi.

06:03 29/04/2022

Cảm ơn sự kiên nhẫn của bạn khi chúng tôi tiếp tục làm việc thông qua vấn đề này. Cuộc điều tra của chúng tôi đang diễn ra và các nhóm Hỗ trợ và Bảo mật tiếp tục trả lời các câu hỏi của khách hàng. Chúng tôi đánh giá cao tất cả các thông tin nhận được cho đến nay và khuyến khích bạn tiếp tục chia sẻ câu hỏi với Heroku Support và IOCs với security@salesforce.com.

08:12 04/05/2022

Một nhóm khách hàng của Heroku sẽ nhận được thông báo qua email trực tiếp từ Salesforce Incident Alerts (incidentalerts@msg.salesforce.com) về những nỗ lực liên tục của chúng tôi để tăng cường bảo mật. Nếu bạn có bất kỳ câu hỏi nào hoặc cần giải quyết các vấn đề tích hợp cụ thể, vui lòng liên hệ với Bộ phận Hỗ trợ Heroku. Chúng tôi đánh giá cao sự hợp tác và tin tưởng của bạn khi chúng tôi tiếp tục làm cho thành công của bạn là ưu tiên hàng đầu của chúng tôi.

00:55 06/05/2022

Chúng tôi đánh giá cao tính minh bạch và hiểu rằng khách hàng của chúng tôi đang tìm kiếm sự hiểu biết sâu sắc hơn về tác động của sự cố này và phản ứng của chúng tôi cho đến nay.

Chúng tôi tiếp tục làm việc chăm chỉ để đối phó với sự cố Heroku này lần đầu tiên được công bố vào ngày 15 tháng 4 năm 2022. Chúng tôi đã làm việc với GitHub, các nhà cung cấp thông tin tình báo về mối đe dọa của chúng tôi, các đối tác công nghiệp khác và đã liên lạc với cơ quan thực thi pháp luật để hỗ trợ điều tra của chúng tôi. Không ảnh hưởng đến cuộc điều tra đang diễn ra của chúng tôi hoặc sự an toàn của khách hàng, chúng tôi có thể chia sẻ các chi tiết sau đây.

Vào ngày 7 tháng 4 năm 2022, một tác nhân đe dọa đã có quyền truy cập vào cơ sở dữ liệu Heroku và tải xuống mã thông báo OAuth tích hợp github của khách hàng được lưu trữ. Truy cập vào môi trường đã đạt được bằng cách tận dụng một mã thông báo bị xâm phạm cho một tài khoản máy Heroku. Theo GitHub, tác nhân đe dọa bắt đầu liệt kê siêu dữ liệu về kho lưu trữ của khách hàng với mã thông báo OAuth đã tải xuống vào ngày 8 tháng 4 năm 2022. Vào ngày 9 tháng 4 năm 2022, kẻ tấn công đã tải xuống một tập hợp con của kho lưu trữ GitHub riêng tư Heroku từ GitHub, chứa một số mã nguồn Heroku.

GitHub đã xác định hoạt động vào ngày 12 tháng 4 năm 2022 và thông báo cho Salesforce vào ngày 13 tháng 4 năm 2022, tại thời điểm đó chúng tôi bắt đầu điều tra. Kết quả là, vào ngày 16 tháng 4 năm 2022, chúng tôi đã thu hồi tất cả các token OAuth tích hợp GitHub, ngăn khách hàng triển khai ứng dụng từ GitHub thông qua Bảng điều khiển Heroku hoặc thông qua tự động hóa. Chúng tôi vẫn cam kết đảm bảo việc tích hợp được an toàn trước khi chúng tôi kích hoạt lại chức năng này.

Một cách riêng biệt, cuộc điều tra của chúng tôi cũng tiết lộ rằng cùng một mã thông báo bị xâm nhập đã được tận dụng để truy cập vào cơ sở dữ liệu và trích xuất mật khẩu băm và muối cho tài khoản người dùng của khách hàng. Vì lý do này, Salesforce đảm bảo tất cả mật khẩu người dùng Heroku được đặt lại và thông tin đăng nhập có khả năng bị ảnh hưởng được làm mới. Chúng tôi đã xoay các thông tin đăng nhập Heroku nội bộ và đưa ra các phát hiện bổ sung. Chúng tôi đang tiếp tục điều tra nguồn gốc của thỏa hiệp token.

14:33 09/05/2022

Khi cuộc điều tra của chúng tôi tiếp tục vào cuối tuần, chúng tôi muốn chia sẻ một bài đăng trên blog từ Tổng giám đốc Heroku và Salesforce EVP, Bob Wise, liên quan đến vấn đề này và phản hồi của chúng tôi.

Kể từ bản cập nhật cuối cùng của chúng tôi, chúng tôi đã xác nhận rằng Heroku đã hoàn thành việc đặt lại mật khẩu cần thiết. Chúng tôi không có bằng chứng về bất kỳ truy cập trái phép nào vào các hệ thống Heroku kể từ ngày 14 tháng 4 năm 2022. Phân tích này dựa trên cuộc điều tra của chúng tôi cho đến nay, được hỗ trợ bởi một nhà cung cấp bảo mật bên thứ ba hàng đầu và các hệ thống phát hiện mối đe dọa rộng lớn của chúng tôi.

Chúng tôi cũng muốn giải quyết một câu hỏi liên quan đến tác động đến các biến môi trường. Trong khi chúng tôi xác nhận rằng tác nhân đe dọa có quyền truy cập vào bí mật khách hàng Heroku được mã hóa được lưu trữ trong var cấu hình, các bí mật được mã hóa khi nghỉ ngơi và tác nhân đe dọa không truy cập khóa mã hóa cần thiết để giải mã bí mật var cấu hình.

09:21 18/05/2022

Dựa trên tiến độ hiện tại, chúng tôi có kế hoạch hoàn thành cuộc điều tra trước ngày 30 tháng 5 năm 2022. Chúng tôi đang tiếp tục các hoạt động khắc phục và dự định công bố thông tin bổ sung về sự cố sau khi sự cố được giải quyết.
  • Tại thời điểm này, chúng tôi không thấy mã thông báo OAuth bổ sung nào bị xâm phạm ngoài những gì đã được báo cáo vào ngày 15 tháng 4 năm 2022.
  • GitHub đã liên hệ với tất cả khách hàng mà họ xác định là bị ảnh hưởng bởi sự cố.
  • Heroku đã hoàn thành việc đặt lại mật khẩu cần thiết vào ngày 5 tháng 5 năm 2022.
  • Chúng tôi không có bằng chứng về bất kỳ truy cập trái phép nào vào hệ thống Heroku kể từ ngày 14 tháng 4 năm 2022.
  • Trong trường hợp chúng tôi thông báo trực tiếp cho khách hàng, email liên lạc sẽ được gửi từ Salesforce (techcomms@mail.salesforce.com).
Chúng tôi biết bạn đang đợi chúng tôi kích hoạt lại khả năng tích hợp với GitHub và chúng tôi đã cam kết với bạn rằng chúng tôi sẽ chỉ làm như vậy sau khi đánh giá bảo mật.

20:24 19/05/2022

Chúng tôi cố gắng đảm bảo an ninh cho khách hàng và do đó, tiếp tục theo đuổi tất cả các khách hàng tiềm năng như một phần của cuộc điều tra của chúng tôi. Là một phần của cam kết đó, chúng tôi muốn cho bạn biết về hai phát hiện bổ sung có thể ảnh hưởng đến một số lượng nhỏ khách hàng của chúng tôi.

Như đã báo cáo trên status.heroku.com , vào ngày 7 tháng 4 năm 2022, một kẻ đe dọa đã có được quyền truy cập vào cơ sở dữ liệu Heroku và tải xuống mã thông báo OAuth tích hợp GitHub của khách hàng được lưu trữ. Cùng ngày đó, kẻ đe dọa đã tải xuống dữ liệu từ một cơ sở dữ liệu khác lưu trữ các cấu hình cấp độ đường ống cho Ứng dụng đánh giá và Heroku CI . Ngoài ra, một nhóm nhỏ người dùng Heroku khác đã để lộ các mã thông báo Heroku của họ trong một var cấu hình cho một đường ống. Điều này được xác định vào ngày 16 tháng 5 năm 2022, sau khi điều tra thêm về pháp y. Chúng tôi không có bằng chứng về bất kỳ truy cập trái phép nào vào hệ thống Heroku kể từ ngày 14 tháng 4 năm 2022.

Bất kỳ người dùng nào bị ảnh hưởng bởi những vấn đề này đều được thông báo trực tiếp và được cung cấp thêm hướng dẫn. Nếu bạn không nhận được email trực tiếp từ chúng tôi, chúng tôi không có bằng chứng cho thấy bạn bị ảnh hưởng bởi một trong hai vấn đề được xác định gần đây này. Nếu bạn nhận được email từ Salesforce (techcomms@mail.salesforce.com) và đã xác định được hoạt động đáng ngờ, vui lòng liên hệ với security@salesforce.com.

TypeScript: Cài đặt TypeScript

Chào mừng bạn đã đến với bài viết này! Trong bài viết trước, mình đã giới thiệu về TypeScript rồi, hôm nay, chúng mình cùng tìm hiểu cách cài TypeScript nhé!

Các công cụ bạn cần chuẩn bị để cài đặt cho việc sử dụng TypeScript như sau:

  • Node.js: Node.js là môi trường bạn sẽ dùng để chạy phần biên dịch mã code TypeScript. Lưu ý rằng bạn không cần có kiến thức về node.js! Chỉ dùng để làm môi trường mà chạy biên dịch (compile) cho code thôi!
  • TypeScript compiler: Là một mô-đun Node.js mà sẽ đảm nhận phần biên dịch code TypeScript thành code JavaScript.
  • Visual Studio Code (VS code): Là một trình viết mã (code editor) có hỗ trợ viết TypeScript. Bạn cũng có thể sử dụng các editor khác (như Sublime Text,...) nhé.

Nếu bạn sử dụng VS code, bạn có thể cài đặt phần mở rộng sau để tăng tốc quá trình phát triển:
  • Live Server : Cho phép bạn khởi chạy một server nội bộ (localhost) cho việc phát triển.

Cài đặt Node.js

Để cài đặt node.js, bạn hãy làm theo các bước sau:
  • Truy cập node.js download page
  • Tải về tệp cài đặt node.js phù hợp với hệ điều hành của bạn (Windows, macOS hoặc Linux)
  • Tiến hành cài đặt gói đã tải về (theo hướng dẫn trên trang Web)
  • Xác nhận cài đặt bằng cách mở Terminal trên macOS và Linux hoặc Command trên Windows và gõ command node -v .Nếu bạn thấy hiển thị version của node.js thì bạn đã cài đặt thành công node.js trên máy tính của bạn.

Cài đặt bộ biên dịch compiler

Để cài đặt, mở Terminal trên macOS và Linux hoặc Command trên Windows và gõ
npm install -g typescript

Sau khi cài đặt, bạn có thể gõ command bên dưới để kiểm tra version hiện tại của TypeScript compiler:

tsc --v

Nó sẽ hiển thị version như thế này:

Version 4.6.4

Nếu bạn đang dùng máy Windows và gặp lỗi:

'tsc' is not recognized as an internal or external command, operable program or batch file.

Để sữa lỗi này bạn hãy thêm đường dẫn 'C:\Users<tên user của bạn>\AppData\Roaming\npm' vào biến môi trường PATH nhé. Chú ý bạn hãy thay đổi <tên user của bạn> đến tên user trên Windows của bạn.

Cài đặt Visual Studio Code (VS Code)

Để cài đặt VS Code, bạn hãy làm theo các bước sau:

- Di chuyển đến VS Code download page

- Tải xuống phiên bản VS Code mới nhất phù hợp với hệ điều hành của bạn (Windows, macOS hoặc Linux)

- Tiến hành cài đặt package đã downloaded về

- Mở VS Code

Sau khi mở VS Code, bạn sẽ thấy VS Code như hình sau:

Để cài đặt Live Server extension, bạn hãy làm theo các bước dưới đây:

  • Nhấp vào tab Extensions để chuyển sang màn hình Extensions cho Visual Studio Code
  • Gõ live server và tìm kiếm.
  • Nhấp vào Live Server của Ritwick Dey, chọn Install để cài đặt extension.

Vậy là quá trình cài đặt TypeScript của chúng ta đã hoàn thành rồi nhé! Hãy chờ đọc bài viết tiếp theo để học tiếp về TypeScript nha!

Tìm hiểu về HTTP Status Code

Nếu bạn là một web developer hoặc thường xuyên làm việc với các API chắc chắn bạn đã quá quen thuộc với các con số 200, 404, 500... chúng là các Status Code của HTTP. Vậy có khi nào bạn tự hỏi ngoài các con số trên còn các số nào không, ý nghĩa của chúng là gì? Trong blog này tôi sẽ giải quyết điều này giúp bạn. Nào chúng ta bắt đầu thôi!

Khi trình duyệt yêu cầu một điều gì đó từ máy chủ web, lỗi có thể xảy ra và máy chủ có thể trả về mã lỗi như "404 Not Found".

Người ta thường đặt tên cho những lỗi này là thông báo lỗi HTML. Nhưng những thông báo này cũng được gọi là thông báo trạng thái HTTP. Trên thực tế, máy chủ luôn trả về thông báo cho mọi yêu cầu. Thông báo phổ biến nhất là 200 OK.

Trước tiên chúng ta sẽ tìm hiểu một chút về HTTP Response. Khi nhận và phiên dịch một HTTP Request, Server sẽ gửi tín hiệu phản hồi là một HTTP Response bao gồm các thành phần sau :

  • Một dòng trạng thái (Status-Line)
  • Không hoặc nhiều hơn các trường Header (General|Response|Entity) được theo sau CRLF
  • Một dòng trống chỉ dòng kết thúc của các trường Header
  • Một phần thân thông báo tùy ý
Dưới đây là một ví dụ về HTTP status code:

Phản hồi 200/OK

Bây giờ chúng ta sẽ tập trung chính vào dòng Status Code: Một dòng Status Code bao gồm mã hóa trạng thái số (Status Code) và cụm từ thuần văn bản được liên kết của nó. Các thành phần được phân biệt bởi dấu cách

Status code (Mã hóa trạng thái thường được gọi là mã trạng thái) là một số nguyên 3 ký tự, trong đó ký tự đầu tiên của Status-Code định nghĩa loại Response và hai ký tự cuối không có bất cứ vai trò phân loại nào. Có 5 giá trị của ký tự đầu tiên:

  • 1xx: Information (Thông tin): Khi nhận được những mã như vậy tức là request đã được server tiếp nhận và quá trình xử lý request đang được tiếp tục.
  • 2xx: Success (Thành công): Khi nhận được những mã như vậy tức là request đã được server tiếp nhận, hiểu và xử lý thành công
  • 3xx: Redirection (Chuyển hướng): Mã trạng thái này cho biết client cần có thêm action để hoàn thành request
  • 4xx: Client Error (Lỗi Client): Nó nghĩa là request chứa cú pháp không chính xác hoặc không được thực hiện.
  • 5xx: Server Error (Lỗi Server): Nó nghĩa là Server thất bại với việc thực hiện một request nhìn như có vẻ khả thi.
Status-Code HTTP là có thể co giãn và ứng dụng HTTP không được yêu cầu để hiểu ý nghĩa của tất cả các mã trạng thái được đăng ký. Một danh sách của tất cả các mã trạng thái đã được cung cấp trong một chương riêng biệt.

Cám ơn các bạn đã theo dõi.

TypeScript là gì?

TypeScript là một ngôn ngữ lập trình mã nguồn mở, được xây dựng dựa trên JavaScript. Đầu tiên bạn bạn viết một đoạn code TypeScript, sau đó bạn phải biên dịch (compiler) đoạn code đó ra code JavaScript thuần túy.

Khi chúng ta có code JavaScript thuần túy, bạn có thể chạy nó trên bất kỳ môi trường nào mà JavaScript chạy.

Files chứa code TypeScript có phần đuôi mở rộng .ts thay vì sử dụng đuôi .js của files Javascript thuần túy.


TypeScript giúp tăng năng suất làm việc bằng việc tránh được lỗi (bug)

Khi sử dụng Types để định nghĩa kiểu dữ liệu trong TypeScript bạn có thể bắt được các bugs tại thời điểm biên dịch thay vì để chúng xuất hiện trong môi trường chạy thực tế.

Ví dụ chúng ta có hàm cộng 2 số như bên dưới

function add(x, y) {

   return x + y;

}

Nếu bạn lấy giá trị từ form input html và đưa chúng vào trong function thì bạn sẽ nhận được kết quả là string chứ không phải là number.

let result = add(input1.value, input2.value);
console.log(result); // result of concatenating strings

Ví dụ, nếu người dùng nhập giá trị 10 và 20 thì hàm add() sẽ trả về giá trị 1020 chứ không phải là 30.
Lý do là giá trị input1.value và input2.value nhận từ from input là chuỗi, không phải là string. Khi bạn sử dụng toán tử + để cộng 2 string, nó sẽ trả về một string.
Khi bạn sử dụng TypeScript để chỉ định rõ rằng kiểu dữ liệu cho các tham số như sau:

function add(x: number, y: number) {
   return x + y;
}

Trong hàm add(), chúng ta thêm types number cho các tham số. Hàm add() sẽ chỉ chấp nhận các tham số có types giá trị là numbers.
Khi bạn gọi hàm bên dưới:

let result = add(input1.value, input2.value);

Trình biên dịch TypeScript sẽ gặp lỗi nếu bạn biên dịch từ TypeScript code đến JavaScript. Do đó, bạn có thể ngăn lỗi xảy ra trong thời gian chạy chương trình.

Giám đốc Heroku: "Chúng tôi đã nghe phản hồi của bạn"

 Bài viết được biên dịch sang tiếng Việt bởi DBlog, mong các thánh Copy ghi nguồn và dẫn Link đầy đủ để tôn trọng tác giả!

Tôi bắt đầu với tư cách là Heroku GM (thành viên đội Heroku) vài tuần trước với một sự nhiệt tình mãnh liệt để mong được trở thành một phần của một đội ngũ tốt như vậy. Như bạn có thể mong đợi, vài tuần qua không phải là những gì tôi có thể tưởng tượng. Nhưng, trái ngược với những gì bạn có thể mong đợi, tôi tràn đầy năng lượng.

Tôi đã rất ấn tượng bởi các kỹ năng và sự cống hiến của đội ngũ Heroku, và cam kết của Salesforce đối với Niềm tin là giá trị số 1 của chúng tôi. Tôi cũng tràn đầy năng lượng vì rõ ràng là đội Heroku không đứng một mình bên trong Salesforce. Để đối phó với sự cố này, các đồng nghiệp Salesforce từ khắp nơi trong công ty đã tăng cường đội Heroku bằng mọi cách có thể. Nhóm Heroku và các đồng nghiệp của họ đã làm việc suốt ngày đêm, bao gồm cả đêm và cuối tuần. Nó thường là trong một cuộc khủng hoảng khi một đội thực sự đến với nhau, và nó đã được truyền cảm hứng để xem điều đó xảy ra ở đây.

Dựa trên cuộc điều tra của chúng tôi cho đến nay và công việc khó khăn của nhóm của chúng tôi, được hỗ trợ bởi một nhà cung cấp bảo mật bên thứ ba và các hệ thống phát hiện mối đe dọa rộng lớn của chúng tôi, chúng tôi không có bằng chứng về bất kỳ quyền truy cập trái phép nào vào các hệ thống Heroku kể từ ngày 14 tháng 4 năm 2022. Chúng tôi tiếp tục giám sát chặt chẽ các hệ thống của mình và liên tục cải thiện việc kiểm soát phát hiện và bảo mật để ngăn chặn các nỗ lực trong tương lai. Ngoài ra, chúng tôi không có bằng chứng cho thấy kẻ tấn công đã truy cập vào bất kỳ tài khoản khách hàng nào hoặc giải mã các biến môi trường của khách hàng.

Chúng tôi đã nghe phản hồi của bạn về thông tin liên lạc của chúng tôi trong sự cố này. Bạn muốn minh bạch hơn, thông tin chuyên sâu hơn và ít bài đăng "chúng tôi đang làm việc trên đó". Đó là một sự cân bằng khó khăn để tấn công. Trong khi chúng tôi cố gắng minh bạch, chúng tôi cũng phải đảm bảo rằng chúng tôi không đặt khách hàng của mình vào rủi ro trong một cuộc điều tra tích cực. Bài đăng trạng thái của chúng tôi vào ngày 5 tháng 5 năm 2022, là một phần trong nỗ lực của chúng tôi để có được sự cân bằng đúng. Dựa trên phản hồi của bạn, chúng tôi sẽ chỉ bắt đầu xuất bản khi chúng tôi có thông tin liên quan mới để chia sẻ. Sau khi sự cố được giải quyết, chúng tôi sẽ công bố chi tiết liên quan đến vụ việc để cung cấp một bức tranh đầy đủ hơn về hành động của kẻ tấn công.

Chúng ta biết rằng sự tích hợp giữa Heroku và GitHub là một phần của phép thuật sử dụng Heroku. Chúng tôi đã nghe to, nhiều và rõ ràng rằng bạn thất vọng vì chúng tôi đã mất bao lâu để kích hoạt lại tích hợp GitHub giúp đơn giản hóa quy trình triển khai của bạn. Chúng tôi hy vọng sẽ khôi phục lại sự tích hợp trong vài tuần tới, nhưng chúng tôi sẽ chỉ làm điều đó khi chúng tôi chắc chắn rằng việc tích hợp là an toàn và an toàn cho khách hàng của chúng tôi. Cho đến lúc đó, vui lòng dựa vào git push heroku hoặc một trong những cách tiếp cận thay thế sử dụng API tích hợp vào nền tảng của chúng tôi. Khi chúng tôi tiến hành thông qua phản hồi của chúng tôi, chúng tôi sẽ cung cấp thông tin cập nhật khi chúng có sẵn.

Chúng ta có thể tốt hơn, và chúng ta sẽ như vậy. Trong quá trình ứng phó với sự cố này, chúng tôi đã bổ sung đáng kể vào tình trạng an ninh tổng thể của chúng tôi. Chúng tôi sẽ làm việc để xây dựng lại niềm tin của bạn thông qua các thông tin liên lạc có ý nghĩa hơn và đưa việc tích hợp với GitHub trở lại trực tuyến.

Tôi có một sự nhiệt tình suốt đời cho các nhà phát triển và kinh nghiệm họ có cùng nhau xây dựng phần mềm, và tôi không thể vui mừng hơn khi trở thành một phần của gia đình Heroku khi chúng tôi lập biểu đồ khóa học của chúng tôi trong những năm tới. Nếu bạn muốn cung cấp cho tôi phản hồi trực tiếp, vui lòng liên hệ với tôi tại đây: www.linkedin.com/in/bobwise


Trước đó, vào ngày 5 tháng 5 năm 2022, kho GitHub của khách hàng có liên kết với Heroku và Travis CI đã bị tin tặc truy cập. Nguyên nhân chính có thể là do khóa xác thực được cấp cho hai đơn vị này đã bị lợi dụng trái phép. DBlog cũng đã có một bài viết cập nhật chính thức về vụ việc này. Theo đó, các kho lưu trữ GitHub của ngươì dùng (kể cả riêng tư) đã bị truy cập trái phép, cả NPM cũng bị ảnh hưởng. Cùng chờ xem những diễn biến mới, theo dõi DBlog ngay!

VSDC phiên bản 6.9 đã hỗ trợ thêm màu LUT, sửa thời gian, hiệu ứng God Rays!

 

Trình chỉnh sửa màu LUT và hỗ trợ thêm LUT

Trong tất cả các tính năng mới, trình edit cho các file LUT được cho là một trong những tính năng thú vị nhất. Trong vài năm qua, VSDC đã giới thiệu hỗ trợ LUT và đã thêm 10 LUT tích hợp sẵn trực tiếp trong cửa sổ Effect. Từ phiên bản 6.9, VSDC mở rộng chức năng và cho phép bạn làm như sau:
  • tạo LUTs của riêng bạn và lưu chúng dưới dạng mẫu
  • cho bạn custom các LUT hiện có, bao gồm bộ LUT được nhập từ tài nguyên của bên thứ 3 (các tệp .CUBE)
  • xuất LUT tùy chỉnh và sử dụng chúng trong các trình chỉnh sửa ảnh hoặc video khác (xuất ra .CUBE)
Để làm cho việc chỉnh sửa LUT có thể, phần VSDC đã thêm một trình chỉnh sửa LUT trong phần làm việc trên cơ sở biểu đồ tần suất HSL. Bằng cách điều chỉnh các giá trị Hue, Saturation và Lightness trên biểu đồ tần suất, bạn sẽ có thể thay đổi các tham số LUT và xem kết quả trong cửa sổ xem trước ngay lập tức! 

Sưả thời gian cho các Movement object

Một tính năng được chờ đợi từ lâu đã có sẵn trong VSDC 6.9 Pro là thời gian remapping cho các đối tượng chuyển động. Thời gian remapping cho phép bạn kiểm soát tốc độ di chuyển và hướng cho các đối tượng hoạt hình: hình ảnh, biểu tượng, tiêu đề văn bản, v.v. Hiệu ứng trông khá ấn tượng và đặc biệt tiện dụng cho phần giới thiệu video


Effect God Rays

Nhóm các hiệu ứng video lấy cảm hứng từ thiên nhiên đã nhận được một hiệu ứng ấn tượng mới, được đặt tên là God Rays. Trong tự nhiên, các tia God được định hình bởi ánh sáng trực tiếp xuyên qua những khoảng trống trong các đám mây. Do thể tích của chúng, những tia này thường giống như ngọn đuốc ánh sáng hoặc cột đi thẳng từ bầu trời - do đó tên của ảo ảnh.

Tải về như thế nào?

Để cài đặt chương trình, hãy truy cập ở đây và nhấp vào nút "Download Video Editor", sau đó nhấp vào file cài đặt và khởi động tệp cài đặt đã tải xuống và làm theo hướng dẫn trên màn hình.
Xin lưu ý rằng phiên bản hiện tại không chạy trên các phiên bản Windows trước Windows Vista. Nếu bạn sử dụng Windows XP, vui lòng sử dụng VSDC Video Editor phiên bản 6.4.2

Nhiều khách hàng dùng GitHub bị lộ kho lưu trữ mã nguồn qua OAuth

 

• Live Now (Bắt đầu cập nhật vào 13:19:13 13/04/2022) | Từ cũ tới mới | Bài viết nên xem bằng App DBlog

13:19 13/04/2022

Chào mừng các bạn đang theo dõi chương trình cập nhật vụ Hack vào các kho dữ liệu của GitHub do sơ hở của các bên thứ ba, chúng tôi sẽ cập nhật thông tin mới nhất tại đây
Bản thân chúng tôi cũng là một đơn vị bị ảnh hưởng khi mã nguồn cơ sở phần mềm CMS quản lí đăng bài của chúng tôi cũng dùng GitHub và deploy trên Heroku!
Thôi không để các bạn đợi lâu, chúng ta cùng bắt đầu vào diễn biến chính!


Vụ việc bắt đầu cũng có thể đã khá lâu, được đưa ra ánh sáng vào ngày 12 tháng 4 khi GitHub phát hiện ra các dấu hiệu cho thấy một tác nhân độc hại đã tận dụng mã thông báo người dùng OAuth bị đánh cắp được cấp bởi họ cho Heroku và Travis-CI để tải xuống dữ liệu từ hàng chục tổ chức, bao gồm cả NPM

09:29 19/04/2022

Nền tảng thuộc sở hữu của Microsoft cho biết họ sẽ bắt đầu cảnh báo khách hàng kịp thời nếu cuộc điều tra đang diễn ra đã xác định thêm các nạn nhân. Hơn nữa, họ cảnh báo rằng kẻ thù cũng có thể đang đào sâu vào các kho lưu trữ cho các bí mật có thể được sử dụng trong các cuộc tấn công khác.

Heroku, đã rút hỗ trợ integration với GitHub sau sự cố, khuyến nghị người dùng có tùy chọn tích hợp triển khai ứng dụng của họ qua nền Git hoặc các nhà cung cấp lưu trữ mã nguồn có-thể-chạy cho việc gỡ lỗi khác như GitLab hoặc BitBucket.

Nhà cung cấp dịch vụ tích hợp liên tục Travis CI, trong một tư vấn tương tự được công bố vào thứ 2, tuyên bố rằng họ đã "thu hồi tất cả các khóa ủy quyền và mã thông báo ngăn chặn bất kỳ quyền truy cập nào vào hệ thống của chúng tôi."

Và theo cập nhật mới nhất, các kho lưu trữ riêng tư cũng có thể đã bị truy cập

09:56 19/04/2022 từ GitHub Blog

Nguồn: https://github.blog/2022-04-15-security-alert-stolen-oauth-user-tokens/

Cập nhật ngày 18 tháng 4 năm 2022: GitHub đã gửi thông báo cho các nạn nhân được biết đến của hành vi trộm cắp mã thông báo OAuth của bên thứ ba.

Vào ngày 12 tháng 4, GitHub Security đã bắt đầu một cuộc điều tra phát hiện ra bằng chứng cho thấy một kẻ tấn công đã lạm dụng mã thông báo người dùng OAuth bị đánh cắp được phát hành cho hai nhà tích hợp OAuth của bên thứ ba, Heroku và Travis-CI, để tải xuống dữ liệu từ hàng chục tổ chức, bao gồm npm. Các ứng dụng được duy trì bởi các nhà tích hợp này đã được sử dụng bởi người dùng GitHub, bao gồm cả github. Chúng tôi không tin rằng kẻ tấn công đã có được các token này thông qua sự thỏa hiệp của GitHub hoặc các hệ thống của nó, bởi vì các token được đề cập không được GitHub lưu trữ ở định dạng ban đầu, có thể sử dụng được. Sau khi điều tra ngay lập tức, chúng tôi đã tiết lộ những phát hiện của chúng tôi cho Heroku và Travis-CI vào ngày 13 và 14 tháng 4; chi tiết hơn có sẵn dưới đây và chúng tôi sẽ cập nhật blog này khi chúng tôi tìm hiểu thêm.

Nhìn trên toàn bộ nền tảng GitHub, chúng tôi có niềm tin cao rằng các token người dùng OAuth bị xâm phạm từ các ứng dụng OAuth do Heroku và Travis-CI duy trì đã bị đánh cắp và lạm dụng để tải xuống các kho lưu trữ riêng tư thuộc hàng chục tổ chức nạn nhân đang sử dụng các ứng dụng này. Phân tích của chúng tôi về hành vi khác của tác nhân đe dọa cho thấy các diễn viên có thể đang khai thác nội dung kho lưu trữ riêng tư đã tải xuống, mà mã thông báo OAuth bị đánh cắp có quyền truy cập, cho các bí mật có thể được sử dụng để xoay quanh cơ sở hạ tầng khác.

Các ứng dụng OAuth bị ảnh hưởng đã biết kể từ ngày 15 tháng 4 năm 2022:
  • Bảng điều khiển Heroku (ID: 145909)
  • Bảng điều khiển Heroku (ID: 628778)
  • Bảng điều khiển Heroku – Xem trước (ID: 313468)
  • Bảng điều khiển Heroku – Cổ điển (ID: 363831)
  • Travis CI (ID: 9216)

Đây là trích đoạn cập nhật của GitHub vào ngày 12 tháng Tư năm 2022

10:09 19/04/2022 từ GitHub Blog

Tác động đến GitHub.com và npm

Phát hiện ban đầu liên quan đến chiến dịch này xảy ra vào ngày 12 tháng 4 khi GitHub Security xác định quyền truy cập trái phép vào cơ sở hạ tầng sản xuất NPM của chúng tôi bằng cách sử dụng khóa API AWS bị xâm phạm. Dựa trên phân tích tiếp theo, chúng tôi tin rằng khóa API này đã thu được bởi kẻ tấn công khi họ tải xuống một bộ kho lưu trữ npm riêng tư bằng cách sử dụng mã thông báo OAuth bị đánh cắp từ một trong hai ứng dụng OAuth của bên thứ ba bị ảnh hưởng được mô tả ở trên. Sau khi phát hiện ra hành vi trộm cắp rộng hơn các token OAuth của bên thứ ba không được GitHub hoặc NPM lưu trữ vào tối ngày 13 tháng 4, chúng tôi ngay lập tức hành động để bảo vệ GitHub và NPM bằng cách thu hồi các token liên quan đến GitHub và việc sử dụng nội bộ các ứng dụng bị xâm nhập này của NPM.

Chúng tôi tin rằng hai tác động đối với NPM là truy cập trái phép và tải xuống các kho lưu trữ riêng tư trong tổ chức NPM về GitHub.com và quyền truy cập tiềm năng vào các gói NPM khi chúng tồn tại trong bộ nhớ AWS S3. Tại thời điểm này, chúng tôi đánh giá rằng kẻ tấn công đã không sửa đổi bất kỳ gói nào hoặc có quyền truy cập vào bất kỳ dữ liệu hoặc thông tin đăng nhập nào của tài khoản người dùng. Chúng tôi vẫn đang làm việc để hiểu xem kẻ tấn công đã xem hoặc tải xuống các gói riêng tư hay không. npm sử dụng cơ sở hạ tầng hoàn toàn tách biệt với GitHub.com; GitHub không bị ảnh hưởng trong cuộc tấn công ban đầu này. Mặc dù cuộc điều tra vẫn tiếp tục, chúng tôi không tìm thấy bằng chứng nào cho thấy các repos tư nhân thuộc sở hữu của GitHub khác đã được nhân bản bởi kẻ tấn công bằng cách sử dụng mã thông báo OAuth của bên thứ ba bị đánh cắp.

Khi GitHub xác định các token OAuth của bên thứ ba bị đánh cắp ảnh hưởng đến người dùng GitHub, GitHub đã thực hiện các bước ngay lập tức để phản hồi và bảo vệ người dùng. GitHub đã liên lạc với Heroku và Travis-CI để yêu cầu họ bắt đầu điều tra bảo mật của riêng họ, thu hồi tất cả các token người dùng OAuth liên quan đến các ứng dụng bị ảnh hưởng và bắt đầu làm việc để thông báo cho người dùng của chính họ.

GitHub vẫn tham gia chặt chẽ với cả hai tổ chức trong nỗ lực hỗ trợ các nỗ lực điều tra và phục hồi của họ và bảo vệ khách hàng chia sẻ tốt hơn.

GitHub hiện đang làm việc để xác định và thông báo cho tất cả những người dùng và tổ chức nạn nhân bị ảnh hưởng đã biết mà chúng tôi đã phát hiện ra thông qua phân tích của chúng tôi trên GitHub.com. Những khách hàng này sẽ nhận được email thông báo từ GitHub với các chi tiết bổ sung và các bước tiếp theo để hỗ trợ phản hồi của riêng họ trong vòng 72 giờ tới.

Đây là trích đoạn cập nhật của GitHub

16:43 22/04/2022

Kể từ 7:33 PM UTC vào ngày 22 tháng 4 năm 2022, chúng tôi đã thông báo cho các nạn nhân của chiến dịch này mà chúng tôi đã xác định là có chi tiết kho lưu trữ được liệt kê bằng mã thông báo ứng dụng OAuth bị đánh cắp, nhưng KHÔNG có nội dung lưu trữ được tải xuống.

Hoạt động niêm yết kho lưu trữ được thực hiện bởi kẻ tấn công thông qua việc lạm dụng mã thông báo người dùng OAuth của bên thứ ba được duy trì bởi Heroku và Travis CI. Chúng tôi không tin rằng kẻ tấn công đã có được các token này thông qua sự thỏa hiệp của GitHub hoặc hệ thống của nó, bởi vì các token được đề cập không được GitHub lưu trữ ở định dạng ban đầu, có thể sử dụng được của chúng có thể bị kẻ tấn công lạm dụng.

Hoạt động được thực hiện bằng cách sử dụng /user/repos và /orgs/{org}/repos của GitHub API endpoints. Tài liệu của chúng tôi đưa ra các ví dụ về dữ liệu được trả về từ các yêu cầu đến các điểm cuối này:

00:23 28/04/2022

Kể từ 5:00 chiều UTC ngày 27 tháng 4 năm 2022, chúng tôi đang trong quá trình gửi thông báo dự kiến cuối cùng cho GitHub.com khách hàng đã tích hợp ứng dụng Heroku hoặc Travis CI OAuth được ủy quyền trong tài khoản GitHub của họ.

Phân tích của GitHub về hành vi của kẻ tấn công cho thấy các hoạt động sau đây được thực hiện trên GitHub.com bằng cách sử dụng mã thông báo ứng dụng OAuth bị đánh cắp:

1. Kẻ tấn công đã xác thực với API GitHub bằng cách sử dụng các token OAuth bị đánh cắp được cấp cho Heroku và Travis CI.
2. Đối với hầu hết những người có các ứng dụng Heroku hoặc Travis CI OAuth bị ảnh hưởng được ủy quyền trong tài khoản GitHub của họ, kẻ tấn công đã liệt kê tất cả các tổ chức của người dùng.
3. Kẻ tấn công sau đó chọn lọc các mục tiêu dựa trên các tổ chức được liệt kê.
4. Kẻ tấn công liệt kê các kho lưu trữ riêng tư cho các tài khoản người dùng quan tâm.
5. Kẻ tấn công sau đó tiến hành nhân bản một số kho lưu trữ riêng tư đó.

Mô hình hành vi này cho thấy kẻ tấn công chỉ liệt kê các tổ chức để xác định các tài khoản để nhắm mục tiêu có chọn lọc để liệt kê và tải xuống các kho lưu trữ riêng tư. GitHub tin rằng các cuộc tấn công này được nhắm mục tiêu cao dựa trên thông tin có sẵn và phân tích của chúng tôi về hành vi của kẻ tấn công bằng cách sử dụng các token OAuth bị xâm nhập được cấp cho Travis CI và Heroku.

Sau loạt thông báo này, GitHub sẽ hoàn thành thông báo trực tiếp cho từng người dùng bị ảnh hưởng mà chúng tôi có thể phát hiện lạm dụng bằng cách sử dụng mã thông báo OAuth bị đánh cắp.

Khách hàng cũng nên tiếp tục theo dõi Heroku và Travis CI để cập nhật về các cuộc điều tra của riêng họ về các ứng dụng OAuth bị ảnh hưởng

12:29 28/04/2022

Vậy là đã (tạm) kết thúc bài cập nhật. Nhưng chúng tôi sẽ tiếp tục cập nhật vụ việc cho người dùng Heroku! Bạn có thể xem tại Link dưới đây: Cập nhật động thái mới nhất của Heroku trong vụ Hack bằng OAuth (dblog-it.blogspot.com)



• End Live (Kết thúc cập nhật vào 12:30 28/04/2022)

RawGit sắp ngừng hoạt động

 Hôm nay, 03/02/2022, khi truy cập vào nền tảng lưu trữ JS, CSS của RawGit, mọi người sẽ thấy một thông báo "RawGit has reached the end of its useful life (tạm dịch là RawGit đã kết thúc cuộc đời hữu ích của nó)" chứ không như thường thấy là thống kê và hướng dẫn tích hợp, điều này đã làm các anh em Developer lo lắng. Nhưng không sao, bài viết này mình cũng sẽ hướng dẫn các bạn chuyển từ RawGit sang jsDelivr, cũng là một nền tảng khác không thua kém đâu!

Nhưng chờ chút, RawGit là gì vậy?

Có lẽ RawGit là một nền tảng ít quen thuộc và khá lạ lẵm với các bạn lập trình viên Việt Nam mình, nhưng trước jsDelivr (nổi tiếng là CDN Host tốt nhất cho việc host tập lệnh) thì đây là nền tảng đầu tiên, đánh dấu sự ra đời cho cuộc cách mạng các dịch vụ Host miễn phí qua kho repo GitHub miễn phí mà không ai tưởng tượng được!

Vào năm 2013, Ryan Grove là một lập trình viên frontend tại SmugMug đã tạo nên RawGit. Anh kể rằng "RawGit luôn là một dự án sở thích nhỏ. Tôi chưa bao giờ có thể dành nhiều hơn một vài phút mỗi tuần cho nó, nhưng nó đã đạt được một mức độ phổ biến mà tôi không bao giờ có thể tưởng tượng được!"

Trong suốt quãng đời của nó, RawGit đã phục vụ hơn 4,2 tỷ yêu cầu và tiêu thụ hơn 176 terabyte băng thông, những con số này chỉ trong 1 tháng!

Về chủ đề chính: Sự kết thúc của RawGit

Cuộc vui cũng có lúc kết thúc, RawGit cũng rồi sẽ có ngày tàn...

" Thật không may, RawGit cũng đã trở thành một cơ chế phân phối hấp dẫn cho phần mềm độc hại. RawGit có nghĩa là để cải thiện cuộc sống của mọi người, nhưng những kẻ ngốc đang ngày càng sử dụng nó để làm tổn thương mọi người.

Vì tôi gần như không có thời gian để cống hiến cho việc chống lại phần mềm độc hại và lạm dụng trên RawGit (và vì nó sẽ không vui ngay cả khi tôi có thời gian), tôi cảm thấy điều có trách nhiệm phải làm là tắt nó đi. Tôi thà giết RawGit còn hơn xem nó được sử dụng để làm tổn thương mọi người."

Đó là những điều do ông chủ Ryan của RawGit chia sẻ.

Xin vui lòng "chấm dứt" hỗ trợ, đừng "sunset" nó

Issue #199 (Xem)

RawGit chưa bị chấm dứt hợp đồng.

Nó đang trong giai đoạn sunset. Hoàng hôn bắt đầu, kéo dài trong một khoảng thời gian mà mọi người phản ứng với nó và chuẩn bị cho sự biến mất của mặt trời, và cuối cùng mặt trời lặn xuống dưới đường chân trời và không còn nhìn thấy được nữa. Khi đó, RawGit sẽ bị chấm dứt hợp đồng.

Nhân tiện, mở các vấn đề mô phạm cho peeves thú cưng cá nhân như thế này là một động thái giật gân mạnh mẽ. Nó lãng phí thời gian của mọi người và không làm cho bất cứ điều gì tốt hơn. Làm ơn đừng làm thế. Đặc biệt là đừng làm điều đó khi bạn sai.

Cảm ơn Ryan Grove

Cảm ơn Ryan Grove đã cung cấp RawGit trong suốt thời gian qua.
Thành công cho bạn trong tương lai...

Cũng cảm ơn MaxCDN / StackPath vì đã cung cấp hàng trăm terabyte mỗi tháng dịch vụ CDN miễn phí cho RawGit trong nhiều năm. RawGit không thể trở thành như nó đã là nếu không có sự hào phóng đó. Cho dù đó là một điều tốt hay xấu được để lại như một bài tập cho người đọc.

Cách chuyển kho RawGit sang jsDelivr

Bây giờ bạn có thể yêu cầu các tệp từ bất kỳ chi nhánh GitHub nào mà không cần chỉ định băm cam kết: https://cdn.jsdelivr.net/gh/jsdelivr/js delivr@master/README.md  
Nếu không có bản phát hành https://cdn.jsdelivr.net/gh/jsdelivr/js delivr/README.md  
Phục vụ cam kết mới nhất từ chủ nhân quá khứ RawGit. 
Công cụ di chuyển cũng đã được cập nhật: https://jsdelivr.com/rawgit

Chúng tôi rất buồn khi thấy RawGit ngừng hoạt động nhưng chúng tôi đảm bảo bạn có thể chuyển sang jsDelivr một cách không đau đớn nhất có thể. Chúng tôi đã tạo ra một công cụ cho tất cả mọi người để đơn giản hóa việc di chuyển! Nó ở đây https://jsdelivr.com/rawgit

Cách làm trang chuyển hướng khỏi Blog cho Blogger


Bài viết gốc được đăng tại trang JUNO_OKYO's Blog : https://www.junookyo.com/2019/12/lam-trang-chuyen-huong-khoi-blog.html 

Truy cập ngày 27/01/2022, soạn bài 27/01/2022, duyệt đăng 28/01/2022

Bài viết được đăng lại nhằm mục đích học hỏi và chia sẻ, bản quyền thuộc Mạnh Tuấn - JUNO_OKYO


Blogger – không giống như các nền tảng khác như WordPress là cho phép code bằng PHP hoặc các ngôn ngữ web động, mà chỉ cho bạn sử dụng HTML/CSS/JavaScript. Vậy nên ý tưởng của tớ là tạo một đường dẫn của blog với tham số trên URL chứa link đích (link mà ta chuyển hướng tới), sử dụng JavaScript để lấy giá trị của tham số đó và truyền nó vào trong nút bất kỳ trên trang để người dùng nhấn hoặc chuyển hướng luôn tới trang đích bằng JavaScript tùy theo ý muốn của bạn.

Bước 1: Tạo trang chuyển hướng

Ảnh thành quả, nguồn: JUNO_OKYO's Blog (T. Mạnh Tuấn Team Leader)


Vào Blogger Dashboard (màn hình chính) > Pages (Trang) > Create New Page (Tạo trang) là nút màu cam ở dưới góc phải. Chuyển qua chế độ xem HTML và dán vào đoạn Code sau:

<a class="btn btn-success btn-lg disabled" href="https://www.junookyo.com/" id="redirect-btn" rel="noreferrer noopener" target="_blank" disabled>Click here to continue!</a>
<script>((document) => {
  let h = document.location.hash,
    $btn = document.querySelector('#redirect-btn');

  if (h.length > 0 && h.startsWith('#http')) {
    try {
      let url = new URL(decodeURIComponent(h.substr(1)));
      url.searchParams.set('utm_source', 'juno_okyo');
      $btn.href = url.href;
    } catch (e) {
      console.error(e.message);
      return;
    }
  }

  let i = 5,
    txt = $btn.textContent;

  function run() {
    $btn.textContent = `${txt} (${i})`;

    if (i > 0) {
      i--;
      setTimeout(run, 1000);
    } else {
      $btn.textContent = txt;
      $btn.removeAttribute('disabled');
      $btn.classList.remove('disabled');
    }

  }

  run();
})(document);</script>

và lưu trang lại!

Giải thích từng dòng, đầu tiên tớ tạo một nút với ID là “redirect-btn” (nút chuyển hướng). Tớ muốn người dùng nhấn vào nút này để chuyển hướng. Tiếp theo, tớ dùng JavaScript lấy giá trị của hash (chuỗi sau dấu #), giải mã nó bằng hàm decodeURIComponent() và gán link đã giải mã vào nút đã tạo.

Sau khi nút đã được chuẩn bị xong, tớ dùng tiếp một đoạn code nhỏ có tác dụng đếm ngược 5 giây, hết thời gian thì cái nút mới có thể nhấn được. Đây chỉ là một mẹo nhỏ để người dùng có thể đọc nội dung đã được chuẩn bị trong trang chuyển hướng của chúng ta trước khi chuyển hướng.

Bước 2: Bắt liên kết

Giờ đã có trang chuyển hướng rồi, việc chúng ta cần làm tiếp là tự động bắt mọi liên kết ra ngoài Blog phải đi qua trang chuyển hướng. Ở đây có 2 cách: thủ công và tự động.

Thủ công tức là khi viết bài bạn sẽ tự gắn link chuyển hướng cho các liên kết đó. Nhưng thế thì sẽ rất mất thời gian và công sức. Vậy nên tớ sẽ hướng dẫn tiếp các bạn một cách đơn giản hơn rất nhiều.

Các bạn vào Blogger Dashboard > Theme > Edit HTML (chỉnh sửa mã nguồn giao diện Blog của bạn). Kéo xuống cuối, trước thẻ đóng body và thêm đoạn code JavaScript sau (nhớ sửa domain (tên miền) thành của bạn):

/* Redirector */

(function(b){window.top.location.href.includes("/chuyen-huong-khoi-blog.html")||b.filter(function(a){return!a.hasAttribute("imageanchor")&&!a.href.startsWith("https://www.junookyo.com")&&5<a.href.length}).map(function(a){a.href="https://www.junookyo.com/p/chuyen-huong-khoi-blog.html#"+encodeURIComponent(a.href);a.target="_blank";a.rel="nofollow noopener"})})(Array.from(document.querySelectorAll(".post-body a")));

Đoạn code trên sẽ tự động tìm mọi liên kết đi ra ngoài Blog, chuyển chúng thành liên kết chuyển hướng và thậm chí còn thêm thuộc tính nofollow cho bạn luôn. Bạn nào chưa biết tại sao nên thêm nofollow cho các liên kết ngoài thì nhờ nó kết quả tìm kiếm của URL đích mới không bị Bot lập chỉ mục nên đây là một cách bảo vệ thành quả SEO của bạn rất tốt!

Và OK, sau khi thêm đoạn code trên thì bạn lưu lại giao diện của Blog là xong. Về trang chuyển hướng, nếu bạn biết code thì có thể sử dụng CSS và một số thủ thuật điều kiện trong Blogger nếu muốn làm giao diện độc đáo cho trang này nhé, cũng không nhất thiết nó phải có giao diện giống như mọi trang khác. Tùy vào khả năng của bạn! Hãy làm nổi bật trang Redirect!

Cách thêm nút Đọc bài viết bằng chuyển văn bản ra giọng nói vào trang Blog

 Khi có một nút Đọc bài viết ở đầu mỗi bài, thì các bài viết sẽ trở thành một Audio Blog (tạm dịch là Blog âm thanh) và nó khá giống với tin tức trên Radio hay Podcast vậy, nó giúp độc giả có thể là vừa nghe bài viết mà vừa làm việc khác cùng lúc mà không bị gián đoạn

Vậy làm thế nào để thêm nút Đọc bài viết vào Blogger Website của bạn? Trong bài viết này mình sẽ hướng dẫn các bạn!

Khâu chuẩn bị

Đầu tiên, các bạn đăng ký một tài khoản miễn phí tại websitevoice.com. Sau đó vào liên kết sau và làm theo hướng dẫn trên màn hình của bạn để cài đặt widget cho trang Blog: https://websitevoice.com/dashboard/widget

Cùng tùy chỉnh nào!

Trong trang này, các bạn hãy chỉnh sửa các tùy chọn phong cách (style) cho phù hợp, như cách hiển thị nút, màu sáng (Light Mode) hay tối (Dark Mode), màu nút (chọn các màu làm mẫu có sẵn trong thư viện hoặc nhập mã màu riêng của bạn - mã màu thì bạn lên Google tìm từ khóa "color picker" rồi chọn màu, sau đó Copy mã là được), hiển thị thời gian ước tính của Audio,… Sau đó, sao chép (copy) mã và dán (paste) vào trong mã nguồn (source code) trang web của bạn.


Ngoài ra, trang web còn cho phép bạn cấu hình đoạn Audio bài đọc để phát ở đầu và cuối. Bạn có thể thêm các đoạn nhỏ đánh dấu bản quyền kiểu như “Bản quyền bài viết từ DBlog” và “Cảm ơn bạn đã nghe bài viết này. Chúc bạn một ngày tốt lành!”.

Sau khi cài đặt xong Widget, các bạn có thể theo dõi thống kê về lượt phát Audio - ở đây mình tạm gọi là số lần nghe (nhấn nút Đọc bài) từ những người truy cập.

Ở phần "Select the language and voice" bạn hãy nhấp vào, trong Menu thả xuống, chọn Vietnamese (Danh) hoặc nếu bài viết toàn tiếng Anh thì bạn để mặc định.

Tích hợp vào trang

Đối với các bạn là nhà phát triển, các bạn có thể sử dụng CSS để tùy chỉnh hiển thị của widget để chúng có thể hiển thị đồng bộ tự động với giao diện hiện tại của trang web hơn.

Với các phiên bản trả phí (Starter và Premium), các bạn sẽ được sử dụng nhiều tính năng tuyệt vời như: không có Watermark của dịch vụ, có thêm các giọng nói mới để tùy chọn, tốc độ chuyển đổi âm thanh nhanh hơn giúp người dùng không đợi lâu...

Rồi, giờ thì bạn sao chép (Copy) hai dòng Code trong khung đen vào trong bài viết ở chế độ HTML và tận hưởng thôi!


Ví dụ đoạn Code của mình...

Dòng 1: <div class="wv-button-placeholder"></div>
Dòng 2: 
<script async src="https://widget.websitevoice.com/DQeYg3tsS-OGTAZRUWKHbg"></script>
<script>
  window.wvData=window.wvData||{};function wvtag(a,b){wvData[a]=b;}
  wvtag('id', 'DQeYg3tsS-OGTAZRUWKHbg');
  wvtag('language', 'vi-VN');
  wvtag('widget-style', {
    backgroundColor: '#74C284',
    showTime: true,
    buttonText: 'Đọc nội dung'
  });
</script>

Nếu bạn thấy bài hay, hãy Share cho bạn bè mình ngay nhé!

Cập nhật quan trọng về tính năng này

Bây giờ, tính năng này không còn miễn phí như trước kia...


Công cụ mã nguồn mở giúp bạn Host ảnh trực tuyến!

 Đôi khi, bạn cần chia sẻ một bức ảnh cho bạn bè, có lẽ bạn sẽ gửi một tin nhắn. Nhưng trong vài trường hợp thì hình ảnh trong tin nhắn có thể bị giảm chất lượng xuống một cách "không phanh" dẫn đến chất lượng quá thấp, không thể xem được. Hoặc đơn giản là bạn chỉ muốn gửi ảnh qua đường Link để chuyên nghiệp hơn hoặc giữ ảnh ở độ phân giải cao HD...

Hôm nay, bài viết này mình sẽ hướng dẫn cho các bạn các cách để lưu trữ ảnh trên Host miễn phí nhé, đây không phải là một máy chủ lưu Lifetime (chỉ lưu khoảng 2 tuần) nhưng cũng có thể giúp bạn nhiều đấy!

Host ảnh trực tuyến là gì?

Còn có tên khác là "Lưu ảnh", trang cho phép bạn tải ảnh lên một cách tạm thời để lưu trữ!

Hướng dẫn cách lưu ảnh?

Bước 1: Hãy chuẩn bị một bức ảnh, nếu không có, bạn hãy Chụp một bức ngay!

Bước 2: Truy cập vào bShare   tại đây


Bạn sẽ thấy giao diện trang chủ xuất hiện như hình trên! À mà theo mình thấy so với các trang khác thì trang này lướt khá mượt và giao diện tối giản!

Bước 3: Cuộn xuống tới phần "Tải lên chỉ là bước khởi đầu..." và nhấp vào nút "Chọn tệp" hoặc "Choose file" sau đó chọn một tệp hình ảnh (PNG, JPG...)


Và bấm vào nút "Tải lên ngay" để bắt đầu tải!

Bước 4: Một Link sẽ có, sao chép Link đó và bạn hãy gửi ngay!

Chia sẻ ảnh nhanh gọn và an toàn, tự xóa ảnh sau một khoảng thời gian. Miễn phí, an toàn, không cần đăng nhập.

Khi tải ảnh ở chất lượng có độ phân giải không vượt quá 5000px hoặc dung lượng đã nén dưới 8MB, bạn đang góp phần giúp môi trường không quá ô nhiễm và giúp những người khác có dung lượng để lưu trữ!

10 thủ thuật hack Camera an ninh và cách ngăn chặn

 Trong các bộ phim, chúng ta thấy một số người hack camera an ninh như thể đó là một việc rất đơn giản. Vì vậy, tôi quyết định viết về cách hack camera an ninh . Nếu bạn muốn biết những bí mật của tin tặc, hãy tiếp tục đọc …

hacker mặc áo trùm làm việc với máy tính

Có rất nhiều công cụ và hướng dẫn cách hack camera an ninh gia đình hay thậm chí là camera chuyên nghiệp nên bạn cần học cách bảo vệ chúng.

Nếu bạn lắp đặt camera an ninh và đầu ghi DVR, hãy lưu ý rằng bạn có nguy cơ cao bị tấn công bởi phần mềm tự động quét lỗ hổng bảo mật.

Điều quan trọng là phải biết cách hoạt động của một cuộc tấn công đối với camera an ninh của bạn, vì vậy bạn có thể bảo vệ tốt hơn hệ thống giám sát mà bạn cài đặt cho khách hàng của mình. Đã đến lúc tìm hiểu một số bí mật được sử dụng bởi hacker.

Bí mật số 1: Thay đổi mật khẩu mặc định của đầu ghi hình DVR hoặc camera IP không đảm bảo rằng thiết bị được bảo vệ 100% trước sự tấn công và xâm nhập của hack.

Đúng vậy, trong hầu hết các trường hợp, kỹ thuật viên và người cài đặt cảm thấy an toàn vì họ thay đổi mật khẩu mặc định của camera IP hoặc đầu ghi DVR  sang một mật khẩu khác có vẻ an toàn hơn và sẽ đảm bảo rằng hacker không thể xâm nhập vào hệ thống. Điều này có thể giúp ích một chút, nhưng nó không giải quyết được vấn đề.

Ngay cả đầu ghi DVR và camera IP đã bị thay đổi mật khẩu cũng có thể trở thành nạn nhân của các cuộc tấn công cho phép hacker truy cập vào thiết bị.

Camera an ninh có hệ điều hành bên trong, cũng như các chương trình khác có thể có các lỗ hổng mà tin tặc sẽ khai thác để truy cập vào hệ thống và bỏ qua người dùng / mật khẩu.

Đầu ghi hình kết hợp Hikvision

Bí mật thứ 2: Có hàng nghìn đầu ghi hình DVR và camera IP rải rác trên khắp thế giới có các vấn đề bảo mật và lỗ hổng bảo mật.

Ngày nay, việc sở hữu camera an ninh và đầu ghi hình tại nhà là điều rất dễ dàng vì những thiết bị này đang được bán khắp nơi với giá rẻ hơn.

Với nhu cầu này của khách hàng, nhiều nhà sản xuất đã đưa ra các thiết bị và camera IP mới mà không quan tâm quá nhiều đến chi tiết lỗ hổng. Họ chỉ đơn giản là bán một lượng lớn đầu ghi DVR và camera an ninh được lắp đặt trong gia đình và doanh nghiệp nhỏ trên toàn thế giới và không bao giờ được cập nhật.

hacker đánh máy tính xách tay để hack camera

Một khi các thiết bị này đã rời khỏi nhà máy và được lắp đặt trên các cơ sở của khách hàng, chúng sẽ sẵn sàng bị tấn công bởi tin tặc trên khắp thế giới. Chỉ cần kết nối chúng với Internet và chúng sẽ gặp rủi ro.

Một lần nữa, hãy nhớ rằng việc thay đổi mật khẩu không giải quyết được vấn đề khi có một lỗ hổng đã biết trong hệ điều hành của thiết bị.

Bí mật thứ 3: Thiếu kiến ​​thức chuyên sâu của kỹ thuật viên khi cài đặt khiến cuộc tấn công mạng dễ dàng hơn

Hãy xem một số diễn đàn trên Internet và bạn sẽ tìm thấy rất nhiều cuộc thảo luận về việc lắp đặt đầu ghi DVR và camera an ninh ở khắp mọi nơi. Có những người tin rằng họ rất thông minh và không muốn học thêm.

Người ta thường đọc những câu như ” Những người nghiệp dư không biết họ đang làm gì, tôi luôn thay đổi mật khẩu mặc định cho camera an ninh mà tôi cài đặt cho khách hàng của mình, tôi đủ giỏi để không bao giờ bị hack “.

người đàn ông kiêu ngạo

Cùng một kỹ thuật viên nghĩ rằng anh ta biết tất cả mọi thứ về an ninh, vài phút sau đó lại khuyên một người khác đừng lo lắng về việc tìm hiểu về cấu hình xem camera an ninh từ xa, bởi vì có những phương pháp dễ dàng được tạo ra bởi nhà sản xuất thiết bị. Những thứ như P2P xóa phần mềm xem hoặc cấu hình DMZ trên bộ định tuyến.

Ví dụ, sử dụng DMZ mang lại mối nguy hiểm tiềm tàng cho mạng IP, đặc biệt nếu bạn không biết chính xác cách thức hoạt động của công nghệ này.

Hành vi làm cho mọi thứ trở nên dễ dàng hơn sẽ mở ra cánh cửa cho các tin tặc hiểu được những sai sót của một cấu hình xấu . Vì vậy, nếu bạn là một chuyên gia về IP bảo mật và thực sự hiểu DMZ là gì và cách sử dụng đúng cách thì không sao, hãy tiếp tục và sử dụng nó, nếu không thì đừng mạo hiểm.

Bí mật thứ 4: Các thiết bị không có thương hiệu giúp gia tăng lỗ hổng của camera an ninh trên Internet.

Wow, DVR không nhãn hiệu đó quá rẻ, phải không? Bạn có thể mua nó dễ dàng ở bất kỳ cửa hàng nào và mọi người đều đang làm điều đó, vì vậy có lẽ bạn cũng có thể làm như vậy.

Vấn đề là sau khi được cài đặt, một số thiết bị đó không bao giờ được cập nhật và lỗ hổng bảo mật vẫn ở đó mãi mãi …

Vâng, DVR này hiện là một cánh cửa mở cho tin tặc và bạn không thể làm gì với nó vì thậm chí không có số điện thoại hoặc nhóm hỗ trợ kỹ thuật mà bạn có thể liên hệ để nhận bản cập nhật firmware mới.

Điều duy nhất bạn biết về DVR là nó có một cái gì đó được viết ở phần trước, vì vậy bạn có thể đọc tên: ” H. 264 Network Recorder “.

H, 264 DVR không phải là thương hiệu

Mua thiết bị không có thương hiệu là một trong những lý do lớn cho vấn đề mất an toàn này, H.264 thậm chí không phải là thương hiệu DVR, nó là một CODEC để nén video. Bạn có thể tìm hiểu thêm trong các bài viết: Cách thức hoạt động của codec camera quan sát.

Nếu bạn có camera an ninh hoặc DVR của một nhà sản xuất nổi tiếng như Samsung, Bosch, Pelco, Panasonic, Clinton Electronics hoặc thậm chí Hikvision hoặc Dahua, bạn có thể nhấc máy, gọi cho ai đó và giải quyết vấn đề của mình.

Với các thiết bị không có thương hiệu, rất khó để nói chuyện với ai đó từ nhóm hỗ trợ kỹ thuật, vì hầu hết họ không có dịch vụ như vậy và một khi bạn mua thiết bị, bạn sẽ tự mua.

Bí mật thứ 5: Mọi người không nâng cấp vi chương trình (firmware), vì vậy việc hack camera an ninh dễ dàng hơn

Bao nhiêu lần khách hàng của bạn (hoặc bạn là khách hàng) quyết định đã đến lúc kiểm tra xem camera IP hoặc DVR có cần cập nhật chương trình cơ sở không? Điều này là rất hiếm.

Sau khi được cài đặt, DVR hoặc camera IP sẽ ở lại vĩnh viễn mà không có các bản cập nhật có thể giải quyết các lỗi bảo mật mà tin tặc trên thế giới phát hiện.

Cập nhật chương trình cơ sở máy ảnh

Bí mật số 6: Quá trình hack được tự động hóa

Nếu bạn nghĩ rằng một hacker ngồi đó trên chiếc ghế tập trung vào nhiệm vụ xâm nhập vào DVR của bạn, cố gắng thử mọi cách đoán mật khẩu suốt đêm, bạn đã hoàn toàn sai lầm. Sau khi khai thác các lỗ hổng bảo mật, các chương trình tự động được tạo ra để tìm kiếm các hệ thống có lỗ hổng trên Internet.

Phần mềm tự động mã nhị phân
Hacker đang xem phản hồi HTTP | Minh họa


Một ví dụ điển hình là Mirai , một loại virus được tạo ra để xâm nhập vào các hệ thống được kết nối với Internet để sau đó sử dụng làm nguồn tấn công các trang web mà tin tặc muốn tắt bằng cuộc tấn công DDOS (Từ chối dịch vụ phân tán).

Nó giống như việc có một đội quân sẵn sàng chiến đấu và camera IP hoặc DVR của bạn có thể là một trong những “binh lính” mà Mirai sử dụng để bắt đầu một cuộc tấn công.

Camera IP hoặc DVR của bạn có thể bị nhiễm ngay bây giờ, bạn có nghĩ vậy không?

Bí mật số 7: Các lỗ hổng được ghi lại

Một khi lỗ hổng camera an ninh được phát hiện, tin tặc đã cộng tác lan truyền thông tin, có các cộng đồng và diễn đàn nơi họ trao đổi thông tin và chia sẻ chi tiết giúp cuộc sống dễ dàng hơn cho những đồng nghiệp muốn xâm nhập vào hệ thống và dạy họ cách hack camera an ninh.

Mã tài liệu tin tặc

Các tài liệu được viết rất tốt với các chi tiết về các sai sót đã được tìm thấy trên DVR và camera an ninh của nhiều thương hiệu và kiểu máy khác nhau được bán trên toàn thế giới.

Bí mật # 8: Tin tặc không cần mua thiết bị

Bạn có thể tự hỏi làm thế nào mà hacker có thể phát hiện ra các lỗ hổng bảo mật của tất cả các thiết bị, vì có hàng ngàn thương hiệu DVR và camera an ninh trên thị trường.

Liệu một hacker có ra ngoài đó mua DVR từ tất cả các hãng khác nhau chỉ để tìm ra lỗ hổng bảo mật và cách xâm nhập vào thiết bị?

Trên thực tế, họ thậm chí không cần nó, vì họ có thể truy cập mã được sử dụng trong camera an ninh hoặc DVR bằng cách truy cập trang web của nhà sản xuất và tải xuống phần mềm cơ sở của thiết bị hoặc bằng cách lấy nó từ các hacker khác.

Sau khi tải xuống phần sụn, anh ta có thể mở nó và bắt đầu làm việc để kiểm tra các lỗi bảo mật và tất nhiên, lan truyền tin tức.

Bí mật # 9: Việc phát hiện ra lỗ hổng của một hệ thống có thể đảm bảo cuộc tấn công của nhiều hệ thống tương tự.

Trên thị trường có một mạng lưới các nhà sản xuất, phân phối và đại lý tiếp thị cùng một thiết bị với các tên khác nhau, tức là một con chip sản xuất tại Trung Quốc có thể được sử dụng trong nhiều DVR trên thế giới. hoặc thậm chí DVR được bán không có thương hiệu và nhà phân phối cuối cùng đặt logo của mình lên sản phẩm.

Khi tin tặc phát hiện ra các lỗ hổng trên một chip camera an ninh cụ thể được những người khác sử dụng rộng rãi, tin tức sẽ được lan truyền ra toàn thế giới và rất nhiều cuộc tấn công có thể được thực hiện trong một khoảng thời gian ngắn.

Bí mật số 10: Tin tưởng quá mức vào thương hiệu hoặc sản phẩm

Không có sản phẩm nào là an toàn 100% , bất kể nhà sản xuất là gì.

Rõ ràng các nhà sản xuất lớn quan tâm hơn đến việc giải quyết các lỗi bảo mật, nhưng các vấn đề vẫn tồn tại ngay cả trong các thiết bị của họ.

Tuy nhiên, việc các thương hiệu lớn đứng sau sản phẩm không đảm bảo rằng chúng không gặp vấn đề về bảo mật vì có một danh sách các lỗ hổng bảo mật ngay cả đối với những gã khổng lồ như Samsung, Sony, Pelco, Axis, Cisco và Bosch, các nhà sản xuất này luôn nỗ lực để đóng các vi phạm an ninh.

Thật không may, có các chuyên gia tin rằng khi sử dụng các sản phẩm như vậy, không cần phải lo lắng về bảo mật và cuối cùng thư giãn trong các quy trình phải được áp dụng để giảm nguy cơ tấn công có thể xảy ra.

Làm thế nào để giữ an toàn cho camera an ninh và đầu ghi hình DVR?

Không có biện pháp bảo vệ 100% , tuy nhiên bạn có thể thực hiện một số bước để cải thiện tính bảo mật của camera, đầu ghi hình DVR cho hệ thống CCTV của mình.

Dưới đây là danh sách những việc có thể làm để ngăn chặn sự xâm nhập:

1. Sử dụng các thương hiệu nổi tiếng và được hỗ trợ

2 . Thay đổi mật khẩu mặc định của DVR hoặc camera an ninh IP của bạn

3. Hoán đổi các cổng truy cập Camera IP hoặc đầu ghi hình DVR tiêu chuẩn

4 . Cập nhật firmware khi nhà sản xuất phát hành phiên bản mới

5 . Tránh sử dụng DMZ để xem thiết bị từ xa

6. Tách mạng truy cập khỏi đầu ghi hình DVR hoặc mạng camera IP

7. Sử dụng các tính năng bảo mật mạng bổ sung như VPN

8. Sử dụng mã hóa giữa đầu ghi DVR hoặc camera và thiết bị từ xa

9. Bảo vệ đầu ghi DVR hoặc camera IP của bạn bằng tường lửa

10.  Tìm hiểu thêm về bảo mật mạng

Không đơn giản như vậy để đảm bảo rằng một camera IP hoặc DVR sẽ an toàn trong mạng dữ liệu, điều này liên quan đến kiến ​​thức CNTT sâu hơn. Đừng lo lắng nếu bạn không hiểu một số thuật ngữ được sử dụng trong bài viết này,

Ý tưởng là bạn có thể tìm hiểu ngày càng nhiều về cách bảo vệ DVR hoặc camera an ninh của mình theo quan điểm của một chuyên gia trong lĩnh vực mạng máy tính, vì sau cùng thì một hacker hoặc lập trình viên phát triển vi rút chính xác là ở phía đó, và dù không hiểu về camera an ninh nhưng chắc chắn họ cũng hiểu về an ninh mạng.

Hãy an toàn! Chia sẻ cho bạn bè mình ngay nào!