Tran
    • Create new note
    • Create a note from template
      • Sharing URL Link copied
      • /edit
      • View mode
        • Edit mode
        • View mode
        • Book mode
        • Slide mode
        Edit mode View mode Book mode Slide mode
      • Customize slides
      • Note Permission
      • Read
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Write
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Engagement control Commenting, Suggest edit, Emoji Reply
    • Invite by email
      Invitee

      This note has no invitees

    • Publish Note

      Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note No publishing access yet

      Your note will be visible on your profile and discoverable by anyone.
      Your note is now live.
      This note is visible on your profile and discoverable online.
      Everyone on the web can find and read all notes of this public team.

      Your account was recently created. Publishing will be available soon, allowing you to share notes on your public page and in search results.

      Your team account was recently created. Publishing will be available soon, allowing you to share notes on your public page and in search results.

      Explore these features while you wait
      Complete general settings
      Bookmark and like published notes
      Write a few more notes
      Complete general settings
      Write a few more notes
      See published notes
      Unpublish note
      Please check the box to agree to the Community Guidelines.
      View profile
    • Commenting
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
      • Everyone
    • Suggest edit
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
    • Emoji Reply
    • Enable
    • Versions and GitHub Sync
    • Note settings
    • Note Insights New
    • Engagement control
    • Make a copy
    • Transfer ownership
    • Delete this note
    • Save as template
    • Insert from template
    • Import from
      • Dropbox
      • Google Drive
      • Gist
      • Clipboard
    • Export to
      • Dropbox
      • Google Drive
      • Gist
    • Download
      • Markdown
      • HTML
      • Raw HTML
Menu Note settings Note Insights Versions and GitHub Sync Sharing URL Create Help
Create Create new note Create a note from template
Menu
Options
Engagement control Make a copy Transfer ownership Delete this note
Import from
Dropbox Google Drive Gist Clipboard
Export to
Dropbox Google Drive Gist
Download
Markdown HTML Raw HTML
Back
Sharing URL Link copied
/edit
View mode
  • Edit mode
  • View mode
  • Book mode
  • Slide mode
Edit mode View mode Book mode Slide mode
Customize slides
Note Permission
Read
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Write
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Engagement control Commenting, Suggest edit, Emoji Reply
  • Invite by email
    Invitee

    This note has no invitees

  • Publish Note

    Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note No publishing access yet

    Your note will be visible on your profile and discoverable by anyone.
    Your note is now live.
    This note is visible on your profile and discoverable online.
    Everyone on the web can find and read all notes of this public team.

    Your account was recently created. Publishing will be available soon, allowing you to share notes on your public page and in search results.

    Your team account was recently created. Publishing will be available soon, allowing you to share notes on your public page and in search results.

    Explore these features while you wait
    Complete general settings
    Bookmark and like published notes
    Write a few more notes
    Complete general settings
    Write a few more notes
    See published notes
    Unpublish note
    Please check the box to agree to the Community Guidelines.
    View profile
    Engagement control
    Commenting
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    • Everyone
    Suggest edit
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    Emoji Reply
    Enable
    Import from Dropbox Google Drive Gist Clipboard
       Owned this note    Owned this note      
    Published Linked with GitHub
    • Any changes
      Be notified of any changes
    • Mention me
      Be notified of mention me
    • Unsubscribe
    [toc] # 1. Giới Thiệu Trong các hệ thống công nghệ thông tin hiện đại, log đóng vai trò là nguồn dữ liệu cốt lõi phục vụ cho việc giám sát, phát hiện sự cố và điều tra an ninh. Thông qua log, quản trị viên và đội ngũ an ninh có thể theo dõi hoạt động của hệ điều hành, phát hiện hành vi bất thường cũng như phân tích nguyên nhân của các sự cố đã xảy ra. Việc nắm rõ cấu trúc, nội dung và mục đích của từng loại log là nền tảng quan trọng cho các hoạt động giám sát an ninh, vận hành SOC và phân tích sự cố. # 2. Log là gì ? Log là các bản ghi tự động, chi tiết về mọi sự kiện xảy ra trên hệ thống bao gồm máy chủ, ứng dụng, mạng nó giống như một chiếc "hộp đen" giúp phát hiện các hành vi đáng ngờ, truy cập trái phép, điều tra sự cố, đảm bảo tuân thủ các quy định bằng cách ghi lại thời gian, nguồn, loại sự kiện, mức độ nghiệm trọng và các dữ liệu có liên quan. # 3. Window Event Log là gì ? Window Event Log là một hệ thống ghi lại chi tiết các hoạt động, các sự kiện quan trọng xảy ra trên máy tính windows từ hành động người dùng, phần cứng, phần mềm, hệ điều hành để giúp cho quản trị viên hệ thống dễ dàng theo dõi các mối đe doạ tiềm ẩn để chẩn đoán và đưa ra biện pháp khắc phục phù hợp. Có thể sử dụng Windows Event Viewer để xem các Window Event Log Trong môi trường SOC, Windows Event Log là nguồn dữ liệu đầu vào quan trọng cho các hệ thống SIEM nhằm phát hiện, phân tích và phản ứng trước các mối đe dọa an ninh. ## 3.1 Các thành phần của một bản ghi Window Event Log Một bản ghi về Window Event Log sẽ có các thành phần sau: ![image](https://hackmd.io/_uploads/SksHNNZSZx.png) Log Name: Xác định log mà event được ghi vào Source: Thành phần, dịch vụ của Windows phát ra event Event ID: Mã định danh duy nhất cho event Level: Mức độ nghiệm trọng của event User: Tên user liên quan đến event OpCode: Mô tả loại thao tác của event Logged: Thời điểm event được ghi nhận Task Category: nhóm các event có cùng loại hoạt động hoặc tính năng keyword: thuộc tính phân loại event, đặc biệt dùng cho Security Log Computer: Máy phát sinh event ## 3.2 Các nhóm Event Log phổ biến Các event log được phân thành 4 loại phổ biến bao gồm application, security, setup, system, bên cạnh đó còn một loại là Forwarded Events ![image](https://hackmd.io/_uploads/B1hU_NbSZe.png) Application Log: Ghi lại hoạt động và các lỗi liên quan đến ứng dụng, nhóm này chứa các event do phần mềm và các ứng dụng trên máy tính tạo ra ví dụ như: * Ứng dụng bị crash * Lỗi khi khởi động trương trình Setup log: Theo dõi quá trình cài đặt và cấu hình hệ thống, nhóm này ghi lại các event xảy ra trong quá trình: * Cài đặt Windows * Cập nhật hệ điều hành * Thay đổi cấu hình hệ thống System log: Chứa các event liên quan đến hoạt động của các thành phần hệ điều hành * Lỗi driver * Dịch vụ khởi động hoặc dừng * Sự cố phần cứng Security log: Chứa các event liên quan đến bảo mật, sự an toàn của hệ thống, Security log ghi lại các hành vi có liên quan trực tiếp đến xác thức, quyền truy cập và quản lí tài khoản * Đăng nhập thành công / thất bại * Thay đổi mật khẩu * Thêm hoặc xóa tài khoản * Thay đổi quyền và nhóm người dùng Một số Event ID tiêu biểu thường hay gặp: * 4624: Đăng nhập thành công * 4625: Đăng nhập thất bại * 4634: Logoff * 4688: Tạo process mới * 4720: Tạo user mới * 4732: Thêm user vào group Đây là nhóm log quan trọng nhất vì giúp phát hiện sớm mối đe dọa, ứng phó sự cố, điều tra nguyên nhân gốc rễ, phục hồi hệ thống, đảm bảo tuân thủ quy định Forwarded Event: Nhóm này chứa đựng các sự kiện được chuyển tiếp từ các máy khác thông qua cơ chế Windows Event Fowarding một tính năng có sẵn của Windows cho phép tập trung các bản ghi sự kiện từ nhiều máy tính về một máy chủ thu thập trung tâm ## 3.3 Các mức độ nghiêm trọng của Window Event Window Event Levels cho biết các mức độ nghiệm trong của các event được ghi lại, được phân thành 5 loại như sau: * Information: Thường mang tính chất thông tin về một event, không mang vấn đề nghiêm trọng * Verbose: Thông báo thành công cho một event cụ thể * Warning: Chỉ ra event có dấu hiệu bất thường, có thể có vấn đề tiềm ẩn cần được quản trị mạng theo dõi * Error: Mô tả vấn đề của một dịch vụ hoặc hệ thống, biểu thị lỗi rõ ràng cần phân tích, có thể chưa cần thực hiện gấp các biện pháp khắc phục * Critical: Đây là mức độ nghiêm trọng nhất, có thể xảy ra ở trong hệ thống hoặc ứng dụng nào đó cần được khắc phục sự cố một cách nhanh nhất ## 3.4 Những hạn chế của Window Event Log Window Event Log cũng có những hạn chế nhất định như: * Quá tải thông tin: Việc một máy chủ thu thập nhiều log từ hàng nghìn máy(endpoint) có thể khiến chìm trong log và gây ra hiện tượng Alert Fatigue - có quá nhiều cảnh báo dẫn đến các SOC analyst bị mệt mỏi và giảm khả năng phản ứng và điều tra đối với các mối đe doạ thật sự * Thiếu sự tương quan: Các cuộc tấn công mạng hiện nay thường diễn ra trên nhiều hệ thống khác nhau khiến các log bị phân tán và khó liên kết thành chuỗi sự kiện hoàn chỉnh * Mất mát và xoá dữ liệu: Các log trên máy local có dung lượng giới hạn và có thể bị ghi đè hoặc nghiệm trọng hơn nếu attacker chiếm quyền cao hơn việc đầu tiên là xoá toàn bộ log # 4. Linux log là gì ? Linux log là các hệ thống ghi nhận và lưu trữ các sự kiện phát sinh trong quá trình hoạt động của hệ điều hành Linux, bao gồm các hoạt động của kernel, các dịch vụ hệ thống cũng như ứng dụng và người dùng nhằm phục vụ quá trình giám sát, khắc phục sự cố, đảm bảo an toàn thông tin Các bản ghi log trong linux có thể được tổ chức và lưu trữ dưới nhiều hình thức khác nhau, phổ biến nhất là các file log riêng lẻ truyền thống như system log, authentication log, kernel log ## 4.1 Các cơ chế ghi log trong Linux Linux có nhiều cơ chế ghi log nhưng chủ yếu xoay quanh 2 hệ thống là Rsyslog/Syslog-ng và systemd-journald. Tuỳ theo các bản phân phối Linux khác nhau và cách cấu hình hệ thống, hai cơ chế này có thể được sử dụng độc lập hoặc kết hợp để giám sát hệ thống một cách tốt nhất ### 4.1.1 Cơ chế truyền thống Cơ chế truyền thống trong Linux đã được sử dụng từ sớm, và vẫn được sử dụng cho đến ngày nay. Theo đó, các log được sinh ra từ kernel, các dịch vụ hệ thống và ứng dụng sẽ được gửi tới một syslog daemon phổ biến có thể kể đến là Rsyslog và Syslog-ng. Syslog daemon có nhiệm vụ tiếp nhận, phân loại và lưu trữ các log này vào các file văn bản ở trong thư mục /var/log Các log được ghi theo cơ chế truyền thống này sẽ được phân loại theo mục đích sử dụng chẳng hạn có các nhóm chính như system log, authentication log, kernel log giúp cho việc giám sát hệ thống, điều tra sự cố trở nên thuận tiện hơn. Việc sử dụng định dạng văn bản giúp cho người dùng dễ dàng phân tích các log, hữu dụng khi tích hợp với các hệ thốgn giám sát ### 4.1.2 Cơ chế hiện đại Cơ chế ghi log hiện đại được triển khai cùng với hệ thống quản lí dịch vụ systemd. Theo đó các log được thu tập trung lại bởi systemd journal, thay vì ghi trực tiếp ra các file văn bản riêng lẻ. Journal tiếp nhận log từ nhiều nguồn khác nhau như kernel, dịch vụ hệ thống và ứng dụng, đồng thời lưu trữ kèm theo các thông tin bổ sung (metadata) như thời gian, tiến trình, người dùng và dịch vụ liên quan. Khác với cơ chế ghi log truyền thống, log trong systemd journal được lưu trữ dưới dạng nhị phân có lập chỉ mục, cho phép truy vấn, lọc log theo các tiêu chí khác nhau dễ dàng cho việc giám sát, chẩn đoán sự cố một cách nhanh chóng. ## 4.2 Các loại log trong linux Trong linux(Ubuntu) có một số loại log chính có thể kể đến như: System log: Đây là loại log bao gồm các thông tin về hoạt động của hệ thống bao gồm thông báo khởi động, thông báo hệ điều hành, và thông tin phần cứng và mạng, đóng vai trò ghi nhận thông điệp từ nhiều dịch vụ Authentication log: Loại log này chứa các thông tin về đăng xuất, đăng nhập, cố gắng thử mật khẩu, cấp quyền sudo, giúp kiểm tra xem ai đã đăng nhập hệ thống, khi nào và làm cách nào. Kernel log: Ghi lại các sự kiện quan trọng, thông báo lỗi, các hoạt động liên quan đến kernel của hệ điều hành, giúp các quản trị viên khắc phục sự cố hiệu quả. Application log: Loại này chỉ ra thông báo, các hoạt động liên quan đến một trương trình hoặc một ứng dụng cụ thể. # 5. Syslog là gì ? Syslog là một tiêu chuẩn để ghi log cho phép phần mềm hệ thống, các thiết bị gửi log đến hệ thống quản lí log tập trung. Được giới thiệu vào những năm 1980s như một phần của hệ điều hành Unix, từ đó được áp dụng rộng rãi cho nhiều nền tảng bao gồm linux, windows, các thiết bị mạng. Mục đích chính của syslog là thu thập và quản lí log từ nhiều nguồn khác nhau như server, các thiết bị mạng, các ứng dụng về một nơi tập trung. Phương pháp quản lí log tập trung này sẽ giúp việc phân tích, giám sát các sự cố mạng trở nên dễ dàng hơn ## 5.1 Syslog hoạt động như thế nào ? Syslog hoạt động theo mô hình Client-Server. Syslog client chịu trách nhiệm cho việc chuẩn hoá và gửi log đến Syslog server. Sau đó Syslog server nhận và lưu trữ, giúp các đoạn log có thể phân tích và giám sát được Các bước trong quá trình hoạt động của Syslog: 1. Log Generation: Các log được tạo ra từ ứng dụng, phần mềm, các thiết bị do đã kích hoạt điều kiện đã được viết sẵn trong rule, trong log có các nội dung bao gồm thời gian tạo log, nguồn xuất phát từ đâu, nội dung của tin nhắn. Tất cả được syslog chuẩn hoá thành một định dạng để dễ giải thích 1. Log Forwarding: Syslog phía client sẽ chuyển các log đã được chuẩn hoá đến syslog server đã được chỉ định, sử dụng 2 giao thức truyền tải dữ liệu là TCP port 601 và UDP port 514 1. Log Reception: Syslog server lắng nghe trên port 601 hoặc 514 để nhận các log được gửi từ nhiều client khác nhau 1. Log Storage: Syslog server lưu trữ các log đã nhận được vào file hoặc cơ sở dữ liệu đã được cấu hình từ trước 1. Log Analysis: Giai đoạn này các nhà phân tích có thể truy cập và xem xét toàn bộ các log đã thu thập được để có cái nhìn toàn diện, xác định các vấn đề, giám sát hệ thống một cách toàn diện ## 5.2 Giải thích về các thông báo của Syslog Các thông báo của syslog tuân theo một định dạng nhất định để giúp xác định nguồn, thời gian, mức độ nghiêm trọng một cách hiệu quả. Mã cơ sở(Facility Codes) được sử dụng để phân loại các thông báo log. Giúp xác định phần mềm, hay các thành phần tạo ra log. Một số mã cơ sở syslog phổ biến bao gồm: * 0(kern): Thông báo nhân hệ điều hành * 1(user): Thông báo cấp người dùng * 2(mail): Thông báo hệ thống thư điện tử * 3(daemon): Thông báo tiến trình nền hệ thống * 4(auth): Thông báo xác thực và ủy quyền * 5(syslog): Thông báo do chính tiến trình syslog tạo ra * 6(lpr): Thông báo line printer subsystem * 7(news): Thông báo network news subsystem Bên cạnh đó mỗi đoạn syslog cũng được gắn một severity level - mức độ nghiệm trọng, để biểu thị xem sự kiện đó có nghiệm trọng, hay khẩn cấp không. Có 8 mức độ nghiêm trọng như sau: * 0(Emergency): Hệ thống không thể sử dụng được * 1(Alert): Cần hành động ngay lập tức * 2(Critical): Tình trạng nghiêm trọng * 3(Error): Tình trạng lỗi * 4(Warning): Tình trạng cảnh báo * 5(Notice): Tình trạng bình thường nhưng quan trọng * 6(Informational): Thông báo thông tin * 7(Debug): Thông báo ở cấp độ gỡ lỗi Các mức độ nghiệm trong giúp quản trị viên mạng dễ dàng xác định và phân loại các vấn đề nghiệm trọng một cách nhanh chóng và xử lí trước Một đoạn thông báo syslog tiêu biểu bao gồm các thành phần sau:\ Priority Timestamp Hostname Process[PID]: Message Priority: Mức độ ưu tiên, đây là sự kết hợp của facility codes và severity levels. Ta sử dụng công thức PRI = (Facility * 8) + Severity. Ví dụ 165 ta áp dụng công thức có thể tính 165:8 = 20 dư 5 Timestamp: Thời gian thông báo log được tạo ra Hostname: Tên, địa chỉ của thiết bị tạo ra thông báo Process[PID]: Tên hoặc tiến trình của ứng dụng đã tạo thông báo Message: Đoạn tin nhắn mô tả sự kiện đã được ghi ## 5.3 Sử dụng Syslog trong hệ điều hành Linux Trong môi trường Linux, syslog được triển khai thông qua các syslog daemon khác nhau nhưng phổ biến nhất là syslogd, rsyslog và syslog-ng * syslogd: Syslogd là một triển khai lâu đời nhất trên hệ thống linux, syslogd chịu trách nhiệm thu thập và ghi log từ kernel và các dịch vụ hệ thống theo chuẩn syslog cơ bản. Nhưng do hạn chế về khả năng mở rộng, cơ chế truyền tải không an toàn, thiếu xác thực. Nó đã dần bị thay thế * rsyslog: Rsyslog là một triển khai syslog mã nguồn mở, được sử dụng phổ biến và mặc định trên nhiều bản phân phối của linux. Rsyslog hỗ trợ nhiều module input/output, cho phép thu log từ nhiều nguồn khác nhau, ghi log ra file, chuyển tiếp sang hệ thống khác. Ngoài ra, rsyslog hỗ trợ cả UDP và TCP, có khả năng lọc, xử lý log linh hoạt. * syslog-ng: Syslog-ng là một triển khai syslog mã nguồn mở khác, nổi bật với tính linh hoạt và bảo mật cao. Syslog-ng hỗ trợ nhiều định dạng log, nhiều cơ chế truyền tải và cho phép lọc log theo nội dung, ghi đè hoặc chỉnh sửa message, cũng như cân bằng tải log. Điểm mạnh của syslog-ng là hỗ trợ các cơ chế bảo mật như TLS và xác thực khi truyền log, phù hợp với các môi trường phức tạp. ## 5.4 Ưu và nhược điểm của syslog Ưu điểm của Syslog: * Chuẩn hóa log: Cung cấp định dạng log thống nhất, giúp dễ thu thập và phân tích log từ nhiều hệ thống và thiết bị khác nhau. * Dễ triển khai và phổ biến: Được hỗ trợ rộng rãi trên Linux, Unix và thiết bị mạng, thuận tiện cho việc xây dựng hệ thống log tập trung. Nhược điểm của Syslog: * Thiếu bảo mật mặc định: Giao thức syslog không có cơ chế mã hóa hay xác thực sẵn, dễ bị nghe lén hoặc giả mạo log nếu không cấu hình bổ sung. * Không đảm bảo độ tin cậy khi dùng UDP: Việc truyền log qua UDP có thể gây mất log trong môi trường tải cao hoặc mạng không ổn định. ## 5.5 Các trường hợp sử dụng Syslog Syslog là một hệ thống quản lí log tập trung nên được sử dụng nhiều trong các trường hợp: Giám sát hệ thống và mạng: Syslog cho phép thu thập và phân tích log từ máy chủ, thiết bị mạng và ứng dụng, giúp hỗ trợ giám sát tình trạng hoạt động, hiệu năng và tính sẵn sàng của hệ thống. Việc sử dụng định dạng syslog thống nhất giúp dễ dàng liên kết và so sánh các sự kiện giữa nhiều nền tảng khác nhau. Ghi log bảo mật: Syslog được sử dụng để tập trung các log liên quan đến bảo mật từ firewall, hệ thống phát hiện xâm nhập và các thiết bị an ninh khác. Điều này hỗ trợ phát hiện mối đe dọa, phản ứng sự cố, đảm bảo các sự kiện bảo mật quan trọng được ghi nhận và lưu trữ phục vụ phân tích. # Tài liệu tham khảo https://bizflycloud.vn/tin-tuc/syslog-la-gi-kien-thuc-co-ban-ve-nhat-ky-he-thong-20220811095754902.htm https://sematext.com/glossary/syslog/ https://www.solarwinds.com/resources/it-glossary/windows-event-log https://stackify.com/linux-logs/

    Import from clipboard

    Paste your markdown or webpage here...

    Advanced permission required

    Your current role can only read. Ask the system administrator to acquire write and comment permission.

    This team is disabled

    Sorry, this team is disabled. You can't edit this note.

    This note is locked

    Sorry, only owner can edit this note.

    Reach the limit

    Sorry, you've reached the max length this note can be.
    Please reduce the content or divide it to more notes, thank you!

    Import from Gist

    Import from Snippet

    or

    Export to Snippet

    Are you sure?

    Do you really want to delete this note?
    All users will lose their connection.

    Create a note from template

    Create a note from template

    Oops...
    This template has been removed or transferred.
    Upgrade
    All
    • All
    • Team
    No template.

    Create a template

    Upgrade

    Delete template

    Do you really want to delete this template?
    Turn this template into a regular note and keep its content, versions, and comments.

    This page need refresh

    You have an incompatible client version.
    Refresh to update.
    New version available!
    See releases notes here
    Refresh to enjoy new features.
    Your user state has changed.
    Refresh to load new user state.

    Sign in

    Forgot password
    or
    Sign in via Facebook Sign in via X(Twitter) Sign in via GitHub Sign in via Dropbox Sign in with Wallet
    Wallet ( )
    Connect another wallet

    New to HackMD? Sign up

    By signing in, you agree to our terms of service.

    Help

    • English
    • 中文
    • Français
    • Deutsch
    • 日本語
    • Español
    • Català
    • Ελληνικά
    • Português
    • italiano
    • Türkçe
    • Русский
    • Nederlands
    • hrvatski jezik
    • język polski
    • Українська
    • हिन्दी
    • svenska
    • Esperanto
    • dansk

    Documents

    Help & Tutorial

    How to use Book mode

    Slide Example

    API Docs

    Edit in VSCode

    Install browser extension

    Contacts

    Feedback

    Discord

    Send us email

    Resources

    Releases

    Pricing

    Blog

    Policy

    Terms

    Privacy

    Cheatsheet

    Syntax Example Reference
    # Header Header 基本排版
    - Unordered List
    • Unordered List
    1. Ordered List
    1. Ordered List
    - [ ] Todo List
    • Todo List
    > Blockquote
    Blockquote
    **Bold font** Bold font
    *Italics font* Italics font
    ~~Strikethrough~~ Strikethrough
    19^th^ 19th
    H~2~O H2O
    ++Inserted text++ Inserted text
    ==Marked text== Marked text
    [link text](https:// "title") Link
    ![image alt](https:// "title") Image
    `Code` Code 在筆記中貼入程式碼
    ```javascript
    var i = 0;
    ```
    var i = 0;
    :smile: :smile: Emoji list
    {%youtube youtube_id %} Externals
    $L^aT_eX$ LaTeX
    :::info
    This is a alert area.
    :::

    This is a alert area.

    Versions and GitHub Sync
    Get Full History Access

    • Edit version name
    • Delete

    revision author avatar     named on  

    More Less

    Note content is identical to the latest version.
    Compare
      Choose a version
      No search result
      Version not found
    Sign in to link this note to GitHub
    Learn more
    This note is not linked with GitHub
     

    Feedback

    Submission failed, please try again

    Thanks for your support.

    On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?

    Please give us some advice and help us improve HackMD.

     

    Thanks for your feedback

    Remove version name

    Do you want to remove this version name and description?

    Transfer ownership

    Transfer to
      Warning: is a public team. If you transfer note to this team, everyone on the web can find and read this note.

        Link with GitHub

        Please authorize HackMD on GitHub
        • Please sign in to GitHub and install the HackMD app on your GitHub repo.
        • HackMD links with GitHub through a GitHub App. You can choose which repo to install our App.
        Learn more  Sign in to GitHub

        Push the note to GitHub Push to GitHub Pull a file from GitHub

          Authorize again
         

        Choose which file to push to

        Select repo
        Refresh Authorize more repos
        Select branch
        Select file
        Select branch
        Choose version(s) to push
        • Save a new version and push
        • Choose from existing versions
        Include title and tags
        Available push count

        Pull from GitHub

         
        File from GitHub
        File from HackMD

        GitHub Link Settings

        File linked

        Linked by
        File path
        Last synced branch
        Available push count

        Danger Zone

        Unlink
        You will no longer receive notification when GitHub file changes after unlink.

        Syncing

        Push failed

        Push successfully