diff --git a/pages/activitypub-security.txt b/pages/activitypub-security.txt new file mode 100644 index 0000000000000000000000000000000000000000..692d5c7d666bf911f71d56256a4e34659402f8c2 --- /dev/null +++ b/pages/activitypub-security.txt @@ -0,0 +1,71 @@ +====== Mastodon/Misskey/Pleroma 的安全性? ====== + +åœ¨æˆ‘æŽ¥è§¦åˆ°çš„ä¸æ–‡æ³›é•¿æ¯›è±¡ç¤¾åŒºä¸ï¼Œç»å¸¸å¯ä»¥çœ‹åˆ°å…³äºŽé•¿æ¯›è±¡ä»¥åŠï¼ˆåŸºäºŽ ActivityPub 的)è”邦宇宙的éšç§ä»¥åŠå®‰å…¨æ€§é—®é¢˜ã€‚在这里我å°è¯•对一些相关讨论åšä¸€äº›æ€»ç»“。还在施工ä¸ï¼Œæ¬¢è¿Žè¡¥å……æ–§æ£~ + +===== 安全性是什么? ===== + +这个问题讨论起æ¥ä¼šæ²¡å®Œæ²¡äº†ã€‚æ‰€ä»¥è¿™é‡Œä¸æ‰“算对æ¤åšå‡ºè¯´æ˜Žã€‚ + +===== å„角色的æƒé™ ===== + +在这里我们看一下在ä¸åŒè®¾ç½®ä¸‹ä¸åŒèº«ä»½çš„人对我们信æ¯çš„ä¸åŒæƒé™ã€‚下é¢å‡è®¾æ²¡ç”¨å±è”½æˆ–是 Masotodon 安全模å¼ï¼ˆSecure Mode)。 + +==== 没有账å·çš„æ™®é€šäºº ==== + +é¢ï¼Œè¿™ä¸ªæ™®é€šäººå¯ä»¥æ³¨å†Œè´¦å·â€¦â€¦å½“然,在没有账å·çš„æƒ…况下,TA 还是å¯ä»¥ï¼š + * æŸ¥çœ‹ä½ å…¬å¼€ä¸»é¡µçš„æ´»åŠ¨ï¼ˆä¸€èˆ¬åŒ…æ‹¬å…¬å¼€å˜Ÿæ–‡ä»¥åŠè½¬å‘)ã€ç”¨æˆ·åã€è´¦å·ç®€ä»‹ï¼› + * å¦‚æžœä½ æ˜¯ Mastodon 用户,并且站点开å¯äº† RSS åŠŸèƒ½ï¼šè®¢é˜…ä½ è´¦å·çš„ RSSï¼› + +è¿™é‡Œéœ€è¦æä¸€å¥ï¼šæŠ€æœ¯ä¸Šï¼Œæ²¡å¼€å®‰å…¨æ¨¡å¼çš„æƒ…å†µä¸‹ï¼Œå°±ç®—ä½ æ‰€åœ¨å®žä¾‹æœ‰â€œå…¬å¼€ä¸»é¡µåªæ˜¾ç¤º 10 æ¡â€ç‰çš„功能,一个没有账å·çš„æ™®é€šäººä»ç„¶å¯ä»¥çœ‹åˆ°ä½ å…¬å¼€çš„æ‰€æœ‰å˜Ÿæ–‡ã€‚æ–¹æ³•æˆ‘ä¸æ‰“算说,但å¯ä»¥è¯´æ˜¯éžå¸¸ç®€å•。 + +==== 有(å¯èƒ½è®¸å¤šï¼‰è´¦å·çš„æ™®é€šäºº ==== + +注æ„,一个人å¯ä»¥æœ‰è®¸å¤šè´¦å·ã€‚ + +=== æ²¡æœ‰å…³æ³¨ä½ === + +å¦‚æžœä½ æ²¡æœ‰å¼€å¯å…³æ³¨å®¡æ ¸ï¼Œè¿™ä¸ªæ™®é€šäººå¯ä»¥éšæ—¶å…³æ³¨ä½ ã€‚æ€»ä¹‹ï¼Œåœ¨è¿˜æ²¡å…³æ³¨æ—¶ï¼ŒTA å¯ä»¥ï¼š +* çœ‹åˆ°ä½ çš„éžç§ä¿¡ã€éžå…³æ³¨è€…å¯è§çš„内容; +* å‘ä½ å‘é€ä¿¡æ¯ï¼ˆåŒ…括嘟文ã€ç‚¹èµžç‰ç‰ï¼‰ï¼› + +=== å…³æ³¨äº†ä½ === + +* å¯ä»¥çœ‹åˆ°ä½ 的仅关注者å¯è§çš„内容。 + +==== 站长 ==== + +=== 本站站长 === + +站长具有的æƒé™æ˜¯æœ€å¤§çš„。站长å¯ä»¥åšåˆ°åŒ…括但ä¸é™äºŽä»¥ä¸‹äº‹æƒ…: + * 修改本站账å·çš„任何信æ¯ï¼Œä¹ƒè‡³åˆ å·ï¼› + * 查看本站账å·çš„任何信æ¯ï¼ŒåŒ…括ç§ä¿¡ã€å…³æ³¨è€…å¯è§çš„嘟文ã€é‚®ä»¶åœ°å€ã€IP 地å€ç‰ï¼› + * 修改本站账å·çš„æµè§ˆå†…å®¹ï¼Œå¦‚å…¨ç«™å°ç¦å¤–部账户(哪怕站内用户关注了æ¤ç”¨æˆ·ï¼‰ã€å°ç¦æŸç«™ç‚¹ã€è¿‡æ»¤ç‰¹å®šå˜Ÿæ–‡ï¼ˆPleroma MRF); + +总之,基本概括下æ¥ï¼Œç«™é•¿èƒ½å¤Ÿè®¿é—®ã€ä¿®æ”¹ã€åˆ 除个人用户在站点上留下æ¥çš„任何信æ¯ã€‚ + +=== 外站站长 === + +和上é¢çš„æ€»ç»“相åŒï¼Œç«™é•¿èƒ½å¤Ÿè®¿é—®ã€ä¿®æ”¹ã€åˆ 除个人用户在站点上留下æ¥çš„任何信æ¯ï¼›ä¿®æ”¹æˆ–åˆ é™¤è¿™äº›ä¿¡æ¯åªä¼šå½±å“到 TA 们站内用户的æµè§ˆå†…å®¹ã€‚æ‰€ä»¥è¿™é‡Œçš„é—®é¢˜å°±å˜æˆâ€œæˆ‘们会在外站上留下什么信æ¯â€äº†ã€‚ + +我们在外站留下的信æ¯åŒ…括: + * 我们给这个站点用户显å¼å‘é€çš„æ‰€æœ‰å†…容,包括:å‘给对方的ç§ä¿¡ã€@有对方的嘟文; + * 我们给这个站点用户éšå¼å‘é€çš„æ‰€æœ‰å†…å®¹ï¼ˆå¯¹æ–¹ç«™ç‚¹æœ‰ä½ çš„å…³æ³¨è€…æ—¶ï¼Œä½ å‘çš„éžç§ä¿¡å†…容都会å‘é€ç»™å…³æ³¨è€…ï¼Œä¹ŸåŒ…æ‹¬ä½ ç‚¹çš„èµžã€äº’动和转å‘); + * 我们的用户åã€ä¸ªäººç®€ä»‹ã€å¤´åƒï¼› + +我们的邮箱ã€IP 地å€ä¸ä¼šè¢«å¤–站知é“。 + +===== å±è”½ï¼ˆBlock)有什么作用? ===== + +å±è”½çš„作用å¯ä»¥åˆ†ä¸ºç«™å†…和站外两方é¢ã€‚在站内,其作用便是把有关用户的内容(包括互动)全部å±è”½ã€å–消关注ç‰ã€‚è€Œåœ¨ç«™å¤–ï¼Œä½ æ‰€åœ¨ç«™ç‚¹**会通知**被å±è”½ç”¨æˆ·æ‰€åœ¨çš„站点,让其é…åˆã€‚如果这个站点是æ£å¸¸çš„,那么被å±è”½ç”¨æˆ·ä¹Ÿå°†çœ‹ä¸è§ä½ 所å‘的内容ã€å–消关注ç‰ç‰ï¼›ä½†æ˜¯ï¼Œå¦‚æžœç«™ç‚¹ä¸æ˜¯å¾ˆæ£å¸¸ï¼Œé‚£ä¹ˆå°±æœ‰å…¶å®ƒå¯èƒ½ã€‚(例如,有一个站点会将其收到的å±è”½ä¿¡æ¯å…¬å¼€å‘布出æ¥ã€‚) + +所以,å±è”½åªé’ˆå¯¹ä¸€ä¸ªäººçš„一个å·ï¼Œè¿˜éœ€è¦å¯¹æ–¹å®žä¾‹æœ¬èº«æ£å¸¸è¿ä½œã€‚ + +===== 长毛象安全模å¼ï¼ˆSecure Mode)有什么作用? ===== + +所以å±è”½ä¼¼ä¹Žæ²¡ä»€ä¹ˆç”¨ï¼Œæ²¡æœ‰è´¦å·çš„æ™®é€šäººéƒ½å¯ä»¥å¯¹ä½ 的日常å‘å¸ƒä¸€è§ˆæ— ä½™ã€‚å®‰å…¨æ¨¡å¼ä¸»è¦æƒ³è§£å†³çš„æ˜¯â€œå°è¯•èŽ·å–æˆ‘们信æ¯çš„到底是è°â€è¿™ä¸ªé—®é¢˜ã€‚ä¸Šé¢æ²¡æœ‰è´¦å·çš„æ™®é€šäººæ²¡æœ‰èº«ä»½ä¿¡æ¯ï¼Œä½†ä¹Ÿå¯ä»¥è®¿é—®ä¸€äº›æ•°æ®ï¼Œè€Œå®‰å…¨æ¨¡å¼ä½¿å¾—任何访问都必须附上自己的身份信æ¯ï¼ˆé™¤ç½‘é¡µè®¿é—®å¤–ï¼Œè¿™é‡Œçš„è®¿é—®ä¸»è¦æŒ‡çš„æ˜¯ä½¿ç”¨ ActivityPub è¿™ç§å议在æœåŠ¡å™¨ä¹‹é—´çš„é€šè®¯ï¼‰ã€‚ + +å¼€å¯äº†å®‰å…¨æ¨¡å¼çš„è¯ï¼Œå¦‚æžœè®¿é—®é™„ä¸Šçš„èº«ä»½ä¿¡æ¯æ²¡æœ‰æ¬ºéª—我们的è¯ï¼Œé‚£ä¹ˆæˆ‘们就å¯ä»¥å®žçŽ°æ›´å¥½çš„å±è”½ã€‚这一点的讨论ç»å¸¸ä¼šæ¶‰åŠè½¬å‘的问题:我(a)所在实例 A å±è”½äº†å®žä¾‹ B,实例 B 上有个用户 b 关注了实例 C 上的用户 c,那么用户 c è½¬å‘æˆ‘(a)的嘟文会ä¸ä¼šè¢« b 看到?实际上,一般æ¥è¯´ï¼Œc 的“转å‘â€å®žé™…上进行了如下æ“作:c 所在的实例 C 对实例 B 说“我转å‘了 https://AAA/aaa/123 è¿™æ¡é“¾æŽ¥çš„东西â€ï¼Œå®žä¾‹ B 顺ç€è¿™ä¸ªé“¾æŽ¥åŽ»å‘实例 A è¦ç›¸åº”的内容。所以,B è¦æƒ³çŸ¥é“真æ£çš„内容必须è¦ç»è¿‡ A,而安全模å¼ä½¿å¾—æˆ‘ä»¬çŸ¥é“æ¥è®¿è€…是 B ,这时å±è”½å°±å¯ä»¥èµ·ä½œç”¨ï¼Œè¿™æ²¡æœ‰å®‰å…¨æ¨¡å¼æ˜¯åšä¸åˆ°çš„。 + +但是,一个人å¯ä»¥æœ‰å¤šä¸ªè´¦å·ï¼Œè¿™æ–¹é¢ä¸å¤šè¯´ï¼Œè€Œèº«ä»½ä¿¡æ¯çš„æ¬ºéª—从技术上大概也åªéœ€è¦å¤šä¸€ä¸ªæ²¡æœ‰è¢«å±è”½çš„域å而已,åªè¦å®žè¡Œçš„䏿˜¯å¯†ä¸å¯é€çš„白åå•,那么还是会有风险。 + +注:这里的身份信æ¯çš„æ ¡éªŒå¤§æ¦‚过程是:1)B 访问 A 时说自己是 B,A å†å޻问 B â€œè¿™ä¸ªè®¿é—®æ˜¯ä¸æ˜¯ä½ 的呀â€ï¼Œå¾—到回应(其实是密ç 妿 ¡éªŒï¼Œä¸æ˜¯å›žåº”)åŽï¼Œæ”¾è¡Œ/å±è”½è®¿é—®ã€‚但如果 B 说自己是 Dï¼ŒåŒæ—¶ B 有 D 的控制æƒï¼Œé‚£ä¹ˆæ¬ºéª— A 从技术上说是å¯èƒ½çš„ã€‚ï¼ˆä½†è¿™æ ·å倒ä¸å¦‚直接从 D 那里访问。) \ No newline at end of file