Showing posts with label network. Show all posts
Showing posts with label network. Show all posts

Monday, April 23, 2012

Pengalaman menggunakan Network File System (NFS)

Beberapa hari ini jadi seperti jaman dulu ketika sering berkutat dengan Linux, pasalnya saya coba melakukan setup NFS server di Solaris untuk kemudian di-mount oleh mesin lain dengan sistem operasi Windows 2008 Server. Menjadi seperti dulu karena pekerjaan ini membuat saya perlu sedikit troubleshoot tentang NFS dan juga sedikit riset tentang detail NFS protocol dan juga protokol-protokol lain yang mendukungnya.

Setup NFS server dan testing NFS client untuk mounting di lokal pada mesin Solaris sangatlah mudah. NFS merupakan protokol yang dibuat oleh Sun yang juga merupakan pembuat sistem operasi Solaris, jadi asumsi awal saya memang aplikasi NFS package pasti sudah ada di Solaris dan tinggal mengaktifkan saja.

Wednesday, September 24, 2008

SNMP - Bagian 2

Arsitektur SNMP

Gambar berikut meperlihatkan bagaimana SNMP digunakan sebagai protokol element management:



Managed device yaitu elemen yang dimonitor atau di-manage oleh NMS. Managed device dapat berupa elemen jaringan seperti router, hub, switch maupun komputer.

Agent adalah program atau software module yang berjalan di setiap elemen yang di monitor yang mengetahui informasi yang harus di-manage dan mentranslasikan informasi tersebut menjadi informasi yang kompatibel dengan SNMP atau dapat dikirimkan ke NMS melalui SNMP.

Manager atau NMS (Network-Management Station) adalah elemen yang menjalankan program untuk memonitor dan mengontrol managed device. NMS bisa mendapatkan langsung informasi dari agent misalnya informasi trap (alarm) atau meminta informasi dari agent.

SNMP - Bagian 1

SNMP (Simple Network Management Protocol) berawal dari kebutuhan terhadap suatu alat untuk mengadministrasi atau mengelola (manage) jaringan TCP/IP. Untuk itu perlu standarisasi protokol yang berfungsi untuk mengelola jaringan. Protokol yang didesain untuk itu kemudian dibuat diantaranya adalah SNMP dan CSMIE/CMP (Common Management Information Service Element / Common Management Information).

CMOT (Common Management Information Services and Protocol over TCP/IP) juga dibuat oleh OSI untuk keperluan yang sama. Cepatnya proses standarisasi SNMP oleh IETF dibanding CMOT yang dibuat OSI serta karena SNMP lebih sederhana membuat SNMP lebih cepat digunakan oleh publik.

Sebelumnya SNMP bernama SGMP (Simple Gateway Monitoring Protocol) yang didefinisikan pada RFC 1028 dan telah digunakan untuk monitoring gateway atau router.

SNMP dibuat berawal dari kebutuhan yang didefinisikan pada RFC 1052 (IAB Recommendations for the Development of Internet Network Management Standards). Setelah itu, tahun 1998 beberapa RFC mengenai SNMP dipublikasikan, yaitu:

  • RFC 1065 - Structure and Identification of Management Information for TCP/IP-based internets
  • RFC 1066 - Management Information Base for Network Management of TCP/IP-based internets
  • RFC 1067 - A Simple Network Management Protocol

Setelah mengalami beberapa perubahan, barulah muncul standar SNMP versi 1 yang lengkap pada tahun 1991 dengan beberapa RFC berikut:

  • RFC 1155 - Structure and Identification of Management Information for TCP/IP-based Internets
  • RFC 1212 - Concise MIB Definitions
  • RFC 1213 - Management Information Base for Network Management of TCP/IP-based internets: MIB-II
  • RFC 1157 - Simple Network Management Protocol (SNMP)

Detail daftar RFC untuk SNMP v1 bisa dilihat disini.

April 1993, SNMP versi 2 menjadi standar dengan perubahan utama pada penambahan fitur baru yaitu keamanan dan otentifikasi. SNMP versi 2 tidak kompatibel dengan versi 1 karena SNMP v2 message memiliki header dan format PDU yang berbeda serta menggunakan 2 operasi protokol yang tidak dispesifikasikan pada versi sebelumnya.
  • RFC 1902 - MIB Structure
  • RFC 1903 - Textual Conventions
  • RFC 1904 - Conformance Statements
  • RFC 1905 - Protocol Operations
  • RFC 1906 - Transport Mappings
  • RFC 1907 - MIB
  • RFC 1908 - Coexistence between Version 1 and Version 2

Detail daftar RFC untuk SNMP v2 bisa dilihat disini.


Tahun 1997 SNMP versi 3 mulai dibuat dan pada tahun 2002 menjadi full Internet standard. Dibanding versi sebelumnya, SNMP V3 memiliki fitur-fitur berikut:

- keamanan yang lebih baik dengan enkripsi dan access control,
- pengembangan remote configuration,
- privacy & message integrity

  • RFC 3410 - Intoduction to Network Management Frameworks v3
  • RFC 3411 - An Architecture for Describing SNMP Management Frameworks
  • RFC 3412 - Message Processing and Dispatching
  • RFC 3413 - SNMP Applications
  • RFC 3414 - User-based Security Model (USM)
  • RFC 3415 - View-based Access Control Model (VACM)
  • RFC 3416 - Protocol Operations
  • RFC 3417 - Transport Mappings
  • RFC 3418 - MIB
Detail daftar RFC untuk SNMP v3 bisa dilihat disini.

Thursday, June 05, 2008

Provider Backbone Transport (PBT): Teknologi Ethernet untuk jaringan metro

Saat ini teknologi carrier-ethernet sedang mulai booming, hal ini didorong oleh semakin berkembangnya teknologi telekomunikasi dan internet yang mengarah pada konvergensi teknologi menggunakan komunikasi berbasis paket (packet-based). Teknologi Ethernet (IEEE 802.3) menjadi favorit karena relatif murah, mudah digunakan dan dapat memberikan bandwith yang cukup besar. Ethernet juga telah banyak digunakan terutama pada jaringan komputer (LAN).


Istilah PBT (Provider Backbone Transport) diperkenalkan oleh Nortel Networks dan British Telecom Group pada tahun 1996 sebagai sebuah produk atau teknologi baru untuk koneksi Ethernet yang disebut-sebut sebagai teknologi carrier-class. Carrier-class maksudnya adalah teknologi berkelas provider jaringan telekomunikasi (carrier) yang berarti memiliki QoS (Quality of Service) yang baik dan berkecepatan tinggi sehingga dapat digunakan untuk Metro Area Networks (MAN) atau disebut juga jaringan metro.

Secara ringkas kebutuhan dari jaringan metro diantaranya adalah:

- Infrastruktur yang efisien dan dapat melayani aplikasi packet data, voice, video
- Minimal biaya implementasi
- Kualitas yang tinggi dengan memaksimalkan penggunaan fasilitas yang ada
- Meminimalkan biaya operasional
- Memberikan Service Level Agreement (SLA)
- Meminimalkan masalah kompabilitas dengan teknologi yang sudah dipakai (backward compability issue)

Semua kebutuhan tersebut mendasari teknologi PBT.

Jaringan PBT terdiri dari Provider Backbone Bridge (PBB) yang distandarisasi pada IEEE 802.1ah disebut juga Mac-in-Mac atau MinM. Teknologi MAC-in-MAC menggunakan konsep VLAN tagging seperti yang digunakan pada teknologi Q-in-Q (IEEE 802.1ad). Kelebihannya dibanding QinQ adalah PBB dapat menangani lebih banyak (jutaan) layanan (service).

PBT beroperasi dengan cara memberikan konfigurasi routing pada Provider Backbone Bridged Network. Kemudian, provider dapat membuat trunk (jalur) maupun layanan untukkoneksi point-to-point pada jaringan Ethernet dengan sistem provisioning dan manajemen yang dimiliki PBT. Sebuah trunk didefinisikan dengan menggunakan VLAN ID dan pasangan alamat sumber serta alamat tujuan.

Berikut adalah gambar perbandingan beberapa paket Ethernet, termasuk paket Ethernet pada PBB.

Gambar diadopsi dari situs ini

PBB-TE (Provider Backbone Bridge – Traffic Engineering) merupakan standarisasi dari PBT dengan beberapa pengembangan (enhancement). PBB-TE didefinisikan pada standard IEEE 802.1Qay.

PBT/PBB-TE pada dasarnya memisahkan antara service layer dari Ethernet dengan network layer atau tunnel layer sehingga dapat provider dapat membuat point-to-point Ethernet tunnel yang bisa digunakan untuk mendeliver service apapun. PBT juga menghilangkan beberapa konsep yang terdapat pada Ethernet seperti flooding atau broadcasting, spanning tree protocol (STP) dan MAC address learning sehingga mengurangi kompleksitas.

Sebagai catatan, teknologi ini bersaing dengan T-MPLS yang distandarisasi oleh ITU, tapi kemudian T-MPLS dikembangkan lagi oleh ITU dan IETF menjadi teknologi yang disebut MPLS Transport Profile (MPLS-TP).

Lebih lanjut tentang PBT ini dapat anda baca di artikel berikut ini:
atau baca juga slide ini dan ini.

Tuesday, March 18, 2008

Memanfatkan kanal tersembunyi ICMP: backdoor

Melanjutkan posting Memanfatkan kanal tersembunyi ICMP, dibawah ini saya jelaskan secara singkat tentang penggunaan kanal tersembunyi pada ICMP untuk backdoor pada sebuah host.

ICMP backdoor

ICMP backdoor menggunakan prinsip yang sama dengan ICMP tunneling yaitu memanfaatkan covert channel dari paket Echo Request dan Echo Reply. Pada ICMP backdoor, ICMP digunakan untuk komunikasi antara client dengan server. Program server biasanya dapat berinteraksi langsung dengan command shell sehingga client dapat memberikan perintah ke server. Perintah dari client dikirimkan dengan paket ICMP Echo Request ke server untuk kemudian server mengeksekusi perintah dan mengirimkan hasilnya (output) ke client dengan ICMP Echo Reply.


___________________________
| | ______________
| +-------+ +--------+ | | Client |
| | Shell |<----| Server |<====ICMP===>| Application |
| | |---->| Daemon | | |______________|
| +-------+ +--------+ |
|___________________________|


Tools yang paling awal dibuat untuk ICMP backdoor ini adalah Loki yang idenya dipublikasikan tahun 1996 dan codenya dirilis ke publik September 1997. Tulisan J. Christian Smith tentang covert shell memberikan beberapa list yang cukup banyak tentang tool untuk backdoor jenis ini. Anda dapat mencari tools ICMP backdoor juga di website PacketStorm



Cara paling efektif untuk menghindari ICMP tunneling dan ICMP backdoor adalah memblok paket ICMP di firewall atau di host yang bersangkutan atau hanya pada saat yang diperlukan dan dibatasi pada host yang terpercaya saja.

Friday, March 14, 2008

Memanfatkan kanal tersembunyi ICMP

Kita mungkin sudah sering menggunakan ping sebagai alat untuk mengetes hidup atau tidaknya sebuah host atau untuk mengetahui berapa lama suatu paket sampai pada host tujuan. Ping sebenarnya merupakan perintah untuk mengirimkan paket ICMP. Paket ICMP echo request akan diterima oleh host tujuan untuk kemudian dibalas dengan paket ICMP lain (echo reply) ke host pengirim.

Jika kita perhatikan perintah ping di sistem operasi Windows, kita dapat menentukan besarnya buffer pengiriman yaitu dengan opsi "-l" misalnya

ping -l 20000 202.0.0.1

Paket ICMP yang dikirim dari perintah tersebut akan membawa data tidak penting, biasanya hanya berupa karakter "abcdefgh..." yang berulang-ulang. Data yang sama tersebut kan dikirim kembali dari host tujuan dalam paket jawaban (reply). Pengiriman dan pegembalian data dalam paket ICMP inilah yang biasa digunakan oleh orang untuk transaksi data tersembunyi. Transaksi paket data ini bisa digunakan jika ICMP tidak diblok oleh firewall, dan biasanya memang tidak. Transaksi bisa digunakan untuk melakukan tunneling dari paket ICMP ke paket TCP untuk mendapatkan akses internet jika paket TCP tertentu diblok sedangkan ICMP tidak. Selain itu, cara ini bisa juga untuk mengakses backdoor pada suatu host. Kedua cara tersebut akan dibahasa di artikel ini.

Format paket/message dari ICMP dibahas pada RFC 792 Internet Control Message Protocol. ICMP memiliki beberapa macam message format, yaitu

- Destination Unreachable Message
- Time Exceeded Message
- Parameter Problem Message
- Source Quench Message
- Redirect Message
- Echo or Echo Reply Message
- Timestamp or Timestamp Reply Message
- Information Request or Information Reply Message


Saya akan bahas mengenai message Echo atau Echo Reply yang memiliki bagian data yang bisa diisi oleh data apapun. Field data tersebut sebenarnya digunakan untuk test, saat kita ingin melakukan test pengiriman packet dengan besar packet yang kita tentukan. Field inilah yang tersebut yang dapat digunakan untuk mengirimkan informasi (real data) sehingga sering disebut sebagai kanal tersembunyi (covert channel).

Fungsi dari message Echo atau Echo Reply telah dijelaskan di paragraf awal, sekarang kita lihat bagaimana aliran dari message ini.

host A Gateway/router host X
| | |
|---Echo request-->| |
| |---Echo request-->|
| |<--Echo reply-----|
|<--Echo reply-----| |
| | |


Beberapa flow ICMP dapat dilihat di sini.

Format message dari Echo atau Echo Reply berikut adalah sebagai berikut:

+---------------------------------------------------------------+
| IP header (160 bits) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Code | Checksum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Identifier | Sequence Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Data ...
+-+-+-+-+-

Type, code dan checksum adalah field yang umum (selalu ada) dalam semua jenis ICMP message.

Type menunjukan jenis tipe message, misalnya type=8 berarti Echo request dan type=0 bearti Echo reply. Dibawah ini adalah tabel dari nilai field type

0 | Echo Reply
3 | Destination Unreachable
4 | Source Quench
5 | Redirect
8 | Echo
11 | Time Exceeded
12 | Parameter Problem
13 | Timestamp
14 | Timestamp Reply
15 | Information Request
16 | Information Reply

Code menunjukan informasi tambahan yang berhubungan dengan type, misalnya untuk type = 3, dibawah ini adalah nilai-nilai untuk code dan penjelasannya

0 | Destination network unreachable
1 | Destination host unreachable
2 | Destination protocol unreachable
3 | Destination port unreachable
4 | Fragmentation required, and DF set
5 | Source route failed
6 | Destination network unknown
7 | Destination host unknown
8 | Source host isolated
9 | Network administratively prohibited
10 | Host administratively prohibited
11 | Network unreachable for TOS
12 | Host unreachable for TOS
13 | Communication administratively prohibited


Checksumberisi nilai untuk keperluan error checking. Nilai ini didapat dari penjumlahan antara ICMP header dan data.
Identifier berisi nilai sequence untuk menunjukan hubungan antara satu transaksi Echo Request-Echo Reply. Nilai identifier dari echo reply harus sama dengan nilai identifier pada echo request.

Sequence Number berisi nilai yang berfungsi sama dengan Identifier.

Data berisi data apa saja yang harus dikembalikan dengan sama oleh Echo Reply. Jika data terlalu besar maka IP layer akan melakukan fragmentasi paket pada data ini.

Dibawah ini contoh sebuah hex dump data dari paket ICMP Echo request dan Echo Reply

Echo Request:

08 00 d6 4e 04 00 73 0d 61 62 63 64 65 66 67 68 ...N..s.abcdefgh
69 6a 6b 6c 6d 6e 6f 70 71 72 73 74 75 76 77 61 ijklmnopqrstuvwa
62 63 64 65 66 67 68 69 bcdefghi

Echo Reply:

00 00 de 4e 04 00 73 0d 61 62 63 64 65 66 67 68 ...N..s.abcdefgh
69 6a 6b 6c 6d 6e 6f 70 71 72 73 74 75 76 77 61 ijklmnopqrstuvwa
62 63 64 65 66 67 68 69 bcdefghi


Fungsi dasar ICMP dapat dibaca di RFC 1122 Requirements for Internet Hosts – Communication Layers, namum beberapa RFC mjuga membahas mengenai penggunaan ICMP seperti

- RFC 896 Source Quench.
- RFC 950 Address Mask Extensions.
- RFC 1191 Path MTU Discovery.
- RFC 1256 Router Discovery.
- RFC 1349 Type of Service in the Internet Protocol Suite.

ICMP tunneling.

Dengan memanfaatkan data yang dibawa Echo Request & Echo Response, sebuah program tunneling bisa dibuat untuk menkonversi data dari pake ICMP ke paket TCP. Cara ini sering disebut ICMP tunneling atau ICMP proxy. Tunneling ini berguna untuk mendapatkan akses internet jika paket TCP diblok sedangkan paket ICMP tidak. Arsitektur dari ICMP tunneling digambarkan seperti ini


.................
/ INTERNET /
+---------+ / / +---------+
| host A |<-----ICMP----/----, ,-------/------TCP--->| host B |
+---------+ / | | / +---------+
/ | | /
........|..|.....
| |
v v
+---------+
| host X |
+---------+

Diatas meruapakan sebuah contoh arsitektur dimana host A menginginkan data dari host B, misalnya host A adalah tempat anda berada dan ingin melakukan browsing (koneksi HTTP) ke sebuah website (host B).

Kita memerlukan sebuah host X yang melakukan tunneling yang berfungsi sebagai proxy. Host X lah yang memiliki program ICMP tunneling yang akan menerima request dari client yaitu host A untuk kemudian dikirimkan ke host tujuan, misalnya host B. Data reply dari host B kemudian akan dikonversi ke ICMP Echo reply oleh host X dan dikembalikan ke host A.

Cara seperti ini dapat dilakukan dengan menjalankan program proxy di host X dan program client di host A. Salah satu aplikasi (tool) yang bisa digunakan untuk ICMP tunneling ini adalah PingTunnel yang bisa didownload secara gratis.

Sekian dulu tulisan ini, pembahasan berikutnya yaitu ICMP backdoor yang juga menggunakan konsep yang sama yaitu ICMP covert channel akan dibahas pada posting lain.

Wednesday, March 05, 2008

Redundancy system

Redundancy adalah kemampuan suatu sistem untuk tetap berfungsi dengan normal walaupun terdapat elemen yang tidak berfungsi. Hal ini biasanya dicapai dengan memiliki komponen backup yang berfungsi sama dengan elemen sistem.

1+1 Redundancy

Pada artitektur redundancy 1+1 berarti setiap elemen memiliki masing-masing satu elemen backup. Pada arsitektur ini, jika terjadi kegagalan (failure) pada satu elemen atau lebih, maka sistem secara keseluruhan masih dapat berfungsi seperti keadaan sebelumnya (tidak terjadi failure). Redundancy seperti ini sering disebut dengan active-stanby.


+----------------+
,-----| Elemen utama |
| +----------------+
----+
: +---------------+
:.......| Elemen backup |
+---------------+

+----------------+
,-----| Elemen utama |
| +----------------+
----+
: +---------------+
:.......| Elemen backup |
+---------------+



N+1 Redundancy

Parsitektur redundancy N+1 berarti sekumpulan elemen yang berfungsi sama untuk melayani beban pasa saat bersamaan, memiliki sebuah elemen backup. Arsitektur ini didesain untuk tetap tidak terpengaruh oleh kegagalan pada satu elemen dan memiliki harga (cost) yang efektif karena tidak memiliki banyak elemen backup.


+----------------+
,-----| Elemen utama |
| +----------------+
----+
| +----------------+
+-----| Elemen utama |
: +----------------+
:
: +---------------+
:.......| Elemen backup |
+---------------+

Arsitektur redundancy yang memiliki elemen backup secara fisik disebut systemic redundancy atau physical redundancy.

Redundancy dapat juga dibuat secara modular yaitu dalam sebuah system terdapat beberapa elemen dengan fungsi yang sama yang berguna sebagai modul backup.


Selain itu ada juga istilah N, N+1, 2N, 2(N+1) yang bisa dibaca penjelasannya disini.

Tuesday, March 06, 2007

Management IP

Hari ini saya tau bahwa seuatu server membutuhkan sebuah atau lebih management IP. Apa itu management IP saya juga baru mendengar.

Management IP adalah IP address yang dibuat untuk keperluan me-manage server. IP address ini biasanya adalah IP local yang satu subnet dengan network dimana sever dapat diakses oleh administrator.

Di server yang dapat saya akses, saya melihat ada aktifitas pada management IP. Saya jadi penasaran paket-paket apa saja yang ada pada management IP. Paket-paket yang terlihat pada interface card yang disediakan sebagai management IP-address pada server saya adalah:

NetBIOS Datagram Service
STP (Spanning Tree Protocol)
NBNS (NetBIOS Name Service)
ARP (Address Resolution Protocol)
DTP (Dynamic Trunking Protocol)
CDP (Cisco Discovery Protocol)

3 protokol yaitu STP, DTP dan CDP tidak familiar buat saya, mungkin tidak juga buat anda. Jadi silakan diklik link diatas kalau mau lebih lanjut.

Followers