Ftp là gì? Những vấn đề về bảo an khi sử dụng ftp

ftp

FTP là một khái niệm rất quan trọng vì trong suốt thời gian bạn sử dụng host để làm website, có thể bạn sẽ cần sử dụng FTP nhiều hơn là dùng control panel của host vì nó sẽ giúp bạn tiện lợi hơn trong việc upload/quản lý các tập tin và thư mục trên host vì sử dụng tính năng File Manager có trong control panel đôi lúc hơi rườm rà và bất tiện, cũng như ở trên đó bạn sẽ không thấy các tập tin hệ thống có tên là .htaccess, nên chúng ta sẽ cần sử dụng FTP để quản lý dữ liệu trên ổ cứng của host.

Khái niệm ftp là gì?

FTP (viết tắt của File Transfer Protocol dịch ra là “Giao thức truyền tập tin”) thường được dùng để trao đổi tập tin qua mạng lưới truyền thông dùng giao thức TCP/IP (chẳng hạn như Internet – mạng ngoại bộ – hoặc Intranet – mạng nội bộ). Hoạt động của FTP cần có hai máy tính, một máy chủ và một máy khách). Máy chủ FTP, dùng chạy phần mềm cung cấp dịch vụ FTP, gọi là trình chủ, lắng nghe yêu cầu về dịch vụ của các máy tính khác trên mạng lưới.

Máy khách chạy phần mềm FTP dành cho người sử dụng dịch vụ, gọi là trình khách, thì khởi đầu một liên kết với máy chủ. Một khi hai máy đã liên kết với nhau, máy khách có thể xử lý một số thao tác về tập tin, như tải tập tin lên máy chủ, tải tập tin từ máy chủ xuống máy của mình, đổi tên của tập tin, hoặc xóa tập tin ở máy chủ v.v. Vì giao thức FTP là một giao thức chuẩn công khai, cho nên bất cứ một công ty phần mềm nào, hay một lập trình viên nào cũng có thể viết trình chủ FTP hoặc trình khách FTP.

Hầu như bất cứ một nền tảng hệ điều hành máy tính nào cũng hỗ trợ giao thức FTP. Điều này cho phép tất cả các máy tính kết nối với một mạng lưới có nền TCP/IP, xử lý tập tin trên một máy tính khác trên cùng một mạng lưới với mình, bất kể máy tính ấy dùng hệ điều hành nào (nếu các máy tính ấy đều cho phép sự truy cập của các máy tính khác, dùng giao thức FTP). Hiện nay trên thị trường có rất nhiều các trình khách và trình chủ FTP, và phần đông các trình ứng dụng này cho phép người dùng được lấy tự do, không mất tiền.

ftp
ftp

Các cỗng giao tiếp ftp là gì?

FTP thường chạy trên hai cổng, 20 và 21, và chỉ chạy riêng trên nền của TCP. Trình chủ FTP lắng nghe các yêu cầu dịch vụ từ những kết nối vào máy của các trình khách FTP, trên cổng 21. Đường kết nối trên cổng 21 này tạo nên một dòng truyền điều khiển, cho phép các dòng lệnh được chuyển qua trình chủ FTP. Để truyền tải tập tin qua lại giữa hai máy, chúng ta cần phải có một kết nối khác.

Tùy thuộc vào chế độ truyền tải được sử dụng, trình khách (ở chế độ chủ động – active mode) hoặc trình chủ (ở chế độ bị động – passive mode) đều có thể lắng nghe yêu cầu kết nối đến từ đầu kia của mình. Trong trường hợp kết nối ở chế độ chủ động, (trình chủ kết nối với trình khách để truyền tải dữ liệu), trình chủ phải trước tiên đóng kết nối vào cổng 20, trước khi liên lạc và kết nối với trình khách. Trong chế độ bị động, hạn chế này được khắc phục, và việc đóng kết nối trước là một việc không cần phải làm.

Trong khi dữ liệu được truyền tải qua dòng dữ liệu, dòng điều khiển đứng im. Tình trạng này gây ra một số vấn đề, đặc biệt khi số lượng dữ liệu đòi hỏi được truyền tải là lớn, và đường truyền tải chạy thông qua những bức tường lửa. Bức tường lửa là dụng cụ thường tự động ngắt các phiên giao dịch sau một thời gian dài im lặng. Tuy tập tin có thể được truyền tải hoàn thiện, song dòng điều khiển do bị bức tường lửa ngắt mạch truyền thông giữa quãng, gây ra báo lỗi.

Mục đích của giao thức FTP

  • Mục đích của giao thức FTP, như được phác thảo trong bản RFC, là:
  • Khuyến khích việc dùng chung tập tin (như chương trình ứng dụng hoặc dữ liệu)
  • Khuyến khích việc sử dụng máy tính ở xa một cách gián tiếp / âm thầm (implicit).
  • Che đậy sự khác biệt về hệ thống lưu trữ tập tin giữa các máy chủ, hầu cho người dùng không cần phải quan tâm đến những sự khác biệt riêng tư của chúng.
  • Truyền tải dữ liệu một cách đáng tin cậy và có hiệu quả cao.
ftp
ftp

Những phê bình về giao thức FTP

Mật khẩu và nội dung của tập tin được truyền qua đường cáp mạng ở dạng văn bản thường (clear text), vì vậy chúng có thể bị chặn và nội dung bị lộ ra cho những kẻ nghe trộm. Hiện nay, người ta đã có những cải tiến để khắc phục nhược điểm này.

Cần phải có nhiều kết nối TCP/IP: một dòng dành riêng cho việc điều khiển kết nối, một dòng riêng cho việc truyền tập tin lên, truyền tập tin xuống, hoặc liệt kê thư mục. Các phần mềm bức tường lửa cần phải được cài đặt thêm những lôgic mới, đế có thể lường trước được những kết nối của FTP.

Việc thanh lọc giao thông FTP bên trình khách, khi nó hoạt động ở chế độ năng động, dùng bức tường lửa, là một việc khó làm, vì trình khách phải tùy ứng mở một cổng mới để tiếp nhận đòi hỏi kết nối khi nó xảy ra. Vấn đề này phần lớn được giải quyết bằng cách chuyển FTP sang dùng ở chế độ bị động.

Người ta có thể lạm dụng tính năng ủy quyền, được cài đặt sẵn trong giao thức, để sai khiến máy chủ gửi dữ liệu sang một cổng tùy chọn ở một máy tính thứ ba. Xin xem thêm về FXP.

FTP là một giao thức có tính trì trệ rất cao (high latency). Sự trì trệ gây ra do việc, nó bắt buộc phải giải quyết một số lượng lớn các dòng lệnh khởi đầu một phiên truyền tải.

Phần nhận không có phương pháp để kiểm chứng tính toàn vẹn của dữ liệu được truyền sang. Nếu kết nối truyền tải bị ngắt giữa lưng chừng thì không có cách gì, trong giao thức, giúp cho phần nhận biết được rằng, tập tin nhận được là hoàn chỉnh hay còn vẫn còn thiếu sót. Sự hỗ trợ bên ngoài, như việc dùng kiểm tra tổng MD5, hoặc dùng kiểm độ dư tuần hoàn (cyclic redundancy checking) là một việc cần thiết.

Những vấn đề về bảo an khi dùng ftp là gì?

FTP là một phương pháp truyền tập tin có truyền thống phi bảo an (không an toàn), vì theo như bản thiết kế gốc đặc tả của FTP, không có cách nào có thể truyền tải dữ liệu dưới hình thức mật mã hóa được. Ảnh hưởng này có nghĩa là, phần lớn các cài đặt của mạng lưới truyền thông, tên người dùng, mật khẩu, dòng lệnh FTP và tập tin được truyền tải, đều có thể bị người khác trên cùng một mạng lưới, “ngửi” hoặc quan sát, dùng phần mềm phân tích giao thức (protocol analyzer) (hoặc còn gọi là “dụng cụ ngửi dữ liệu”, tiếng Anh là “sniffer”).

Nên chú ý rằng đây là vấn đề thường thấy ở các giao thức của Internet được thiết kế trước khi SSL (Secure Sockets Layer) ra đời (tạm dịch là giao thức “tầng kết nối bảo mật”), như HTTP, SMTP và Telnet. Giải pháp thường thấy, đối với vấn đề này, là dùng SFTP (Secure Shell File Transfer Protocol – tạm dịch là “giao thức truyền tập tin dùng trình bao bảo mật”), một giao thức dựa trên nền của SSH, hoặc trên FTPS (FTP over SSL). SFTP là FTP được cộng thêm chức năng mã hoá dữ liệu của SSL hoặc TLS (Transport Layer Security – tạm dịch là “Bảo mật tầng giao vận”).

FTP là một khái niệm rất quan trọng vì trong suốt thời gian bạn sử dụng host để làm website, có thể bạn sẽ cần sử dụng FTP nhiều hơn là dùng control panel của host vì nó sẽ giúp bạn tiện lợi hơn trong việc upload/quản lý các tập tin và thư mục trên host vì sử dụng tính năng File Manager có trong control panel đôi lúc hơi rườm rà và bất tiện, cũng như ở trên đó bạn sẽ không thấy các tập tin hệ thống có tên là .htaccess, nên chúng ta sẽ cần sử dụng FTP để quản lý dữ liệu trên ổ cứng của host.

ftp
ftp

Cách kết nối vào FTP

Trước khi kết nối vào FTP trên host, mình cần các bạn đã chắc chắn trỏ tên miền về host mặc dù bước này không cần thiết vì bạn có thể kết nối vào cái hostname của host hoặc dịa chỉ IP của host nhưng ở đây mình sẽ chỉ hướng dẫn kết nối vào FTP qua tên miền trên host để tránh dài dòng.

Để kết nối vào FTP trên host bạn cần phải sử dụng một ứng dụng chuyên làm việc này, nó được gọi là FTP Client. Hiện nay, bạn có thể sử dụng phần mềm FileZilla vì đây là FTP Client miễn phí tốt nhất hiện tại, hỗ trợ hầu hết mọi hệ điều hành hiện nay.

FTP Account là gì? Tài khoản FTP có nghĩa là gì?

FTP là chữ viết tắt của File Transfer Protocol (Giao thức chuyển nhượng tập tin), đây là một giao thức giúp bạn dễ dàng trao đổi các dữ liệu giữa máy tính của bạn với host và ngược lại. Ftp Accounts là số tài khoản FTP mà Bạn có thể tạo ra và sử dụng.

Tại FTP, bạn sẽ có quyền quản lý toàn bộ các dữ liệu dạng tập tin và thư mục có trên host ngoại trừ database. Tất cả các gói host bạn mua có hỗ trợ control panel cPanel, DirectAdmin… đều hỗ trợ sẵn FTP qua cổng kết nối 21 (21 là cổng mặc định, cổng này có thể thay đổi nếu nhà cung cấp Hosting đổi port). Thông qua giao thức FTP, người dùng có thể tải dữ liệu như hình ảnh, văn bản, các tập tin media (nhạc, video)… từ máy tính của mình lên máy chủ đang đặt ở một nơi khác hoặc tải các tập tin có trên máy chủ về máy tính cá nhân.

Hoạt động của FTP cần có hai máy tính, một máy chủ và một máy khách). Máy chủ FTP, dùng chạy phần mềm cung cấp dịch vụ FTP (FTP Server), gọi là trình chủ, lắng nghe yêu cầu về dịch vụ của các máy tính khác trên mạng lưới.

Máy khách chạy phần mềm FTP (FTP client) dành cho người sử dụng dịch vụ, gọi là trình khách, thì khởi đầu một liên kết với máy chủ. Một khi hai máy đã liên kết với nhau, máy khách có thể xử lý một số thao tác về tập tin, như tải tập tin lên máy chủ, tải tập tin từ máy chủ xuống máy của mình, đổi tên của tập tin, hoặc xóa tập tin ở máy chủ v.v.

Vì giao thức FTP là một giao thức chuẩn công khai, cho nên bất cứ một công ty phần mềm nào, hay một lập trình viên nào cũng có thể viết trình chủ FTP hoặc trình khách FTP. Hầu như bất cứ một nền tảng hệ điều hành máy tính nào cũng hỗ trợ giao thức FTP.

Điều này cho phép tất cả các máy tính kết nối với một mạng lưới có nền TCP/IP, xử lý tập tin trên một máy tính khác trên cùng một mạng lưới với mình, bất kể máy tính ấy dùng hệ điều hành nào (nếu các máy tính ấy đều cho phép sự truy cập của các máy tính khác, dùng giao thức FTP).

  • Bạn cũng sẽ gặp các thuật ngữ này trong Hosting:
  • Disk Space hay còn gọi là Dung lượng lưu trữ
  • bandwidth hay còn gọi là Băng thông
  • Database hay còn gọi là :MySQL, SQL Server, cơ sở dữ liệu
  • FTP Account hay chính là tài khoản FTP

Cách sử dụng  FTP

ftp
ftp

Up/Down File sử dụng FTP thông qua trình duyệt

Đa số các trình duyệt web (web browser) gần đây và trình quản lý tập tin (file manager) có thể kết nối vào các máy chủ FTP, mặc dù chúng có thể còn thiếu sự hỗ trợ cho những mở rộng của giao thức, như FTPS chẳng hạn.

Điều này cho phép người dùng thao tác các tập tin từ xa, thông qua kết nối FTP, dùng một giao diện quen thuộc, tương tự như giao diện trong máy của mình (ví dụ liệt kê danh sách của các tập tin của máy ở xa trông giống như phần liệt kê của máy mình, đồng thời các thao tác sao bản tập tin (copy), đổi tên, xóa, v.v.. được xử lý như là chúng ở trong máy mình vậy). Phương pháp làm là thông qua FTP URL, dùng dạng thức ftp(s)://<địa chỉ của máy chủ FTP> (ví dụ: ftp.gimp.org).

Nhược điểm khi sử dụng FTP qua trình duyệt là có thể bị time out với File quá lớn, ít tùy chọn hơn các phần mềm FTP chuyên dụng.

FTP trên nền SSH

“FTP trên nền của SSH” ám chỉ đến một kỹ thuật “đào hầm” cho một phiên giao dịch dùng giao thức FTP bình thường, thông qua một kết nối dùng giao thức SSH.

FTP sử dụng cổng SSH còn được gọi là SFTP. Với giao thức này Bạn cần có quyền truy cập root. Bạn có thể sử dụng “Bitvise SSH Client” Phần mềm này có sẵn một cửa sổ có giao diện quản lý File trực quan, tích hợp cả màn hình console.

Vì FTP (một giao thức khá bất thường, dựa trên nền của giao thức TCP/IP, mà hiện nay người ta vẫn còn dùng) sử dựng nhiều kết nối TCP, cho nên việc đi ngầm dưới nền của SSH là một việc khó khăn. Đối với đa số các trình khách của SSH, khi “kết nối điều hành” (kết nối khởi đầu giữa máy khách tới máy chủ, dùng cổng 21) được thiết lập, SSH chỉ có thể bảo vệ được đường kết nối này mà thôi.

Khi việc truyền tải dữ liệu xảy ra, trình FTP ở một trong hai đầu, sẽ thiết lập một kết nối TCP mới (“đường dẫn dữ liệu”) và kết nối này sẽ bỏ qua kết nối của SSH, làm cho nó không còn được hưởng tính tin cẩn (confidentiality), sự bảo vệ tính toàn vẹn (integrity protection) của dữ liệu, hoặc những tính năng khác mà SSH có.

Nếu trình khách FTP được cài đặt dùng chế độ bị động, và kết nối với một máy chủ dùng giao diện SOCKS, là giao diện mà nhiều trình khách SSH có thể dùng để tiến cử việc đi ngầm, việc dùng các đường kết nối của FTP, trên các kết nối của SSH, là một việc có thể làm được.

Nếu không, các phần mềm trình khách SSH phải có kiến thức cụ thể về giao thức FTP, giám sát và viết lại các thông điệp trong kết nối điều khiển của FTP, tự động mở các đường truyền tải dữ liệu cho FTP. Phiên bản 3 của trình SSH (do công ty phần mềm Communications Security Corp. sản xuất) là một ví dụ điển hình, hỗ trợ những khả năng nói trên [2].

“FTP chạy trên nền SSH” còn đôi khi được gọi là FTP bảo mật (secure FTP). Chúng ta không nên nhầm cái này với những phương pháp bảo an FTP, như SSL/TLS hay còn gọi là FTPS.

Những phương pháp để truyền tải các tập tin khác, dùng SSH, không có liên quan đến FTP, bao gồm SFTP (SSH file transfer protocol – giao thức truyền tải tập tin dùng SSH) hoặc SCP (Secure copy – sao chép có bảo mật) – trong cả hai cái này, toàn bộ cuộc hội thoại (xác minh người dùng và truyền tải dữ liệu) đều luôn luôn được bảo vệ bằng giao thức SSH.

Sử dụng phần mềm quản lý tập tin FileZilla

Ngoài Filezilla còn có cuteFTP, winscp. Nhưng tôi khuyên bạn nên dùng Filezilla vì đơn giản là nó miễn phí và dễ sử dụng. Không nên dùng bản crack cuteFTP.

FileZilla hay FileZilla Client là một phần mềm FTP mã nguồn mở giúp đơn giản hóa việc upload, download file giữa máy tính và host. Các bạn nên sử dụng phần mềm mã nguồn mở thay vì sử dụng các phần mềm có phí crack, rất nguy hiểm vì hacker có thể đánh cắp thông tin host qua phần mềm crack.

FileZilla Client là chương trình hỗ trợ truyền tải tập dữ liệu giữa máy tính cá nhân và các máy chủ web thông qua mạng Internet sử dụng giao thức FTP (File Transfer Protocol).

FileZilla hỗ trợ việc truyền tải những tập tin lớn, phục hồi lại từ điểm đứt gãy khi gặp sự cố, giữ tập tin an toàn và cho phép tìm kiếm cũng như chỉnh sửa tập tin từ xa. Phần mềm làm việc với các giao thức FTP, FTP trên nền SSL/TLS và SFTP.

ftp
ftp

Về phía người dùng khi tiếp cận FTP sẽ làm quen với các thông số sau:

– Địa chỉ máy chủ FTP: có dạng tên miền hoặc địa chỉ IP. Ví dụ: ftp.nhipsongso.tuoitre.com.vn (dạng tên miền) hoặc 192.168.1.1 (dạng IP tương ứng với tên miền). Địa chỉ máy chủ FTP theo dạng tên miền được dùng phổ biến hơn vì dễ nhớ hơn so với những con số và dấu chấm của địa chỉ IP.

– Tên tài khoản (username)/ mật khẩu (password) để đăng nhập vào máy chủ FTP. Tùy thuộc vào quản trị viên cấp quyền hạn trên máy chủ FTP mà tài khoản FTP của bạn sẽ có những quyền cơ bản như tải (upload/ download), tạo thư mục, sao chép hay xóa dữ liệu.

Lưu ý bảo mật thông tin tài khoản vì dữ liệu trên máy chủ có thể bị kẻ gian xâm nhập, đánh cắp và xóa đi.

Cách truyền tải dữ liệu qua giao thức FTP và sử dụng FTP client

Giao thức FTP đơn giản nhưng dễ sơ hởBiến máy tính của bạn thành một FTP serverTruyền tải file với CuteFTP Professional 7

Có thể tận dụng ngay trình duyệt web Internet Explorer hay Windows Explorer hoặc thông qua tập lệnh (FTP commands) để kết nối đến máy chủ FTP, nhưng sẽ rất khó khăn để thao tác cho những người dùng phổ thông không am hiểu nhiều về kỹ thuật. Do đó, các chương trình sử dụng FTP chuyên dụng hay còn gọi là FTP client
sẽ là giải pháp tốt nhất để truyền tải dữ liệu.

Các chương trình FTP client sẽ thực hiện công việc kết nối đến máy chủ FTP sau khi bạn nhập đầy đủ thông tin (máy chủ FPT, tài khoản đăng nhập), hỗ trợ thao tác kéo/ thả, tạo thư mục (folder) tương tự như thao tác trên Windows Explorer.

Có khá nhiều chương trình FTP Client từ miễn phí đến thương mại, một số chương trình phổ biến như WinSCP và FileZillacho máy tính dùng hệ điều hành Windows hay CyberDuck cho máy Mac. CuteFTP Pro của hãng GlobalSCAPE là một chương trình FTP Client rất chuyên nghiệp nhưng là phiên bản thương mại có phí. Tùy theo nhu cầu sử dụng mà bạn chọn lựa một chương trình thích hợp.

Từ khóa:

  • ftp server
  • smtp là gì
  • telnet là gì
  • http là gì
  • types of ftp
  • sftp là gì
  • download ftp

Nội dung liên quan:

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *