Hướng dẫn khắc phục lỗ hổng bảo mật CVE-2019-11477 trên Cloud365
Hướng dẫn khắc phục lỗ hổng bảo mật CVE-2019-11477 trên Cloud365
Nơi chứa các tài liệu tham khảo của dịch vụ Cloud365.
Bạn là một SysAd, và bạn thường xuyên phải theo dõi, giám sát hệ thống của mình. Bạn đã sử dụng nhiều tool giám sát như Zabbix, hay CheckMK. Bạn phải viết thêm plugin cho chúng, và gửi mail tự động mỗi khi có cảnh báo ?
Tuy nhiên với một hệ thống đủ lớn, hoặc đủ để phải chăm chút thường xuyên thì một kênh cảnh báo là chưa đủ, cảnh báo đa kênh mới là điều cần thiết.
Thật may, giờ đây với một thế giới mở, với các API và thư viện đầy rẫy thì việc tích hợp giữa các ứng dụng với nhau đã trở nên dễ dàng hơn.
Trong phạm vi bài viết này mình sẽ giới thiệu một kênh thông tin nữa để các bạn có thể sử dụng để nhận cảnh báo đó là Telegram
.
Bước 1: Chat với BotFather để tạo một bot
/newbot
vào khung chat với BotFatherTenCuaBot
Quá trình tạo bot diễn ra như sau:
Sau khi hoàn tất bạn sẽ nhận được 1 token, và ở ví dụ này của mình sẽ là: Part00000:Part1111111111111111-Part22222222222222
Bước 2: Thêm bot vào group:
/my_id @TenCuaBot
Bước 3: Lấy chat_id
Để lấy được chat_id bạn truy cập vào url sau:
https://api.telegram.org/bot[TOKEN]/getUpdates
Ví dụ https://api.telegram.org/botPart00000:Part1111111111111111-Part22222222222222/getUpdates
Tại reponse trả về kiểu json, bạn chú ý đến key có tên là result.chat.id có id bắt đầu bằng dấu -
đó chính là chat_id của bạn. Hãy note lại token có được ở Bước 1 và chat_id này nhé. Ở ví dụ này chat_id của mình là -123456789123
Sử dụng luôn chính trình duyệt của bạn với method GET của http với cú pháp sau:
https://api.telegram.org/bot[TOKEN]/sendMessage?chat_id=[CHAT_ID]&text=[MY_MESSAGE_TEXT]
Cú pháp
curl -X POST "https://api.telegram.org/bot[TOKEN]/sendMessage" -d "chat_id=[CHAT_ID]&text=[MY_MESSAGE_TEXT]"
Hai cách ở trên mình sử dụng để mình kiểm tra hoạt động của bot mà thôi. Thật ra các bạn cũng có thể sử dụng thêm các công cụ khác như postman, JMeter… Sử dụng bash/shell, php, javascript … đó là tùy ở bạn. Nhưng như đã nói từ đầu, trong phạm vi bài viết này mình sẽ sử dụng python và server của mình là SSD Cloud VPS CentOS7
1. Cài đặt Python
Cài đặt Python 3.6 các bạn có thể tham khảo bài viết này Cài đặt Python
2. Tạo virtual environment và cài đặt thư viện python-telegram-bot
virtualenv env
source env/bin/activate
pip install python-telegram-bot
3. Viết một script nho nhỏ để gửi thông báo đến Telegram
(env) [root@cloud365.vn ~]#
Tạo mới file test_script.py
với nội dung như sau:
import telegram
import random
def send_test_message():
try:
random_number = random.randint(0, 1000)
telegram_notify = telegram.Bot("[TOKEN]")
message = "`Số random là {}`".format(random_number)
telegram_notify.send_message(chat_id="[CHAT_ID]", text=message,
parse_mode='Markdown')
except Exception as ex:
print(ex)
send_test_message()
Chạy script
python test_script.py
python test_script.py
python test_script.py
Như vậy trong bài viết này mình đã giới thiệu đến các bạn thêm một kênh để nhận cảnh báo về hệ thống. Trong bài viết mình đã giới thiệu cách tạo bot telegram và một số cách sử dụng bot và api của telegram để gửi thông báo. Hy vọng bài viết có thể giúp ích được cho các bạn, cảm ơn các bạn đã theo dõi và chúc các bạn áp dụng thành công :D
“if you have knowledge let others light their candles in it”
https://blog.docker.com/2017/03/docker-enterprise-edition/
Thực hiện bởi cloud365.vn