Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ระบบเครือข่าย >> ความปลอดภัยเครือข่าย

AFS ใน Network Security คืออะไร? (Andrew File System)

AFS (Andrew File System) คืออะไร?

AFS (Andrew File System) คือ Distributed Network File System ที่พัฒนาโดย Carnegie Mellon University (CMU) ในช่วงทศวรรษ 1980 ต่อมาเป็นสินค้าของ Transarc (IBM) และกลายเป็น Open Source (OpenAFS) ปัจจุบันใช้ในสภาพแวดล้อม Enterprise, Research, Education ที่ต้องการ File Sharing ข้ามสถานที่/แพลตฟอร์ม

คุณสมบัติหลักของ AFS (Key Characteristics)

Featureรายละเอียด
Location TransparencyClient เข้าถึงไฟล์ผ่าน Path เดียวกัน (/afs/cell/path) ไม่ต้องรู้ว่าไฟล์อยู่ Server ไหน
Namespace UniformityGlobal Namespace: ทุก Cell มองเห็น /afs ทั้งหมด (ถ้ามีสิทธิ์)
Client-Side CachingCache ไฟล์บน Local Disk → Performance ดี, ทน Network Outage, Reduce Server Load
Callback MechanismServer แจ้ง Client เมื่อไฟล์เปลี่ยน (Cache Invalidation) → Consistency
Scalabilityรองรับ 10,000+ Clients, Multiple Cells, Geographically Distributed
Security (Kerberos)Authentication: Kerberos v5, Authorization: ACLs on Directories (per-user/group)
ReplicationRead-only Volume Replication (Multiple Sites) → High Availability
Volume ManagementVolume = Unit of Admin (Backup, Quota, Move, Replicate, Offline)

AFS vs NFS (Network File System) - เปรียบเทียบ

ด้านเปรียบเทียบAFS (Andrew FS)NFS (Sun/NFSv3/v4)
Server StateStateful (รู้ Client, Callback)Stateless (v3) / Stateful (v4)
CachingClient-side (Aggressive, Whole File)Client-side (Attribute + Data, v4 Delegation)
ConsistencyClose-to-Open / Callback (Strong)Weak (v3) / Delegation (v4)
NamespaceGlobal (/afs/cell/...)Per-Mount (Local View)
SecurityKerberos + ACLs (Native, Fine-grained)AUTH_SYS (Weak) / Kerberos (v4+) / NFSv4 ACLs
MobilityVolume Move/Replicate TransparentMount Point Change Required
Performance (WAN)ดีกว่า (Caching + Callbacks)ช้ากว่า (Chatty, No Callback v3)

AFS Security Architecture

Authentication: Kerberos v5

  • User kinit / Login → ได้ Token (AFS Token) = Kerberos Ticket + AFS Key
  • Token ใช้ Auth กับ File Server (Volume Location Server - VLDB)
  • Token มีอายุ (Default 25 hrs) ต้อง Renew (aklog / kinit)

Authorization: ACLs on Directories

  • ACL ต่อ Directory (ไม่ใช่ต่อไฟล์)
  • Rights: read, lookup, insert, delete, write, klock, administer (rlidwka)
  • Group: system:anyuser, system:authuser, pts groups
  • Negative Rights: ค่ำนำหน้าด้วย - (เช่น -write)

Encryption

  • Network Traffic: Encrypted (fcrypt / rxkad / AES-256 ใน OpenAFS ใหม่)
  • Data At-Rest: ไม่เข้ารหัสโดย Default (ขึ้นกับ Underlying FS / dm-crypt / ZFS Encryption)

AFS Cell & Volume Architecture

  • Cell: Administrative Domain (เช่น cs.cmu.edu, mit.edu, organization.com) มี VLDB, PTS Server, File Servers ของตัวเอง
  • Volume: หน่วยจัดการ (Container) มี Quota, ACL, Replication, Backup, Move
  • RW Volume: Read-Write (Source)
  • RO Volume: Read-Only Replica (สำหรับ Load Balancing / DR)
  • Backup Volume: Snapshot (Read-Only, Created by vos backup)

Use Cases ของ AFS

  • Higher Education / Research: MIT, Stanford, CMU, Harvard, CERN, Grid Computing
  • Enterprise: Global File Sharing, Home Directories, Source Code Repos (Pre-Git)
  • National Labs / Supercomputing: Data Sharing Across Sites
  • Financial Services: Goldman Sachs (Historical), Trading Data Distribution

AFS ในยุค Cloud (Modern Context)

  • OpenAFS: Active Development, Linux/Windows/macOS Client, Kernel Module / FUSE
  • AuroraFS / Argo: Modern Reimplementations (Go, gRPC)
  • Cloud-Native Alternatives: CephFS, GlusterFS, Lustre, JuiceFS, SeaweedFS, Alluxio, S3/Blob + FUSE
  • Kubernetes: OpenAFS CSI Driver, AFS Submount

Azure File Sync (AFS) - ความสับสนชื่อเดียวกัน

Azure File Sync (AFS) เป็นบริการ Microsoft Azure สำหรับ Sync On-prem File Server ↔ Azure Files (Cloud Tiering, Backup, DR) ไม่เกี่ยวข้องกับ Andrew File System

Andrew File System (AFS)Azure File Sync (AFS)
Distributed FS (CMU/IBM/OpenAFS)Hybrid File Sync Service (Microsoft)
Kerberos, ACL, Callback, Global NSAzure Files (SMB/NFS), Cloud Tiering
On-prem / Cross-siteOn-prem Windows Server ↔ Azure

สรุป: AFS (Andrew File System) ในมุมมอง Security

  • ✅ Strengths: Kerberos Auth, Fine-grained ACLs, Encrypted Transit, Callback Consistency, Scalable, Mature
  • ⚠️ Considerations: Complexity (Admin Skill), Client Cache Management, Single Point (VLDB/PTS), At-Rest Encryption Not Native, Legacy Perception
  • 🔄 Modern Alternative: กรณีใหม่ มักเลือก CephFS, JuiceFS, SeaweedFS, Cloud Storage (S3/Blob) + FUSE, หรือ Kubernetes CSI Drivers