Pages
Diberdayakan oleh Blogger.
About Me
Popular Posts
-
Dalam komputer terdapat dua buah cara merepresentasikan nilai negatif, yaitu komplemen satu (ones complement) dan komplemen dua (twos c...
-
BAB 1 MATERI PENGANTAR 1. Pengertian Dan Penjelasan Dari DCE Data Circuit terminating Equipment Sebuah data...
-
Tunneling Protocol Pada dasarnya jaringan komputer menggunakan sebuah tunneling protokol saat data dalam protokol HTTP di-enkapsulasi (di...
-
IPTABLES Mengapa diberi nama firewall? Mungkin itu pertanyaan yang pertama kali muncul ketika membaca artikel tentang keamanan, baik di ...
-
ENTITY RELATIONSHIP DIAGRAM (ERD) Dalam rekayasa perangkat lunak, sebuah Entity-Relationship Model (ERM) merupakan abstra...
-
Pengertian dan Cara Kerja MAIL SERVER MAIL SERVER Email merupakan sebuah layanan pengiriman surat elektronik yang di kirim m...
-
LSB : Watermarking Menggunakan Metode LSB ( Least Significant Bit ) Menggunakan MATLAB 7.8 Pengertian Watermarking Watermarki...
-
Awalnya, sistem penamaan alamat IP menggunakan sistem host table. Di dalam sistem ini, setiap komputer memiliki file host.txt yang berisi da...
-
7 LAPISAN OSI LAYER Gambaran Umum Referensi OSI Sebuah badan multinasional yang didirikan...
-
Shorewall Shorewall adalah salah satu tools firewall pada linux yang berbasiskan iptables. Shorewall terdapat konsep “zone” yang memuda...
Archive for Juli 2013
Apakah itu Tunneling Protocol ?
Tunneling Protocol
Pada dasarnya jaringan komputer menggunakan sebuah tunneling
protokol saat data dalam protokol HTTP di-enkapsulasi (dibungkus) dalam
protokol SSL sebagai payload. Secara sederhana tunneling berarti mengirimkan
data melalui koneksi lain yang sudah terbentuk , sebagai contoh saat Anda
membuka situs internet banking, pasti dalam awalan akan terdapat URL
"https", yang itu sebenarnya adalah data dalam protokol HTTP yang
dikirimkan melalui koneksi dengan protokol SSL, atau "HTTP over SSL".
Dalam bahasa gaulnya "HTTP digendong SSL".
Pada dasarnya jaringan komputer menggunakan sebuah tunneling
protokol saat data dalam protokol HTTP di-enkapsulasi (dibungkus) dalam
protokol SSL sebagai payload. Secara sederhana tunneling berarti mengirimkan
data melalui koneksi lain yang sudah terbentuk , sebagai contoh saat Anda
membuka situs internet banking, pasti dalam awalan akan terdapat URL
"https", yang itu sebenarnya adalah data dalam protokol HTTP yang
dikirimkan melalui koneksi dengan protokol SSL, atau "HTTP over SSL".
Dalam bahasa gaulnya "HTTP digendong SSL".
VIRTUAL PRIVATE NETWORK
Apakah VPN itu?
Virtual Networking: menciptakan ‘tunnel’ dalam jaringan yang
tidak harus direct.
Sebuah ‘terowongan’ diciptakan melalui public network
seperti Internet. Jadi seolaholah ada hubungan point-to-point dengan data yang
dienkapsulasi.
Private Networking: Data yang dikirimkan terenkripsi,
sehingga tetap rahasia
meskipun melalui public network.
Cara Kerja
VPN bisa bekerja dengan cara:
•dial-up
• bagian dari router-to-router
Digging the Tunnel
Tunnel dalam VPN sebenarnya hanya logical point-to-point
connection dengan
otentikasi dan enkripsi. Analoginya adalah kalau sebuah
organisasi/perusahaan
punya kantor di 2 gedung yang berbeda. Nah, untuk
orang/informasi bergerak dari
satu kantor ke kantor lainnya, bisa melalui:
• kaki lima atau jalan umum
• menggali lubang di bawah tanah (analog dengan VPN).
Proses Enkapsulasi
Paket lama dibungkus dalam paket baru. Alamat ujung tujuan
terowongan (tunnel
endpoints) diletakkan di destination address paket baru,
yang disebut dengan
encapsulation header. Tujuan akhir tetap ada pada header
paket lama yang
dibungkus (encapsulated). Saat sampai di endpoint, kapsul
dibuka, dan paket lama
dikirimkan ke tujuan akhirnya.
Enkapsulasi dapat dilakukan pada lapisan jaringan yang
berbeda.
Layer 2 Tunneling
VPN paling sering menggunakan lapisan data link, misalnya:
• Point-to-Point Tunneling Protocol (PPTP) dari Microsoft.
• Contoh yang lain adalah Layer 2 Forwarding (L2F) dari
Cisco yang bisa
bekerja pada jaringan ATM dan Frame Relay. L2F didukung oleh
Internetwork Operating System yang didukung oleh
router-router Cisco.
• Yang terbaru adalah Layer 2 Tunneling Protocol (L2TP) yang
mengkombinasikan elemen dari PPTP dan L2F.
Layer 3 Tunneling
Tunneling dapat dibuat pula pada lapisan IP. Jadi paket IP
dibungkus dalam IP
Security (IPSec) dengan menggunakan pula IKE (Internet Key
Exchange).
IPSec bisa dipergunakan dengan beberapa cara:
• transport mode: IPSec melakukan enkripsi, tetapi tunnel
dibuat oleh L2TP.
Perhatikan bahwa L2TP bisa juga mengenkapsulasi IPX
(Internetwork
Packet Exchange) dan jenis paket-paket layer 3 lainnya.
• tunneling mode: IPSec melakukan enkripsi dan tunneling-nya.
Ini mungkin
harus dilakukan jika router/gateway tidak mendukuk L2TP atau
PPTP.
Dukungan Sistem Operasi
• Windows 9x, Windows NT: PPTP
• Windows 2000: L2TP, PPTP
• Linux: IPSec & SSH (Secure Shell)
VPN pada Windows 2000
Alasan Penggunaan VPN
VPN vs Dial-up Networking:
Misalnya seorang pegawai yang mobile bertugas antarkota.
Bisa saja pakai dial-up
service, tetapi kalau dial-up antar kota, bisa mahal sekali.
Oleh karena itu menggunakan ISP lokal + VPN, untuk mengakses
LAN perusahaan.
Selain itu VPN juga akan mereduksi jumlah telephone line
& modem bank yang
perlu disediakan perusahaan. Perusahaan cukup menyediakan 1
koneksi saja ke
Internet. Hal ini akan mereduksi cost dari perusahaan.
Keuntungan VPN terhadap dial-up access:
1. menghemat biaya interlokal
2. membutuhkan lebih
sedikit saluran telepon di perusahaan
3. membutuhkan
hardware yang lebih sedikit (seperti modem bank)
Kerugian VPN
1. kedua endpoints
dari VPN, koneksinya harus reliable. Sebagai contoh,
kalau ISP di sisi client (sang telecommuter employee) tidak
bisa
diakses/di-dial, maka tentu VPN tidak bisa juga! Lain halnya
kalau bisa
dial-up service ke kantor.
2. Performance VPN
bisa lebih lambat daripada dial-up service yang biasa
tanpa VPN. Hal ini disebabkan karena ada proses tunneling
dan
enkripsi/dekripsi.
Skenario-skenario VPN
Remote Access VPN
1. Home user atau
mobile user men-dial ke ISP
2. Setelah ada
koneksi Internet, client menghubungkan diri ke remote access server
yang telah dikonfigurasikan dengan VPN.
3. User diotentikasi,
dan akses kemudian diizinkan.
Virtual Private Extranets
Untuk menghubungkan diri partner, supplier atau customer,
seperti dalam B2B ecommerce. Hal yang penting adalah melindungi LAN (intranet)
dari akses yang
mungkin merugikan dari luar. Oleh karena itu harus
dilindungi oleh firewall.
Koneksi client ke intranet dengan VPN di perimeter network.
Karena biasanya yang
diakses adalah web server, maka web server juga ada di
perimeter network.
VPN Connections Between Branch Offices
Disebut juga gateway-to-gateway atau router-to-router
configuration. Routernya
harus disetup sebagai VPNserver dan client.
Software seperti vpnd (VPNdaemon) bisa dipergunakan untuk
menghubungkan 2
LAN dengan Linux atau FreeBSD.
VPN Protocols
Tunneling Protocols
1. PPTP
Dikembangkan oleh Microsoft dari PPP yang dipergunakan untuk
remote access.
Caranya:
a. PPTP
mengenkapsulasi frame yang bisa berisi IP, IPX atau NetBEUI dalam
sebuah header Generic Routing Encapsulation (GRE). Tetapi
PPTP
membungkus GRE dalam paket IP. Jadi PPTP membutuhkan IP
untuk
membuat tunnel-nya, tetapi isinya bisa apa saja.
b. Data aslinya
dienkripsi dengan MPPE.
PPTP-linux adalah client software. Sedangkan yang server
adalah PoPToP untuk
Linux, Solaris dan FreeBSD.
2. L2F
Dibuat Cisco tahun 1996. Bisa menggunakan ATM dan Frame
Relay, dan tidak
membutuhkan IP. L2F juga bisa menyediakan otentikasi untuk
tunnel endpoints.
3. L2TP
Dikembangkan oleh Microsoft dan Cisco. Bisa mengenkapsulasi
data dalam IP,
ATM, Frame Relay dan X.25.
Keunggulan L2TP dibandingkan PPTP:
• multiple tunnels between endpoints, sehingga bisa ada
beberapa saluran
yang memiliki perbedaan Quality of Service (QoS).
•mendukung kompresi
•bisa melakukan tunnel authentication
• bisa bekerja pada jaringan non-IP seperti ATM dan Frame
Relay.
4. IPSec
Dalam tunneling mode, IP Sec bisa dipergunakan untuk
mengenkapsulasi paket.
IP Sec juga bisa dipergunakan untuk enkripsi dalam protokol
tunneling lainnya.
IPSec menggunakan 2 protokol
• Authentication Header (AH): memungkinkan verifikasi
identitas pengirim.
AH juga memungkinkan pemeriksaan integritas dari
pesan/informasi.
•Encapsulating Security Payload (ESP): memungkinkan enkripsi
informasi
sehingga tetap rahasia. IP original dibungkus, dan outer IP
header
biasanya berisi gateway tujuan. Tetapi ESP tidak menjamin
integrity dari
outer IP header, oleh karena itu dipergunakan berbarengan
dengan AH.
5. SSH dan SSH2
Dikembangkan untuk membuat versi yang lebih aman dari rsh,
rlogin dan rcp
pada UNIX. SSH menggunakan enkripsi dengan public key
seperti RSA. SSH
bekerja pada session layer kalau merujuk pada OSI reference
model, sehingga
disebut circuit-level VPN. SSH membutuhkan login account.
6. CIPE
Adalah driver kernel Linux untuk membuat secure tunnel
anatara 2 IP subnet.
Data dienkripsi pada lapisan network layer (OSI) sehingga di
sebut low-level
encryption. Oleh karena itu CIPE tidak memerlukan perubahan
besar pada layerlayer di atasnya (termasuk aplikasi).
Encryption Protocols
•MPPE
• IPSec encryption: DES atau 3DES
•VPNd: Blowfish
• SSH: public key encryption
VPN Security
1. Authentication
Proses mengidentifikasi komputer dan manusia/user yang
memulai VPN
connection. Metode otentikasi dapat dilakukan dengan
protokol:
- Extensible Authentication Protocol (EAP)
- Challenge Handshake Authentication (CHAP)
-MS-CHAP
-Password Authentication Protocol (PAP)
-Shiva-PAP
2. Authorization
Menentukan apa yang boleh dan yang tidak boleh diakses
seorang user.
3. Enkripsi
Masalah Performa VPN
Yang paling jadi masalah adalah performa Internet sendiri.
Misalnya kadang-kadang
bisa terjadi ISP tidak bisa diconnect, atau sedang ada heavy
traffic di Internet
(karena ada berita besar misalnya).
Kemudian adalah masalah kecepatan, dimana circuit-level VPN
lebih lambat
ketimbang network-level VPN.
PPTP merupakan protokol jaringan yang memungkinkan
pengamanan transfer
data dari remote client (client yang berada jauh dari server) ke server pribadi perusahaan dengan membuat sebuah VPN melalui TCP/IP (Snader, 2005). Protokol ini dikembangkan oleh Microsoft dan Cisco.
Teknologi jaringan PPTP merupakan pengembangan dari remote access Point-to-Point protocol yang dikeluarkan oleh Internet Engineering Task Force (IETF).
PPTP merupakan protokol jaringan yang merubah paket PPP menjadi IP datagram agar dapat ditransmisikan melalui intenet. PPTP juga dapat digunakan pada jaringan private LAN-to-LAN. PPTP terdapat sejak dalam sistem operasi Windows NT server dan Windows NT Workstation versi 4.0. Komputer yang berjalan dengan sistem operasi tersebut dapat menggunakan protokol PPTP dengan aman untuk terhubung dengan private network sebagai client dengan remote access melalui internet. PPTP juga dapat digunakan oleh komputer yang terhubung dengan LAN untuk membuat VPN melalui LAN.
Fasilitas utama dari penggunaan PPTP adalah dapat digunakannya public-switched telephone network (PSTN) untuk membangun VPN. Pembangunan PPTP yang mudah dan berbiaya murah untuk digunakan secara luas menjadi solusi untuk remote user dan mobile user, karena PPTP memberikan keamanan dan enkripsi komunikasi melalui PSTN ataupun internet.
Karakteristik
Setelah PPTP tunnel terbentuk, data dari user ditransmisikan antara PPTP client dan PPTP server. Data yang ditransmisikan dalam bentuk IP datagram yang berisi PPP paket. IP datagram dibuat dengan menggunakan versi protokol Generic Routing Encapsulation (GRE) internet yang telah dimodifikasi. Struktur paket data yang dikirimkan melalui PPTP dapat digambarkan sebagai berikut:
data dari remote client (client yang berada jauh dari server) ke server pribadi perusahaan dengan membuat sebuah VPN melalui TCP/IP (Snader, 2005). Protokol ini dikembangkan oleh Microsoft dan Cisco.
Teknologi jaringan PPTP merupakan pengembangan dari remote access Point-to-Point protocol yang dikeluarkan oleh Internet Engineering Task Force (IETF).
PPTP merupakan protokol jaringan yang merubah paket PPP menjadi IP datagram agar dapat ditransmisikan melalui intenet. PPTP juga dapat digunakan pada jaringan private LAN-to-LAN. PPTP terdapat sejak dalam sistem operasi Windows NT server dan Windows NT Workstation versi 4.0. Komputer yang berjalan dengan sistem operasi tersebut dapat menggunakan protokol PPTP dengan aman untuk terhubung dengan private network sebagai client dengan remote access melalui internet. PPTP juga dapat digunakan oleh komputer yang terhubung dengan LAN untuk membuat VPN melalui LAN.
Fasilitas utama dari penggunaan PPTP adalah dapat digunakannya public-switched telephone network (PSTN) untuk membangun VPN. Pembangunan PPTP yang mudah dan berbiaya murah untuk digunakan secara luas menjadi solusi untuk remote user dan mobile user, karena PPTP memberikan keamanan dan enkripsi komunikasi melalui PSTN ataupun internet.
Karakteristik
Setelah PPTP tunnel terbentuk, data dari user ditransmisikan antara PPTP client dan PPTP server. Data yang ditransmisikan dalam bentuk IP datagram yang berisi PPP paket. IP datagram dibuat dengan menggunakan versi protokol Generic Routing Encapsulation (GRE) internet yang telah dimodifikasi. Struktur paket data yang dikirimkan melalui PPTP dapat digambarkan sebagai berikut:
Teknologi tunneling dikelompokkan secara garis besar
berdasarkan protokol tunneling layer 2 (Data Link Layer) dan layer 3 (Network
Layer) model OSI layer. Yang termasuk ke dalam tunneling layer 2 adalah L2F,
PPTP, dan L2TP. Sedangkan yang termasuk layer 3 adalah IPSec, VTP, dan ATMP.
Pada posting ini saya hanya akan membahas mengenai PPTP saja. Untuk L2TP akan dibahas pada posting berikutnya. Di samping itu juga dibahas mengenai salah satu protokol keamanan komputer lainnya, yaitu RADIUS.
Pada posting ini saya hanya akan membahas mengenai PPTP saja. Untuk L2TP akan dibahas pada posting berikutnya. Di samping itu juga dibahas mengenai salah satu protokol keamanan komputer lainnya, yaitu RADIUS.
Pengenalan
PPTP merupakan protokol jaringan yang memungkinkan pengamanan transfer
data dari remote client (client yang berada jauh dari server) ke server pribadi perusahaan dengan membuat sebuah VPN melalui TCP/IP (Snader, 2005). Protokol ini dikembangkan oleh Microsoft dan Cisco.
Teknologi jaringan PPTP merupakan pengembangan dari remote access Point-to-Point protocol yang dikeluarkan oleh Internet Engineering Task Force (IETF).
PPTP merupakan protokol jaringan yang merubah paket PPP menjadi IP datagram agar dapat ditransmisikan melalui intenet. PPTP juga dapat digunakan pada jaringan private LAN-to-LAN. PPTP terdapat sejak dalam sistem operasi Windows NT server dan Windows NT Workstation versi 4.0. Komputer yang berjalan dengan sistem operasi tersebut dapat menggunakan protokol PPTP dengan aman untuk terhubung dengan private network sebagai client dengan remote access melalui internet. PPTP juga dapat digunakan oleh komputer yang terhubung dengan LAN untuk membuat VPN melalui LAN.
Fasilitas utama dari penggunaan PPTP adalah dapat digunakannya public-switched telephone network (PSTN) untuk membangun VPN. Pembangunan PPTP yang mudah dan berbiaya murah untuk digunakan secara luas menjadi solusi untuk remote user dan mobile user, karena PPTP memberikan keamanan dan enkripsi komunikasi melalui PSTN ataupun internet.
Karakteristik
Setelah PPTP tunnel terbentuk, data dari user ditransmisikan antara PPTP client dan PPTP server. Data yang ditransmisikan dalam bentuk IP datagram yang berisi PPP paket. IP datagram dibuat dengan menggunakan versi protokol Generic Routing Encapsulation (GRE) internet yang telah dimodifikasi. Struktur paket data yang dikirimkan melalui PPTP dapat digambarkan sebagai berikut:
PPTP merupakan protokol jaringan yang memungkinkan pengamanan transfer
data dari remote client (client yang berada jauh dari server) ke server pribadi perusahaan dengan membuat sebuah VPN melalui TCP/IP (Snader, 2005). Protokol ini dikembangkan oleh Microsoft dan Cisco.
Teknologi jaringan PPTP merupakan pengembangan dari remote access Point-to-Point protocol yang dikeluarkan oleh Internet Engineering Task Force (IETF).
PPTP merupakan protokol jaringan yang merubah paket PPP menjadi IP datagram agar dapat ditransmisikan melalui intenet. PPTP juga dapat digunakan pada jaringan private LAN-to-LAN. PPTP terdapat sejak dalam sistem operasi Windows NT server dan Windows NT Workstation versi 4.0. Komputer yang berjalan dengan sistem operasi tersebut dapat menggunakan protokol PPTP dengan aman untuk terhubung dengan private network sebagai client dengan remote access melalui internet. PPTP juga dapat digunakan oleh komputer yang terhubung dengan LAN untuk membuat VPN melalui LAN.
Fasilitas utama dari penggunaan PPTP adalah dapat digunakannya public-switched telephone network (PSTN) untuk membangun VPN. Pembangunan PPTP yang mudah dan berbiaya murah untuk digunakan secara luas menjadi solusi untuk remote user dan mobile user, karena PPTP memberikan keamanan dan enkripsi komunikasi melalui PSTN ataupun internet.
Karakteristik
Setelah PPTP tunnel terbentuk, data dari user ditransmisikan antara PPTP client dan PPTP server. Data yang ditransmisikan dalam bentuk IP datagram yang berisi PPP paket. IP datagram dibuat dengan menggunakan versi protokol Generic Routing Encapsulation (GRE) internet yang telah dimodifikasi. Struktur paket data yang dikirimkan melalui PPTP dapat digambarkan sebagai berikut:
Cara Kerja
Cara kerja PPTP dimulai dari sebuah remote atau PPTP client mobile yang membutuhkan akses ke sebuah LAN private dari sebuah perusahaan. Pengaksesan dilakukan dengan menggunakan ISP lokal. Client (yang menggunakan Windows NT Server versi 4.0 atau Windows NT Workstation versi 4.0) menggunakan Dial-Up networking dan protokol remote access PPP untuk terhubung ke sebuah ISP.
Client terhubung ke Network Access Server (NAS) pada fasilitas ISP. NAS di sini bisa berupa prosesor front-end, server dial-in atau server Point-of-Presence (POP). Begitu terhubung, client bisa mengirim dan menerima paket data melalui internet. NAS menggunakan protocol TCP/IP untuk semua trafik yang melalui internet.
Setelah client membuat koneksi PPP ke ISP, panggilan Dial-Up Networking yang kedua dibuat melalui koneksi PPP yang sudah ada. Data dikirimkan menggunakan koneksi yang kedua ini dalam bentuk IP datagram yang berisi paket PPP yang telah ter-enkapsulasi.
Panggilan yang kedua tersebut selanjutnya menciptakan koneksi VPN ke server PPTP pada LAN private perusahaan. Koneksi inilah (melalui panggilan kedua) yang di-istilahkan sebagai tunnel (lorong). Berikut ini gambar yang menjelaskan proses tersebut:
Cara kerja PPTP dimulai dari sebuah remote atau PPTP client mobile yang membutuhkan akses ke sebuah LAN private dari sebuah perusahaan. Pengaksesan dilakukan dengan menggunakan ISP lokal. Client (yang menggunakan Windows NT Server versi 4.0 atau Windows NT Workstation versi 4.0) menggunakan Dial-Up networking dan protokol remote access PPP untuk terhubung ke sebuah ISP.
Client terhubung ke Network Access Server (NAS) pada fasilitas ISP. NAS di sini bisa berupa prosesor front-end, server dial-in atau server Point-of-Presence (POP). Begitu terhubung, client bisa mengirim dan menerima paket data melalui internet. NAS menggunakan protocol TCP/IP untuk semua trafik yang melalui internet.
Setelah client membuat koneksi PPP ke ISP, panggilan Dial-Up Networking yang kedua dibuat melalui koneksi PPP yang sudah ada. Data dikirimkan menggunakan koneksi yang kedua ini dalam bentuk IP datagram yang berisi paket PPP yang telah ter-enkapsulasi.
Panggilan yang kedua tersebut selanjutnya menciptakan koneksi VPN ke server PPTP pada LAN private perusahaan. Koneksi inilah (melalui panggilan kedua) yang di-istilahkan sebagai tunnel (lorong). Berikut ini gambar yang menjelaskan proses tersebut:
Tunneling pada gambar 3 adalah sebuah proses pengiriman
paket data ke sebuah komputer pada jaringan privat dengan me-routing paket data
tersebut melalui beberapa jaringan yang lain, misalnya Internet. Router-router
jaringan yang lain tidak bisa mengakses komputer yang berada pada jaringan
privat. Oleh karena itu, tunneling memungkinkan jaringan routing untuk
mentransmisikan paket data ke komputer penghubung, seperti PPTP server, yang
terhubung ke jaringan routing dan jaringan privat. PPTP client dan PPTP server
menggunakan tunneling untuk merutekan paket data secara aman ke komputer yang
berada pada jaringan privat melalui router-router yang hanya mengetahui alamat
server penghubung jaringan privat.
Contoh Implementasi
PPTP merupakan protocol VPN pertama yang didukung oleh Microsoft Dial-Up Networking. Semua versi rilis Microsoft Windows sejak Windows 95 OSR2 telah dilengkapi dengan aplikasi PPTP client, sedangkan PPTP server berada pada Routing dan Remote Access Service untuk Microsoft Windows. Microsoft Windows Mobile 2003 dan versi yang lebih tinggi juga telah didukung oleh protocol PPTP.
PPTP yang mendukung server-side Linux disediakan oleh PoPToP daemon. Mac OS X (termasuk versi yang dibenamkan ke iPhone) juga sudah dilengkapi dengan PPTP client. Begitu juga berbagai gadget dengan sistem operasi Android telah mendukung pemakaian PPTP dengan baik.
Contoh Implementasi
PPTP merupakan protocol VPN pertama yang didukung oleh Microsoft Dial-Up Networking. Semua versi rilis Microsoft Windows sejak Windows 95 OSR2 telah dilengkapi dengan aplikasi PPTP client, sedangkan PPTP server berada pada Routing dan Remote Access Service untuk Microsoft Windows. Microsoft Windows Mobile 2003 dan versi yang lebih tinggi juga telah didukung oleh protocol PPTP.
PPTP yang mendukung server-side Linux disediakan oleh PoPToP daemon. Mac OS X (termasuk versi yang dibenamkan ke iPhone) juga sudah dilengkapi dengan PPTP client. Begitu juga berbagai gadget dengan sistem operasi Android telah mendukung pemakaian PPTP dengan baik.
Firewall Turunan IPTABLES
Shorewall
Shorewall adalah salah satu tools firewall pada linux yang
berbasiskan iptables. Shorewall terdapat konsep “zone” yang memudahkan kita
untuk menentukan policy firewall, daripada kita melakukan konfigurasi secara
manual dengan iptables, sebelum kita mensetting shorewall lebih baiknya saya
kasih mukadimah mengenai shorewall sebelumnya. Shorewall adalah sebuah tool
firewall yang menggunakan IPTABLES sebagai pengeksekusi firewallnya. Dimana
IPTABLES adalah tool firewall yang ada di Linux dan sudah di include kan ke
kernel, jadi kalau kita nginstall Linux otomatis kita telah menginstall
IPTABLES. Dengan IPTABLES saja sebenernya sudah cukup untuk membangun sebuah
firewall, namun bila kita membangun firewall dari IPTABLES tanpa tool itu sama
saja dengan menyiksa diri sendiri.
Dengan tool shorewall ini saya merasa dimanjakan dengan kemudahannya dalam membangun firewall. Kita cuma perlu menentukan aturan defaultnya lalu aturan khususnya juga pada masqueradingnya.
Shorewall juga dapat digunakan untuk loadbalancing, dan sangat mudah sekali dalam penggunaanya (baru baca, belum pernah nyoba saya).
Dengan tool shorewall ini saya merasa dimanjakan dengan kemudahannya dalam membangun firewall. Kita cuma perlu menentukan aturan defaultnya lalu aturan khususnya juga pada masqueradingnya.
Shorewall juga dapat digunakan untuk loadbalancing, dan sangat mudah sekali dalam penggunaanya (baru baca, belum pernah nyoba saya).
Firewall di DEBIAN dengan Shorewall
Peringatan
Sebelum kita berkenalan dengan shorewall, perlu saya sampaikan disini, jika Anda ingin mencoba-coba mengkonfigurasi firewall, pastikan mesin yang Anda gunakan tidak berada di posisi yang jauh (susah Anda jangkau secara fisik). Kesalahan dalam mengkonfigurasi firewall bisa menyebabkan sistem Anda terkunci, dan tidak bisa diremote login dari jauh. Shorewall terdapat konsep “zone” yang memudahkan kita untuk menentukan policy firewall, daripada kite melakukan konfigurasi secara manual dengan iptables. Misalnya network anda adalah seperti gambar dibawah ini :
Instalasi Shorewall
maka untukmemudahkan kita, asumsikan saja ada 3 zona yang
dapat di definisikan, yaitu :
1. LAN, yaitu jaringan lokal, kita definisikan sebagai zona lok
2. Internet, yaitu koneksi kita ke internet, kita definisikn sebagai zona net
3. Komputer Firewall kita secara otomatis bernama zona $FW
Berikut ini adalah step-by-step konfigurasi yang diterapkan
ini saya testing di Debian
sebelumnya ente kudu remove "ipchains" jika dah keinstal di mesin ente by running this command
1. LAN, yaitu jaringan lokal, kita definisikan sebagai zona lok
2. Internet, yaitu koneksi kita ke internet, kita definisikn sebagai zona net
3. Komputer Firewall kita secara otomatis bernama zona $FW
Berikut ini adalah step-by-step konfigurasi yang diterapkan
ini saya testing di Debian
sebelumnya ente kudu remove "ipchains" jika dah keinstal di mesin ente by running this command
# apt-get remove ipchains
setelah itu
1. Install shorewall dari repository terdekat
Code:
root@haris:~# apt-get install shorewall shorewall-doc
2. Kopi konfigurasi dari template yg
ada
Code:
root@haris:~# cd
/usr/share/doc/shorewall-common/default-config
root@haris:~# cp zones /etc/shorewall/
root@haris:~# cp interfaces /etc/shorewall/
root@haris:~# cp policy /etc/shorewall/
root@haris:~# cp rules /etc/shorewall/
root@haris:~# cp zones /etc/shorewall/
root@haris:~# cp interfaces /etc/shorewall/
root@haris:~# cp policy /etc/shorewall/
root@haris:~# cp rules /etc/shorewall/
3. Setting Shorewall sebagai berikut
:
a. konfigurasi zona
a. konfigurasi zona
Code:
root@haris:~# vim
/etc/shorewall/zones
fw firewall
lok ipv4
net ipv4
fw firewall
lok ipv4
net ipv4
b. konfigurasi interface
Code:
root@haris:~# vim
/etc/shorewall/interfaces
lok eth0 detect tcpflags,nosmurfs
net eth1 detect tcpflags,nosmurfs
lok eth0 detect tcpflags,nosmurfs
net eth1 detect tcpflags,nosmurfs
c. konfigurasi policy
Code:
root@haris:~# vim
/etc/shorewall/policy
$FW all ACCEPT
lok $FW DROP info
lok net DROP info
net $FW DROP info
net lok DROP info
$FW all ACCEPT
lok $FW DROP info
lok net DROP info
net $FW DROP info
net lok DROP info
d. konfigurasi rules
Code:
root@haris:~# vim
/etc/shorewall/rules
ACCEPT lok $FW tcp 80
ACCEPT net $FW tcp 80
ACCEPT lok $FW tcp 53
ACCEPT lok $FW udp 53
ACCEPT lok $FW tcp 80
ACCEPT net $FW tcp 80
ACCEPT lok $FW tcp 53
ACCEPT lok $FW udp 53
4. Testing konfigurasi sebelum menjalankannya
Code:
root@haris:~# shorewall check
root@haris:~# shorewall start
root@haris:~# shorewall start
5. Coba
me-restart shorewall untuk memastikan tidak ada error
Code:
root@haris:~# shorewall restart
root@haris:~# shorewall safe-restart
root@haris:~# shorewall safe-restart
6. Setting Shorewall agar automatis
berjalan sewaktu booting
Code:
root@haris:~# vim
/etc/default/shorewall
startup=1
startup=1
Code:
shorewall
shorewall-nat
shorewall-accounting
shorewall-hosts
shorewall-interfaces
shorewall-routestopped
shorewall.conf
shorewall-masq
shorewall-policy
shorewall-rules
shorewall-zones
shorewall-nat
shorewall-accounting
shorewall-hosts
shorewall-interfaces
shorewall-routestopped
shorewall.conf
shorewall-masq
shorewall-policy
shorewall-rules
shorewall-zones
konfigurasi /etc/shorewall/shorewall.conf
Di konfigurasi ini, isi saja yang diperlukan, yang sebagian sudah terisi biasanya tidak perlu di ubah.
Lengkapnya…
Code:
###############################################################################
# S T A R T U P E N A B L E D
###############################################################################
#agar aktif saat startup
STARTUP_ENABLED=YES
###############################################################################
# V E R B O S I T Y
###############################################################################
#menampilkan proses
VERBOSITY=1
###############################################################################
# C O M P I L E R
# (setting this to 'perl' requires installation of Shorewall-perl)
###############################################################################
#karena tidak ada yang perlu di compile, kosongkan saja
SHOREWALL_COMPILER=
###############################################################################
# L O G G I N G
###############################################################################
#bagian ini, tidak ada yang diubah, periksa dulu tapinyaaa
LOGFILE=/var/log/messages
LOGFORMAT="Shorewall:%s:%s:"
LOGTAGONLY=No
LOGRATE=
LOGBURST=
LOGALLNEW=
BLACKLIST_LOGLEVEL=
MACLIST_LOG_LEVEL=info
TCP_FLAGS_LOG_LEVEL=info
RFC1918_LOG_LEVEL=info
SMURF_LOG_LEVEL=info
LOG_MARTIANS=No
###############################################################################
# L O C A T I O N O F F I L E S A N D D I R E C T O R I E S
###############################################################################
#pada bagian ini, yang sebelah kanan setelah "=" berisi letak direktori file
#sebelah kiri yang sudah terisi tidak perlu di ubah, yang belum dan kalo akan
#digunakan cari dulu filenya, kemudian copy paste letak direktorinya.
#IPTABLES kosongkan, karena kita sudah jadikan shorewall sebagai firewall
IPTABLES=
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin:/usr/local/sbin
SHOREWALL_SHELL=/bin/sh
SUBSYSLOCK=/var/lock/subsys/shorewall
MODULESDIR=/lib/modules/2.6.24-19-server/kernel/net/netfilter
CONFIG_PATH=/etc/shorewall:/usr/share/shorewall
RESTOREFILE=
IPSECFILE=zones
LOCKFILE=
###############################################################################
# D E F A U L T A C T I O N S / M A C R O S
###############################################################################
#tak perlu ada yang diubah
DROP_DEFAULT="Drop"
REJECT_DEFAULT="Reject"
ACCEPT_DEFAULT="none"
QUEUE_DEFAULT="none"
###############################################################################
# R S H / R C P C O M M A N D S
###############################################################################
#ini juga... biarkan
RSH_COMMAND='ssh ${root}@${system} ${command}'
RCP_COMMAND='scp ${files} ${root}@${system}:${destination}'
###############################################################################
# F I R E W A L L O P T I O N S
###############################################################################
# konfigurasi yang biasanya digunakan...
IP_FORWARDING=On
ADD_IP_ALIASES=Yes
ADD_SNAT_ALIASES=No
RETAIN_ALIASES=No
TC_ENABLED=Internal
TC_EXPERT=No
CLEAR_TC=Yes
MARK_IN_FORWARD_CHAIN=No
CLAMPMSS=No
ROUTE_FILTER=No
DETECT_DNAT_IPADDRS=No
MUTEX_TIMEOUT=60
ADMINISABSENTMINDED=Yes
BLACKLISTNEWONLY=Yes
DELAYBLACKLISTLOAD=No
MODULE_SUFFIX=
DISABLE_IPV6=Yes
BRIDGING=No
DYNAMIC_ZONES=No
PKTTYPE=Yes
RFC1918_STRICT=No
MACLIST_TABLE=filter
MACLIST_TTL=
SAVE_IPSETS=No
MAPOLDACTIONS=No
FASTACCEPT=No
IMPLICIT_CONTINUE=Yes
HIGH_ROUTE_MARKS=No
USE_ACTIONS=Yes
OPTIMIZE=1
EXPORTPARAMS=No
###############################################################################
# P A C K E T D I S P O S I T I O N
###############################################################################
#yang ini juga nggak perlu ada yang diubah
BLACKLIST_DISPOSITION=DROP
MACLIST_DISPOSITION=REJECT
TCP_FLAGS_DISPOSITION=DROP
#LAST LINE -- DO NOT REMOVE
# S T A R T U P E N A B L E D
###############################################################################
#agar aktif saat startup
STARTUP_ENABLED=YES
###############################################################################
# V E R B O S I T Y
###############################################################################
#menampilkan proses
VERBOSITY=1
###############################################################################
# C O M P I L E R
# (setting this to 'perl' requires installation of Shorewall-perl)
###############################################################################
#karena tidak ada yang perlu di compile, kosongkan saja
SHOREWALL_COMPILER=
###############################################################################
# L O G G I N G
###############################################################################
#bagian ini, tidak ada yang diubah, periksa dulu tapinyaaa
LOGFILE=/var/log/messages
LOGFORMAT="Shorewall:%s:%s:"
LOGTAGONLY=No
LOGRATE=
LOGBURST=
LOGALLNEW=
BLACKLIST_LOGLEVEL=
MACLIST_LOG_LEVEL=info
TCP_FLAGS_LOG_LEVEL=info
RFC1918_LOG_LEVEL=info
SMURF_LOG_LEVEL=info
LOG_MARTIANS=No
###############################################################################
# L O C A T I O N O F F I L E S A N D D I R E C T O R I E S
###############################################################################
#pada bagian ini, yang sebelah kanan setelah "=" berisi letak direktori file
#sebelah kiri yang sudah terisi tidak perlu di ubah, yang belum dan kalo akan
#digunakan cari dulu filenya, kemudian copy paste letak direktorinya.
#IPTABLES kosongkan, karena kita sudah jadikan shorewall sebagai firewall
IPTABLES=
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin:/usr/local/sbin
SHOREWALL_SHELL=/bin/sh
SUBSYSLOCK=/var/lock/subsys/shorewall
MODULESDIR=/lib/modules/2.6.24-19-server/kernel/net/netfilter
CONFIG_PATH=/etc/shorewall:/usr/share/shorewall
RESTOREFILE=
IPSECFILE=zones
LOCKFILE=
###############################################################################
# D E F A U L T A C T I O N S / M A C R O S
###############################################################################
#tak perlu ada yang diubah
DROP_DEFAULT="Drop"
REJECT_DEFAULT="Reject"
ACCEPT_DEFAULT="none"
QUEUE_DEFAULT="none"
###############################################################################
# R S H / R C P C O M M A N D S
###############################################################################
#ini juga... biarkan
RSH_COMMAND='ssh ${root}@${system} ${command}'
RCP_COMMAND='scp ${files} ${root}@${system}:${destination}'
###############################################################################
# F I R E W A L L O P T I O N S
###############################################################################
# konfigurasi yang biasanya digunakan...
IP_FORWARDING=On
ADD_IP_ALIASES=Yes
ADD_SNAT_ALIASES=No
RETAIN_ALIASES=No
TC_ENABLED=Internal
TC_EXPERT=No
CLEAR_TC=Yes
MARK_IN_FORWARD_CHAIN=No
CLAMPMSS=No
ROUTE_FILTER=No
DETECT_DNAT_IPADDRS=No
MUTEX_TIMEOUT=60
ADMINISABSENTMINDED=Yes
BLACKLISTNEWONLY=Yes
DELAYBLACKLISTLOAD=No
MODULE_SUFFIX=
DISABLE_IPV6=Yes
BRIDGING=No
DYNAMIC_ZONES=No
PKTTYPE=Yes
RFC1918_STRICT=No
MACLIST_TABLE=filter
MACLIST_TTL=
SAVE_IPSETS=No
MAPOLDACTIONS=No
FASTACCEPT=No
IMPLICIT_CONTINUE=Yes
HIGH_ROUTE_MARKS=No
USE_ACTIONS=Yes
OPTIMIZE=1
EXPORTPARAMS=No
###############################################################################
# P A C K E T D I S P O S I T I O N
###############################################################################
#yang ini juga nggak perlu ada yang diubah
BLACKLIST_DISPOSITION=DROP
MACLIST_DISPOSITION=REJECT
TCP_FLAGS_DISPOSITION=DROP
#LAST LINE -- DO NOT REMOVE
konfigurasi /etc/shorewall/policy
Bagian ini bersifat umum, berlaku untuk keseluruhan
Code:
#pada baris pertama berarti dari
firewall atau dari net yang berarti dari
#server kita menuju keluar atau ke net di ACCEPT semua... masa di larang!?
#pada baris kedua yang masuk dari net ke firewall kita di DROP semua
#pada baris ketiga saya tambahkan agar jika dari jaringan masuk ke server kita
#DROP dulu semuanya
###############################################################################
#SOURCE DEST POLICY LOG LEVEL LIMIT:BURST
$FW net ACCEPT
net $FW DROP info
net all DROP info
# The FOLLOWING POLICY MUST BE LAST
all all REJECT info
#LAST LINE -- ADD YOUR ENTRIES ABOVE THIS LINE -- DO NOT REMOVE
#server kita menuju keluar atau ke net di ACCEPT semua... masa di larang!?
#pada baris kedua yang masuk dari net ke firewall kita di DROP semua
#pada baris ketiga saya tambahkan agar jika dari jaringan masuk ke server kita
#DROP dulu semuanya
###############################################################################
#SOURCE DEST POLICY LOG LEVEL LIMIT:BURST
$FW net ACCEPT
net $FW DROP info
net all DROP info
# The FOLLOWING POLICY MUST BE LAST
all all REJECT info
#LAST LINE -- ADD YOUR ENTRIES ABOVE THIS LINE -- DO NOT REMOVE
konfigurasi /etc/shorewall/rules
Bagian ini merupakan pengecualian dari kongigurasi policy
Code:
#######################################################################################
#ACTION SOURCE DEST PROTO DEST SOURCE
ORIGINAL RATE USER/ MARK
# PORT PORT(S)
DEST LIMIT GROUP
# Reject Ping from the "bad" net zone.. and prevent your log from being flooded..
Ping/ACCEPT net $FW
# Permit all ICMP traffic FROM the firewall TO the net zone
#pada baris pertama berarti membolehkan semua dari server keluar atau ke net melalui icmp
#biar bisa ssh,treceroute,...etc kemana-manaaa
#pada baris kedua berarti kita membolehkan user dari net melakukan koneksi melalui tcp
#tepatnya port 22 ya... biar server kita bisa di kendalikan dengan ssh dari komp lain,
#setujui saja
#pada baris ketiga berarti memperbolehkan server kita diakses lewat browser, yaitu port 80
#karena kebetulan firewall saya pasang di webserver^^
ACCEPT $FW net icmp
ACCEPT net $FW tcp 22
ACCEPT all $FW tcp 80
#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE
#ACTION SOURCE DEST PROTO DEST SOURCE
ORIGINAL RATE USER/ MARK
# PORT PORT(S)
DEST LIMIT GROUP
# Reject Ping from the "bad" net zone.. and prevent your log from being flooded..
Ping/ACCEPT net $FW
# Permit all ICMP traffic FROM the firewall TO the net zone
#pada baris pertama berarti membolehkan semua dari server keluar atau ke net melalui icmp
#biar bisa ssh,treceroute,...etc kemana-manaaa
#pada baris kedua berarti kita membolehkan user dari net melakukan koneksi melalui tcp
#tepatnya port 22 ya... biar server kita bisa di kendalikan dengan ssh dari komp lain,
#setujui saja
#pada baris ketiga berarti memperbolehkan server kita diakses lewat browser, yaitu port 80
#karena kebetulan firewall saya pasang di webserver^^
ACCEPT $FW net icmp
ACCEPT net $FW tcp 22
ACCEPT all $FW tcp 80
#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE
konfigurasi /etc/shorewall/interfaces
Code:
# nggak perlu ada yang diubah
###############################################################################
#ZONE INTERFACE BROADCAST OPTIONS
net eth0 detect dhcp,tcpflags,logmartians,nosmurfs
#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE
###############################################################################
#ZONE INTERFACE BROADCAST OPTIONS
net eth0 detect dhcp,tcpflags,logmartians,nosmurfs
#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE
Klo udah,.tinggal start lagi shorewallnya
Code:
/etc/init.d/shorewall start
Firewall Pada Linux
IPTABLES
Mengapa diberi nama firewall? Mungkin itu pertanyaan yang
pertama kali muncul ketika membaca artikel tentang keamanan, baik di Win, Linux
maupun sistem operasi apa saja. Menurut istilah konstruksi bangunan, firewall
adalah sebuah struktur yang dibuat untuk mencegah penyebaran api. Hampir senada
dengan istilah awalnya, Firewall bertujuan menjaga LAN dari ”api” akses yang
tidak diinginkan dari Internet. Disamping agar pengguna LAN tidak sembarangan
mengeluarkan ”api” aksesnya ke Internet. Dengan kata lain firewall dibuat untuk
membatasi antara dua dunia (LAN dan Internet).
Firewall yang pertama kali dibuat adalah sebuah mesin Unix
yang menjadi perantara antara sebuah LAN dengan Internet. Jika seorang user
ingin mengakses Internet maka ia harus login terlebih dahulu ke mesin Unix
untuk kemudian mengakses dari situ. Begitu pula ketika seorang user ingin
mendownload data dari Internet maka ia harus download terlebih dahulu pada
mesin Unix, baru dipindah pada workstation user.
Firewall sendiri terbagi menjadi dua jenis yakni :
1. Filtering Firewalls – yang akan memblok dan melewatkan
paket-paket tertentu
2. Proxy Servers – berfung sebagai perantara koneksi
Packet Filtering Firewalls
Packet filter adalah sebuah software yang memeriksa header
dari paket ketika paket tersebut lewat, dan memutuskan tindakan apa yang
dilakukan terhadap paket tersebut. Apakah paket tersebut di-DROP (misal dengan
menghapus paket tersebut), ACCEPT(misal, paket tersebut diteruskan ke
tujuannya), atau hal lain yang lebih kompleks.
Pada Linux, packet filtering ditanamkan pada kernel (
sebagai modul kernel, atau digabungkan ke dalam kernel). Penerapan packet
filtering sudah cukup lama sejak kernel 1.1. Versi pertamanya, masih banyak
mencontoh cara kerja ipfw milik BSD (Sistem Operasi buatan University California
atBerkeley), dibuat oleh Alan Cox pada akhir 1994. Berkembang menjadi ipfwadm
pada kernel 2.0, ipchains pada kernel 2.2 dan terakhir iptables sejak kernel
2.4.
Packet Filtering Firewalls dengan Iptables
Iptables merupakan paket program yang disertakan secara
default oleh banyak distro bersama dengan kernel versi 2.4. Pada iptables
nantinya kita akan banyak berhubungan dengan aturanaturan(rules) yang
menentukan tindakan apa yang akan dilakukan terhadap sebuah paket.
Aturan-aturan ini dimasukan dan dihapus pada tabel packet filtering yang
terdapat pada kernel. Sekedar mengingatkan kernel adalah ”jantung” sistem
operasi yang terus berada pada memori sejak computer booting hingga komputer
dimatikan. Sehingga aturan apapun yang kita tentukan akan hilang pada saat
terjadi rebooting, namun demikian terdapat beberapa cara agar aturan-aturan
yang telah kita buat dapat di kembalikan pada saat Linux booting, yaitu :
1. Menggunakan perintah iptables-save, untuk menyimpan
aturan-aturan yang telah ditentukan dalam sebuah file, dan iptables-restore,
untuk memanggil file aturan yang telah dibuat.
2. Meletakannya pada sebuah skrip yang akan berjalan pada
saat inisialisasi Linux.
Perjalanan Paket Melintasi Filter
Terdapat tiga daftar aturan pada tabel filter. Daftar-daftar
ini disebut ”firewall chains” atau ”chains”. Ketiga chains tersebut adalah
INPUT, OUTPUT dan FORWARD. Chains tersebut tersusun kurang lebih sebagai
berikut :
Ketika paket melewati salah satu chains (INPUT, OUTPUT atau
FORWARD), maka chain akan dilihat untuk menentukan ”takdir” dari paket
tersebut. Jika menurut chain paket tersebut harus di DROP maka paket akan
dihapus, begitu juga sebaliknya jika menurut chain paket tersebut di- ACCEPT
maka paket tersebut akan melanjutkan perjalanannya. Jadi chain sebenarnya
merupakan daftar aturan-aturan. Tiap aturan mengatur tindakan apa yang akan
dilakukan terhadap sebuah paket berdasarkan header dari paketnya. Jika aturan
pertama tidak cocok dengan header paket maka akan dilanjutkan dengan aturan
berikutnya, begiru seterusnya. Hingga apabila tidak ada lagi aturan yang sesuai
dengan header paket maka kernel akan melihat pada chain policy, yang berisi
aturan umum tentang tindakan terhadap suatu paket. Pada kebanyakan sistem,
chain policy biasanya akan men-DROP paket tersebut.
Menggunakan iptables
Seperti sudah disebutkan sebelumnya, terdapat tiga chain
dasar yaitu:
• INPUT
• OUTPUT
• FORWARD
Untuk memanipulasi chain terdapat beberapa option sebagai
berikut :
1. Membuat chain baru (-N)
2. Menghapus chain yang kososng (-X)
3. Mengganti policy untuk chain built-in (-P)
4. Melihat aturan-aturan dari sebuah chain (-L)
5. Menghapus seluruh aturan dari sebuah chain (-F)
6. Mengosongkan paket dan mengeset nol semua aturan pada
sebuah chain (-Z)
Terdapat beberapa hal yang dapat kita lakukan sehubungan
dengan aturan(rules), yaitu :
1. Menambah aturan baru pada sebuah chain (-A)
2. Memasukkan aturan baru pada posisi tertentu dalam sebuah
chain (-I)
3. Mengganti sebuah aturan pada posisi tertentu dalam sebuah
chain (-R)
4. Menghapus sebuah aturan pada posisi tertentu, atau aturan
pertama yang cocok (-D)
Juga terdapat beberapa parameter berikut, beserta contoh
penggunaannya :
Memilih tindakan (-j atau –jump)
Secara garis besar terdapat 3 tindakan terhada suatu paket
yaitu, ACCEPT (paket boleh lewat), DROP (paket berhenti / diblok) dan REJECT (
mirip dengan DROP bedanya akan diberitahukan ke alamat IP asal/sumber paket bahwa
paket ditolak). Contoh :
# iptables -A INPUT -j DROP
Perintah diatas akan menambahkan aturan ke dalam chain
INPUT, dimana semua paket yang ditujukan ke IyaNet akan di-DROP. Untuk
menghapus aturan diatas digunakan perintah
# iptables -D INPUT -j DROP
Hasil yang sama juga akan didapatkan dengan perintah
# iptables -D INPUT 1
jika aturan yang dimaksud merupakan aturan pertama.
Memilih peralatan input (-i atau –in-interface) dan memilih
peralatan output (-o atau–out-interface)
Parameter ini sangat berguna bila kita memiliki beberapa
peralatan masukan dan/atau keluaran, misal kita memiliki 2 kartu jaringan (eth0
dan eth1). Perlu diingat bahwa chain INPUT hanya memiliki peralatan input.
Sehingga jika kita menambah parameter -o pada chain INPUT, tidak akan match!.
Begitu juga sebaliknya untuk chain OUTPUT. Hanya chain FORWARD saja yang dapat
menggunakan kedua parameter.
Contoh :
# iptables -A INPUT -i eth0 -j DROP
Perintah diatas akan men-DROP semua paket yang berasal dari
eth0. Contoh penerapan pada chain FORWARD adalah sebagai berikut :
# iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT
Perintah tersebut akan meng-ACCEPT semua paket yang masuk
dari eth0 dan akan keluar menuju eth1.
Memilih jenis protokol (-p atau –proto)
Jenis protokol yang sering digunakan diantaranya adalah TCP,
UDP dan ICMP.
# iptables -A INPUT -p icmp -j DROP
Dengan perintah diatas maka akan menambahkan aturan ke dalam
chain INPUT dimana untuk setiap paket yang datang dan berjenis protokol icmp
(contoh : ping), maka paket tersebut akan di-DROP
Memilih sumber/asal paket (-s atau –source) dan memilih
tujuan paket (-d atau – destination)
Ada empat cara pendeklarasian sumber atau tujuan paket yaitu
:
1. dengan nama domain, misal http://www.yahoo.com
2. dengan alamat IP, misal 192.168.1.23
3. dengan range alamat berdasarkan most significant bit,
misal 212.99.221.0/24
4. dengan range alamat berdasarkan subnet mask, misal
212.99.221.0/255.255.255.0, dimana
hasilnya akan sama dengan no.3.
Contoh :
# iptables -A INPUT -s http://www.hackers.net
-j DROP
Perintah diatas akan menambahkan sebuah aturan ke dalam
chain input, dimana semua paket yang berasal dari http://www.hackers.net akan di-DROP.
Packet Filtering Firewalls dengan Iptables 39
Kebalikan dari (!)
Parameter inversi ini dapat digabungkan dengan parameter
sebelumnya, sebagai contoh :
# iptables -A INPUT -s ! http://www.hackers.net
-j ACCEPT
Perintah diatas akan memberikan hasil yang sama dengan
contoh perintah sebelumnya, dimana semua nama domain selain http://www.hackers.net akan di-ACCEPT.
Dibawah ini beberapa contoh penggunaan gabungan parameter tersebut diatas
Contoh 1
# iptables -A INPUT -s 178.191.122.45 -p tcp –dport telnet
-j DROP
Maksud perintah diatas adalah menambah aturan ke dalam chain
INPUT, dimana paket yang berasal dari alamat IP 178.191.122.45 dan berjenis
protokol tcp serta memiliki port tujuan (destination port) telnet akan di-DROP.
Penggunaan –dport dan –sport (source port atau port tujuan) merupakan perluasan
dari penggunaan parameter-p tcp.
Contoh 2
# iptables -A OUTPUT -p tcp –dport telnet -i eth1 -j DROP
Perintah diatas akan menambah aturan ke dalam chain OUTPUT,
dimana semua paket yang menggunakan protokol tcp, memiliki port tujuan telnet
dan keluar melalui peralatan eth1 akan di-DROP
Contoh 3
# iptables -A INPUT -i eth0 -p tcp –dport ! 80 -j DROP
Aturan diatas berarti semua paket yang datang melalui eth0,
menggunakan protokol tcp, dengan alamat tujuan selain port 80 akan di-DROP.
Untuk mengetahui nama-nama port beserta nomornya anda dapat melihat file /etc/services.
SQUID PROXY
Blokir Website Dalam Waktu Tertentu Menggunakan
Squid Di Debian
Di dalam suatu instansi pemerintah, perusahaan,
sekolah,kampus, dll dalam jam kerja biasanya karyawan atau murid mengakses
hal-hal di luar pekerjaan mereka contohnya facebook-an, youtube-a. hal ini
dapat menggau pekerjaan mereka dan kerjanya pun tidak maksimal, untuk menangani
masalah tersebut kita blokir situs-situs yang biasa di kunjungi mereka pada
waktu jam kerja.
Implementasi
Akses website tertentu di blokir jam kerja atau sekolah, antara jam 07:00 sampai jam 13:30, selain jam tersebut free.
sebelum mengkonfigurasi sobat harus mengerti dulu tentang konfigurasi proxy server
Langkah-Langkah
1. Edit file squid.conf
# nano /etc/squid.conf
2. Tambahkan konfigurasi sebagai berikut
#website yang akan di blokir
acl url dstdomain "/etc/squid/url"
#setting waktu akses
acl waktu_pagi time MTWHF 07:00-13:30
#setting tidak dapat mengakses website dan waktu
http_access deny url waktu_pagi
acl url dstdomain "/etc/squid/url"
#setting waktu akses
acl waktu_pagi time MTWHF 07:00-13:30
#setting tidak dapat mengakses website dan waktu
http_access deny url waktu_pagi
3. Simpan konfigurasi Squid
4. Buat daftar website yang akan di blokir di file "/etc/squid/url" contohnya:
4. Buat daftar website yang akan di blokir di file "/etc/squid/url" contohnya:
www.facebook.com
www.youtube.com
www.youtube.com
5. Restart Squid
# service squid restart
NETWORK SECURITY
(Keamanan Jaringan)
Jaringan komputer adalah kumpulan dua atau lebih
komputer-komputer yang saling dihubungkan atau saling berhubungan dengan
menggunakan sebuah media baik dengan kabel maupun tanpa kabel
(nirkabel/wireless) sehingga dapat melakukan pemakaian data dan sumber daya
secara bersama-sama. Dalam jaringan komputer sederhana dengan media kabel kita
mengenal istilah work group atau peer to peer. Dalam Jaringan wireless LAN kita
mengenal istilah SSID. SSID merupakan singkatan dari Service Set Identifier. Sebuah
SSID mempunyai fungsi untuk menamai sebuah jaringan wireless yang dipancarkan
dari sebuah Access Point (AP). Sistem penamaan SSID dapat diberikan maksimal
sebesar 32 karakter. Access Point (AP) memiliki peran yang hampir sama dengan
hub atau switch pada jaringan komputer dengan media kabel, di mana dalam
jaringan nirkabel AP bertugas untuk menyebarluaskan gelombang radio standar 2,4
GHz agar dapat dijadikan oleh setiap klien atau peripheral komputer yang ada
dalam daerah jangkauannya agar dapat saling berkomunikasi. AP akan menjadi
gerbang bagi jaringan nirkabel untuk dapat berkomunikasi dengan dunia luar
maupun dengan sesama perangkat nirkabel di dalamnya.
Konsep Keamanan Jaringan
Keamanan jaringan sendiri sering dipandang sebagai hasil dari beberapa faktor, faktor ini bervariasi tergantung pada bahan dasar, tetapi secara normal setidaknya beberapa hal dibawah ini ikut serta :
• Confidentiality (kerahasiaan)
• Integrity (integritas)
• Availability (ketersediaan)
Keamanan
klasik penting ini tidak cukup untuk mencakup semua aspek dari keamanan
jaringan komputer pada masa sekarang. Hal-hal tersebut dapat dikombinasikan
lagi oleh beberapa hal penting lainnya yang dapat membuat keamanan jaringan
komputer dapat ditingkatkan lagi dengan mengikut sertakan hal dibawah ini:
• Nonrepudiation
• Authenticity
• Possession
• Utility
Confidentiality (kerahasiaan)
Ada beberapa jenis informasi yang tersedia didalam sebuah jaringan komputer. Setiap data yang berbeda pasti mempunyai grup pengguna yang berbeda pula dan data dapat dikelompokkan sehingga beberapa pembatasan kepada pengunaan data harus ditentukan. Pada umumnya data yang terdapat didalam suatu perusahaan bersifat rahasia dan tidak boleh diketahui oleh pihak ketiga yang bertujuan untuk menjaga rahasia perusahaan dan strategi perusahaan [2]. Backdoor, sebagai contoh, melanggar kebijakan perusahaan dikarenakan menyediakan akses yang tidak diinginkan kedalam jaringan komputer perusahaan. Kerahasiaan dapat ditingkatkan dan didalam beberapa kasus pengengkripsian data atau menggunakan VPN. Topik ini tidak akan, tetapi bagaimanapun juga, akan disertakan dalam tulisan ini. Kontrol akses adalah cara yang lazim digunakan untuk membatasi akses kedalam sebuah jaringan komputer. Sebuah cara yang mudah tetapi mampu untuk membatasi akses adalah dengan menggunakan kombinasi dari username-dan-password untuk proses otentifikasi pengguna dan memberikan akses kepada pengguna (user) yang telah dikenali. Didalam beberapa lingkungan kerja keamanan jaringan komputer, ini dibahas dan dipisahkan dalam konteks otentifikasi.
Integrity (integritas)
Jaringan komputer yang dapat diandalkan juga berdasar pada fakta bahwa data yang tersedia apa yang sudah seharusnya. Jaringan komputer mau tidak mau harus terlindungi dari serangan (attacks) yang dapat merubah dataselama dalam proses persinggahan (transmit). Man-in-the-Middle merupakan jenis serangan yang dapat merubah integritas dari sebuah data yang mana penyerang (attacker) dapat membajak “session” atau memanipulasi data yang terkirim. Didalam jaringan komputer yang aman, partisipan dari sebuah “transaksi” data harus yakin bahwa orang yang terlibat dalam komunikasi data dapat diandalkan dan dapat dipercaya. Keamanan dari sebuah komunikasi data sangat diperlukan pada sebuah tingkatan yang dipastikan data tidak berubah selama proses pengiriman dan penerimaan pada saat komunikasi data. Ini tidak harus selalu berarti bahwa “traffic” perlu di enkripsi, tapi juga tidak tertutup kemungkinan serangan “Man-in-the-Middle” dapat terjadi.
Availability (ketersediaan).
Ketersediaan data atau layanan dapat dengan mudah dipantau oleh pengguna dari sebuah layanan. Yang dimana ketidaktersediaan dari sebuah layanan (service) dapat menjadi sebuah halangan untuk maju bagi sebuah perusahaan dan bahkan dapat berdampak lebih buruk lagi, yaitu penghentian proses produksi. Sehingga untuk semua aktifitas jaringan, ketersediaan data sangat penting untuk sebuah system agar dapat terus berjalan dengan benar.
Nonrepudiation
Setiap tindakan yang dilakukan dalam sebuah system yang aman telah diawasi (logged), ini dapat berarti penggunaan alat (tool) untuk melakukan pengecekan system berfungsi sebagaimana seharusnya. “Log” juga tidak dapat dipisahkan dari bagian keamanan “system” yang dimana bila terjadi sebuah penyusupan atau serangan lain akan sangat membantu proses investigasi. “Log” dan catatan waktu, sebagai contoh, bagian penting dari bukti di pengadilan jika cracker tertangkap dan diadili. Untuk alasan ini maka “nonrepudiation” dianggap sebagai sebuah faktor penting didalam keamanan jaringan komputer yang berkompeten. Itu telah mendefinisikan “nonrepudition” sebagai berikut :
• Kemampuan untuk mencegah seorang pengirim untuk menyangkal kemudian bahwa dia telah mengirim pesan atau melakukan sebuah tindakan.
• Proteksi dari penyangkalan oleh satu satu dari entitas yang terlibat didalam sebuah komunikasi yang turut serta secara keseluruhan atau sebagian dari komunikasi yang terjadi.
Jaringan komputer dan system data yang lain dibangun dari beberapa komponen yang berbeda yang dimana masing-masing mempunyai karakteristik spesial untuk keamanan. Sebuah jaringan komputer yang aman perlu masalah keamanan yang harus diperhatikan disemua sektor, yang mana rantai keamanan yang komplit sangat lemah, selemah titik terlemahnya. Pengguna (user) merupakan bagian penting dari sebuah rantai. “Social engineering” merupakan cara yang efisien untuk mencari celah (vulnerabilities) pada suatu system dan kebanyakan orang menggunakan “password” yang mudah ditebak. Ini juga berarti meninggalkan “workstation” tidak dalam keadaan terkunci pada saat makan siang atau yang lainnya. Sistem operasi (operating system : Windows, Unix, Linux, MacOS) terdapat dimana-mana, komputer mempunyai sistem operasi yang berbeda-beda antara satu dengan yang lainnya (tergantung selera), dan bahkan router juga dijalankan oleh oleh sistem operasi. Setiap sistem operasi mempunyai gaya dan karakteristik sendiri yang membedakannya dengan sistem operasi yang lainnya, dan beberapa bahkan digunakan untuk kepentingan “server”. Beberapa sistem operasi juga mempunyai masalah yang dapat digunakan sehingga menyebabkan sistem operasi tersebut berhenti merespon pengguna. Layanan pada “server” memainkan peranan penting dalam keamanan. Developer perangkat lunak mengumumkan celah keamanan pada perangkat lunak dengan cepat. Alasan yang digunakan adalah celah ini kemungkinan akan digunakan oleh pihak yang tidak bertanggung jawab untuk menyusupi sebuah system ataupun setiap pengguna komputer. Pengelola atau pengguna server dan workstation harus melakukan pengecekan untuk “update” masalah keamanan secara regular. Perangkat keras mungkin sedikit susah dipahami sebagai sesuatu yang mempunyai potensi untuk mempunyai masalah keamanan. Yang sesungguhnya adalah sangat berbeda dengan apa yang kita pikirkan, apabila perangkat keras terletak di sebuah lokasi yang tidak aman maka terdapat resiko untuk pemasangan perangkat keras yang tidak diinginkan kedalam jaringan komputer dan ini dapat membuat penyusupan menjadi mudah. Juga, bila sebuah perangkat keras jaringan computer dirubah setting-nya ke konfigurasi default oleh orang luar. Pemilihan jenis metode transmisi juga mempunyai peranan penting didalam masalah keamanan. Setiap informasi rahasia tidak boleh di transmisikan secara wireless, setidaknya tidak tanpa menggunakan enkripsi yang bagus, sehingga setiap orang dapat menyadap komunikasi “wireless” yang terkirim. Sangat dianjurkan untuk menggunakan firewall untuk membatasi akses kedalam jaringan komputer ke tingkat yang dibutuhkan. Firewall juga dapat menjadi titik terlemah, yang mana dapat membuat perasaan aman. Firewall harus mengizinkan arus data kedalam sebuah jaringan komputer jika terdapat juga arus data keluar dari jaringan komputer tersebut melalui firewall dan ini dapat menjadi titik terlemah. Fakta penting lainnya bahwa tidak semua serangan dilancarkan melalui firewall.
Authenticity
Sistem harus memastikan bahwa pihak, obyek, dan informasi yang berkomunikasi adalah riil dan bukan palsu. Adanya Tools membuktikan keaslian dokumen, dapat dilakukan dengan teknologi watermarking(untuk menjaga“intellectual property”, yaitu dengan meni dokumen atau hasil karya dengan “tangan” pembuat ) dan digital signature.
Macam-macam metode username/password:
• Tidak ada username/password
Pada sistem ini tidak diperlukan username atau password untuk mengakses suatu jaringan. Pilihan ini merupakan pilihan yang palin tidak aman.
• Statis username/password
Pada metode ini username/password tidak berubah sampai diganti oleh administrator atau user. Rawan terkena playbacks attacka, eavesdropping, theft, dan password cracking program.
• Expired username/password
Pada metode ini username/password akan tidak berlaku sampai batas waktu tertentu (30-60 hari) setelah itu harus direset, biasanya oleh user. Rawan terkena playback attacks, eavesdropping, theft, dan password cracking program tetapi dengan tingkat kerawanan yang lebih rendah dibanding dengan statis username/password.
•
One-Time Password (OTP)
Metode ini merupakan metoda yang teraman dari semua metode username/password. Kebanyakan sistem OTP berdasarkan pada “secret passphrase”, yang digunakan untuk membuat daftar password. OTP memaksa user jaringan untuk memasukkan password yang berbeda setiap kali melakukan login. Sebuah password hanya digunakan satu kali.
Metode ini merupakan metoda yang teraman dari semua metode username/password. Kebanyakan sistem OTP berdasarkan pada “secret passphrase”, yang digunakan untuk membuat daftar password. OTP memaksa user jaringan untuk memasukkan password yang berbeda setiap kali melakukan login. Sebuah password hanya digunakan satu kali.
Celah Keamanan Jaringan WiFi
Beberapa kelemahan pada jaringan wireless yang bisa digunakan attacker melakukan serangan antara lain:
Beberapa kelemahan pada jaringan wireless yang bisa digunakan attacker melakukan serangan antara lain:
1. Hide SSID
Banyak administrator menyembunyikan Services Set Id (SSID) jaringan wireless mereka dengan maksud agar hanya yang mengetahui SSID yang dapat terhubung ke jaringan mereka. Hal ini tidaklah benar, karena SSID sebenarnya tidak dapat disembuyikan secara sempurna. Pada saat saat tertentu atau khususnya saat client akan terhubung (assosiate) atau ketika akan memutuskan diri (deauthentication) dari sebuah jaringan wireless, maka client akan tetap mengirimkan SSID dalam bentuk plain text (meskipun menggunakan enkripsi), sehingga jika kita bermaksud menyadapnya, dapat dengan mudah menemukan informasi tersebut. Beberapa tools yang dapat digunakan untuk mendapatkan ssid yang di-hidden antara lain: kismet (kisMAC), ssid_jack (airjack), aircrack dan masih banyak lagi. Berikut meupakan aplikasi Kismet yang secang melakukan sniffing.
2. WEP
Teknologi Wired Equivalency Privacy atau WEP memang merupakan salah satu standar enkripsi yang paling banyak digunakan. Namun, teknik enkripsi WEP ini memiliki celah keamanan yang cukup mengganggu. Bisa dikatakan, celah keamanan ini sangat berbahaya. Tidak ada lagi data penting yang bisa lewat dengan aman. Semua data yang telah dienkripsi sekalipun akan bisa dipecahkan oleh para penyusup. Kelemahan WEP antara lain :
• Masalah kunci yang lemah, algoritma RC4 yang digunakan dapat dipecahkan.
• WEP menggunakan kunci yang bersifat statis
• Masalah Initialization Vector (IV) WEP
• Masalah integritas pesan Cyclic Redundancy Check (CRC-32)
Aplikasi yang bisa digunakan untuk melakukan mengcapture paket yaitu Airodump. aplikasi airodump yang sedang mengcaptute paket pada WLAN. Setelah data yang dicapture mencukupi, dilakukan proses cracking untuk menemukan WEP key. Aplikasi yang bisa digunakan untuk melakukan menembus enkripsi WEP yaitu Aircrack.
3. WPA-PSK atau WPA2-PSK
WPA merupakan teknologi keamanan sementara yang diciptakan untuk menggantikan kunci WEP. Ada dua jenis yakni WPA personal (WPA-PSK), dan WPA-RADIUS. Saat ini yang sudah dapat di crack adalah WPA-PSK, yakni dengan metode brute force attack secara offline. Brute force dengan menggunakan mencoba-coba banyak kata dari suatu kamus. Serangan ini akan berhasil jika passphrase yang digunakan wireless tersebut memang terdapat pada kamus kata yang digunakan si hacker. Untuk mencegah adanya serangan terhadap keamanan wireless menggunakan WPA-PSK, gunakanlah passphrase yang cukup panjang (satu kalimat).
4. MAC Filter
Hampir setiap wireless access point maupun router difasilitasi dengan keamanan MAC Filtering. Hal ini sebenarnya tidak banyak membantu dalam mengamankan komunikasi wireless, karena MAC address sangat mudah dispoofing atau bahkan dirubah. Tools ifconfig pada OS Linux/Unix atau beragam tools spt network utilitis, regedit, smac, machange pada OS windows dengan mudah digunakan untuk spoofing atau mengganti MAC address.
Masih sering ditemukan wifi di perkantoran dan bahkan ISP (yang biasanya digunakan oleh warnet-warnet) yang hanya menggunakan proteksi MAC Filtering. Dengan menggunakan aplikasi wardriving seperti kismet/kisMAC atau aircrack tools, dapat diperoleh informasi MAC address tiap client yang sedang terhubung ke sebuah Access Point. Setelah mendapatkan informasi tersebut, kita dapat terhubung ke Access point dengan mengubah MAC sesuai dengan client tadi. Pada jaringan wireless, duplikasi MAC address tidak mengakibatkan konflik. Hanya membutuhkan IP yang berbeda dengan client yang tadi.
5. Weak protocols (protokol yang lemah)
Komunikasi jaringan komputer menggunakan protokol antara client dan server. Kebanyakan dari protokol yang digunakan saat ini merupakan protocol yang telah digunakan beberapa dasawarsa belakangan. Protokol lama ini, seperti File Transmission Protocol (FTP), TFTP ataupun telnet, tidak didesain untuk menjadi benar-benar aman. Malahan faktanya kebanyakan dari protocol ini sudah seharusnya digantikan dengan protokol yang jauh lebih aman, dikarenakan banyak titik rawan yang dapat menyebabkan pengguna (user) yang tidak bertanggung jawab dapat melakukan eksploitasi. Sebagai contoh, seseorang dengan mudah dapat mengawasi “traffic” dari telnet dan dapat mencari tahu nama user dan password.
6.
Software issue (masalah perangkat lunak)
Menjadi sesuatu yang mudah untuk melakukan eksploitasi celah pada perangkat lunak. Celah ini biasanya tidak secara sengaja dibuat tapi kebanyakan semua orang mengalami kerugian dari kelemahan seperti ini. Celah ini biasanya dibakukan bahwa apapun yang dijalankan oleh “root” pasti mempunyai akses “root”, yaitu kemampuan untuk melakukan segalanya didalam system tersebut. Eksploitasi yang sebenarnya mengambil keuntungan dari lemahnya penanganan data yang tidak diduga oleh pengguna, sebagai contoh, buffer overflow dari celah keamanan “format string” merupakan hal yang biasa saat ini. Eksploitasi terhadap celah tersebut akan menuju kepada situasi dimana hak akses pengguna akan dapat dinaikkan ke tingkat akses yang lebih tinggi. Ini disebut juga dengan “rooting” sebuah “host” dikarenakan penyerang biasanya membidik untuk mendapatkan hak akses “root”.
Menjadi sesuatu yang mudah untuk melakukan eksploitasi celah pada perangkat lunak. Celah ini biasanya tidak secara sengaja dibuat tapi kebanyakan semua orang mengalami kerugian dari kelemahan seperti ini. Celah ini biasanya dibakukan bahwa apapun yang dijalankan oleh “root” pasti mempunyai akses “root”, yaitu kemampuan untuk melakukan segalanya didalam system tersebut. Eksploitasi yang sebenarnya mengambil keuntungan dari lemahnya penanganan data yang tidak diduga oleh pengguna, sebagai contoh, buffer overflow dari celah keamanan “format string” merupakan hal yang biasa saat ini. Eksploitasi terhadap celah tersebut akan menuju kepada situasi dimana hak akses pengguna akan dapat dinaikkan ke tingkat akses yang lebih tinggi. Ini disebut juga dengan “rooting” sebuah “host” dikarenakan penyerang biasanya membidik untuk mendapatkan hak akses “root”.
7. Hardware issue (masalah perangkat keras).
Biasanya perangkat keras tidak mempunyai masalah pada penyerangan yang terjadi. Perangkat lunak yang dijalankan oleh perangkat keras dan kemungkinan kurangnya dokumentasi spesifikasi teknis merupakan suatu titik lemah. Berikut ini merupakan contoh bagaimana perangkat keras mempunyai masalah dengan keamanan.