Kategori
Cisco CyberOps Networking

Network Services [2/2]

File Transfer and Sharing Services

FTP and TFTP

File Transfer Protocol (FTP)

FTP adalah protokol lapisan aplikasi lain yang umum digunakan. FTP dikembangkan untuk memungkinkan transfer data antara klien dan server. Klien FTP adalah aplikasi yang berjalan di komputer yang digunakan untuk mendorong dan menarik data dari server FTP.

Seperti yang diilustrasikan pada gambar, agar berhasil mentransfer data, FTP memerlukan dua koneksi antara klien dan server, satu untuk perintah dan balasan, yang lain untuk transfer file yang sebenarnya:

  1. Klien membuat koneksi pertama ke server untuk mengontrol lalu lintas menggunakan port TCP 21, yang terdiri dari perintah klien dan balasan server.
  2. Klien membuat koneksi kedua ke server untuk transfer data aktual menggunakan port TCP 20. Koneksi ini dibuat setiap kali ada data yang akan ditransfer.

Transfer data dapat terjadi di kedua arah. Klien dapat mengunduh (menarik) data dari server, atau klien dapat mengunggah (mendorong) data ke server.

FTP tidak dirancang untuk menjadi protokol lapisan aplikasi yang aman. Untuk alasan ini, SSH File Transfer Protocol, yang merupakan bentuk aman dari FTP yang menggunakan protokol Secure Shell untuk menyediakan saluran yang aman, adalah implementasi transfer file yang disukai.

Trivial File Transfer Protocol (TFTP)

TFTP adalah protokol transfer file yang disederhanakan yang menggunakan nomor port UDP 69 yang terkenal. Ini tidak memiliki banyak fitur FTP, seperti operasi manajemen file untuk membuat daftar, menghapus, atau mengganti nama file. Karena kesederhanaannya, TFTP memiliki overhead jaringan yang sangat rendah dan populer untuk aplikasi transfer file yang tidak penting. Namun pada dasarnya tidak aman, karena tidak memiliki fitur login atau kontrol akses. Untuk alasan ini, TFTP perlu diterapkan dengan hati-hati, dan hanya jika benar-benar diperlukan.

SMB

Server Message Block (SMB) adalah protokol berbagi file klien/server yang menjelaskan struktur sumber daya jaringan bersama seperti direktori, file, printer, dan port serial, seperti yang ditunjukkan pada gambar. Ini adalah protokol permintaan-tanggapan. Semua pesan SMB memiliki format yang sama. Format ini menggunakan header berukuran tetap, diikuti oleh parameter berukuran variabel dan komponen data.

SMB adalah klien/server, protokol permintaan-tanggapan. Server dapat membuat sumber daya mereka sendiri tersedia untuk klien di jaringan.

Pesan SMB dapat memulai, mengotentikasi, dan mengakhiri sesi, mengontrol akses file dan printer, dan mengizinkan aplikasi untuk mengirim atau menerima pesan ke atau dari perangkat lain.

Berbagi file dan layanan cetak SMB telah menjadi andalan jaringan Microsoft, seperti yang ditunjukkan di bawah ini

Email

Email Protocols

Salah satu layanan utama yang ditawarkan oleh ISP adalah hosting email. Untuk berjalan di komputer atau perangkat akhir lainnya, email memerlukan beberapa aplikasi dan layanan, seperti yang ditunjukkan pada gambar. Email adalah metode store-and-forward untuk mengirim, menyimpan, dan mengambil pesan elektronik melalui jaringan. Pesan email disimpan dalam database di server email.

Klien email berkomunikasi dengan server email untuk mengirim dan menerima email. Server email berkomunikasi dengan server email lain untuk mengirim pesan dari satu domain ke domain lainnya. Klien email tidak berkomunikasi langsung dengan klien email lain saat mengirim email. Sebaliknya, kedua klien mengandalkan server email untuk mengirim pesan.

Email mendukung tiga protokol terpisah untuk pengoperasian: Simple Mail Transfer Protocol (SMTP), Post Office Protocol (POP), dan IMAP. Proses lapisan aplikasi yang mengirim email menggunakan SMTP. Seorang klien mengambil email menggunakan salah satu dari dua protokol lapisan aplikasi: POP atau IMAP.

SMTP

Format pesan SMTP memerlukan header pesan dan badan pesan. Meskipun isi pesan dapat berisi teks dalam jumlah berapa pun, header pesan harus memiliki alamat email penerima dan alamat pengirim yang diformat dengan benar.

Ketika klien mengirim email, proses SMTP klien terhubung dengan proses SMTP server pada port 25 yang terkenal. Setelah koneksi dibuat, klien mencoba mengirim email ke server melalui koneksi. Ketika server menerima pesan, itu menempatkan pesan di akun lokal, jika penerima adalah lokal, atau meneruskan pesan ke server email lain untuk pengiriman, seperti yang ditunjukkan pada gambar.

Server email tujuan mungkin tidak online atau mungkin sibuk saat pesan email dikirim. Oleh karena itu, SMTP mengumpulkan pesan untuk dikirim di lain waktu. Secara berkala, server memeriksa antrian untuk pesan dan mencoba mengirimnya lagi. Jika pesan masih tidak terkirim setelah waktu kedaluwarsa yang telah ditentukan, pesan tersebut dikembalikan ke pengirim sebagai tidak terkirim.

POP3

POP3 digunakan oleh aplikasi untuk mengambil email dari server email. Dengan POP3, email diunduh dari server ke klien dan kemudian dihapus di server, seperti yang ditunjukkan pada gambar.

Server memulai layanan POP3 dengan mendengarkan secara pasif pada port TCP 110 untuk permintaan koneksi klien. Ketika klien ingin menggunakan layanan, ia mengirimkan permintaan untuk membuat koneksi TCP dengan server. Ketika koneksi dibuat, server POP3 mengirim salam. Klien dan server POP3 kemudian bertukar perintah dan tanggapan hingga koneksi ditutup atau dibatalkan.

Dengan POP3, pesan email diunduh ke klien dan dihapus dari server, sehingga tidak ada lokasi terpusat di mana pesan email disimpan. Karena POP3 tidak menyimpan pesan, itu tidak diinginkan untuk usaha kecil yang membutuhkan solusi cadangan terpusat.

Ini adalah gambar dengan komputer pengirim dan komputer penerima. Dua server SMTP/POP3 terhubung di antara keduanya. Pesan email dikirim dari komputer pengirim berlabel [email protected] menggunakan protokol smtp. SMTP/POP3 pertama menerima pesan dari pengirim dan bertanya Apakah penerima ada dalam daftar penerima saya? Tidak. meneruskan email ke server lain. Server SMTP/POP3 kedua menerima pesan melalui protokol SMTP dan menyatakan saya memiliki [email protected] terdaftar Saya akan menempatkan email ini di kotak surat penerima Penerima kemudian membaca pesan menggunakan protokol POP3.

IMAP

IMAP adalah protokol lain yang menjelaskan metode untuk mengambil pesan email, seperti yang ditunjukkan pada gambar. Tidak seperti POP3, ketika pengguna terhubung ke server berkemampuan IMAP, salinan pesan diunduh ke aplikasi klien. Pesan asli disimpan di server sampai dihapus secara manual. Pengguna melihat salinan pesan dalam perangkat lunak klien email mereka.

Pengguna dapat membuat hierarki file di server untuk mengatur dan menyimpan email. Struktur file itu juga diduplikasi pada klien email. Ketika pengguna memutuskan untuk menghapus pesan, server menyinkronkan tindakan itu dan menghapus pesan dari server.

HTTP

Hypertext Transfer Protocol and Hypertext Markup Language

Ada protokol khusus lapisan aplikasi yang dirancang untuk penggunaan umum seperti penelusuran web dan email. Topik pertama memberi Anda gambaran umum tentang protokol ini. Topik ini lebih detail.

Ketika alamat web atau Uniform Resource Locator (URL) diketik ke dalam browser web, browser web membuat koneksi ke layanan web. Layanan web berjalan di server yang menggunakan protokol HTTP. URL dan Uniform Resource Identifiers (URI) adalah nama yang kebanyakan orang kaitkan dengan alamat web.

Untuk lebih memahami bagaimana browser web dan server web berinteraksi, periksa bagaimana halaman web dibuka di browser. Untuk contoh ini, gunakan URL http://www.cisco.com/index.html.

Step 1

Browser menafsirkan tiga bagian URL:

  • http (protokol atau skema)
  • www.cisco.com (nama server)
  • index.html (nama file spesifik yang diminta)

Step 2

Browser kemudian memeriksa dengan server nama untuk mengubah www.cisco.com menjadi alamat IP numerik, yang digunakan untuk terhubung ke server. Klien memulai permintaan HTTP ke server dengan mengirimkan permintaan GET ke server dan meminta file index.html.

Step 3

Menanggapi permintaan tersebut, server mengirimkan kode HTML untuk halaman web ini ke browser.

Step 4

Browser menguraikan kode HTML dan memformat halaman untuk jendela browser.

The HTTP URL

URL HTTP juga dapat menentukan port pada server yang harus menangani metode HTTP. Selain itu, dapat menentukan string kueri dan fragmen. String kueri biasanya berisi informasi yang tidak ditangani oleh proses server HTTP itu sendiri, tetapi ditangani oleh proses lain yang berjalan di server. String kueri didahului dengan tanda “?” karakter dan biasanya terdiri dari serangkaian pasangan nama dan nilai. Fragmen didahului oleh karakter “#”. Ini merujuk ke bagian bawahan dari sumber daya yang diminta di URL. Misalnya, sebuah fragmen bisa merujuk ke jangkar bernama dalam dokumen HTML. URL akan mengakses dokumen dan kemudian pindah ke bagian dokumen yang ditentukan oleh fragmen jika tautan jangkar bernama yang cocok ada di dokumen. URL HTTP yang menyertakan bagian-bagian ini ditunjukkan pada gambar.

URL ini mengatakan untuk menggunakan HTTP untuk mengakses server di example.com menggunakan port 8080. Dari direktori suara kembalikan dokumen dengan id 973285 dengan format mp4 (file suara mp4) pada posisi 00 menit dan 00 detik (awal dari file suara).

HTTP Operation

HTTP adalah protokol permintaan/tanggapan yang menggunakan port TCP 80, meskipun port lain dapat digunakan. Ketika klien, biasanya browser web, mengirim permintaan ke server web, itu akan menggunakan salah satu dari enam metode yang ditentukan oleh protokol HTTP.

  • GET – Permintaan klien untuk data. Klien (browser web) mengirim pesan GET ke server web untuk meminta halaman HTML, seperti yang ditunjukkan pada gambar.
  • POST – Mengirimkan data untuk diproses oleh sumber daya.
  • PUT – Mengunggah sumber daya atau konten ke server web seperti gambar.
  • DELETE – Menghapus sumber daya yang ditentukan.
  • OPTIONS – Mengembalikan metode HTTP yang didukung server.
  • CONNECT – Meminta server proxy HTTP meneruskan sesi HTTP TCP ke tujuan yang diinginkan.

Meskipun HTTP sangat fleksibel, ini bukan protokol yang aman. Pesan permintaan mengirim informasi ke server dalam plaintext yang dapat dicegat dan dibaca. Respons server, biasanya halaman HTML, juga tidak terenkripsi.

HTTP Status Codes

Respons server HTTP diidentifikasi dengan berbagai kode status yang menginformasikan aplikasi host hasil permintaan klien ke server. Kode-kode tersebut disusun menjadi lima kelompok. Kodenya numerik, dengan nomor pertama dalam kode yang menunjukkan jenis pesan. Lima grup kode status adalah:

  • 1xx – Informasi
  • 2xx – Sukses
  • 3xx – Pengalihan
  • 4xx – Kesalahan Klien
  • 5xx – Kesalahan Server

Penjelasan dari beberapa kode status umum ditunjukkan pada gambar. Sumber yang bagus untuk detail tentang kode status tertentu dapat ditemukan dengan mencari “tutorial api istirahat” dan “kode status HTTP.” Kode status HTTP ditampilkan dalam lalu lintas klien/server HTTP dan berguna untuk investigasi keamanan siber.

CodeStatusMeaning
1xx – Informational
100ContinueThe client should continue with the request. The Server has verified that the request can be fulfilled.
2xx – Success
200OKThe request completed successfully.
202AcceptedThe request has been accepted for processing, but processing is not completed.
4xx – Client Error
403ForbiddenThe request is understood by the server, but the resource will not be fulfilled. This is possibly because the requester is not authorized to view the resource.
404Not FoundThe server could not find the requested resource. This can be caused by an out-of-date or incorrect URL.

HTTP/2

HTTP/2 adalah revisi besar dari spesifikasi protokol HTTP. Tujuan HTTP/2 adalah untuk meningkatkan kinerja HTTP dengan mengatasi masalah latensi yang ada di protokol versi HTTP 1.1. HTTP/2 menggunakan format header yang sama dengan HTTP 1.1 dan menggunakan kode status yang sama. Namun, ada banyak fitur penting pada HTTP/2 yang harus diperhatikan oleh analis keamanan siber.

Gambar tersebut menggambarkan perbedaan antara aliran independen dan aliran multipleks dalam transfer informasi menggunakan HTTP.

  • Multiplexing – Server HTTP dan klien melakukan percakapan yang disebut stream untuk setiap transaksi. Misalnya, klien akan terhubung ke server HTTP, meminta sumber daya dari server itu, dan menerima sumber daya yang diminta. Dengan HTTP 1.1, hanya satu aliran yang didukung pada saat itu. Dengan HTTP/2, klien dan server dapat menjalankan beberapa aliran di antara keduanya secara bersamaan melalui koneksi TCP yang sama, seperti yang ditunjukkan pada gambar. Ini memberikan efisiensi yang sangat ditingkatkan untuk protokol.
  • Server PUSH – Server HTTP dapat mendorong konten yang belum diminta ke klien. Server mengantisipasi konten yang kemungkinan akan diminta klien. Klien menyimpan konten ini untuk digunakan di masa mendatang.
  • A binary protocol – Dalam HTTP 1.1, perintah, seperti permintaan dari klien ke server, dibuat dalam format teks. HTTP/2 telah beralih menggunakan perintah biner. Ini mengatasi beberapa masalah rumit dengan versi sebelumnya, menurunkan overhead permintaan dan respons, serta mengurangi latensi dan meningkatkan throughput.
  • Header compression – Header permintaan dan respons HTTP dikompresi untuk lebih mengurangi jumlah bandwidth yang dibutuhkan oleh aliran HTTP/2.

Securing HTTP – HTTPS

Untuk komunikasi yang aman di internet, protokol HTTP Secure (HTTPS) digunakan. HTTPS menggunakan port TCP 443. HTTPS menggunakan otentikasi dan enkripsi untuk mengamankan data saat berjalan antara klien dan server. HTTPS menggunakan proses respons permintaan-server klien yang sama seperti HTTP, tetapi aliran data dienkripsi dengan Secure Socket Layer (SSL), atau Transport Layer Security (TLS), sebelum diangkut melintasi jaringan. Meskipun SSL adalah pendahulu TLS, kedua protokol tersebut sering disebut sebagai SSL.

HTTPS/2 ditentukan untuk menggunakan HTTPS melalui TLS dengan ekstensi Application-Layer Protocol Negotiation (ALPN) untuk TLS 1.2 atau yang lebih baru. Standar HTTP/2 tidak menentukan enkripsi, namun semua aplikasi perangkat lunak klien utama memerlukannya. Oleh karena itu, dapat diasumsikan bahwa HTTP/2 sebenarnya dienkripsi.

Banyak informasi rahasia, seperti kata sandi, informasi kartu kredit, dan informasi medis dikirimkan melalui internet menggunakan HTTPS.

Ref : [1][2][3]