Jumat, 21 Desember 2012

Perintah-perintah IPTables

Perintah-Perintah Iptables

Untuk melihat apakah di dalam sistem kita sudah terinstal paket-paket iptables, ketikkan perintah berikut:
# rpm -qa | grep iptables

Jika memang belum terinstal, ketikkan perintah berikut:
# yum -y install iptables*

Agar iptables dapat berjalan otomatis setelah restart, gunakan perintah:
# chkconfig iptables on

Untuk melihat status iptables, gunakan perintah:
# service iptables status

Untuk menyalakan iptables, gunakan perintah:
# /etc/init.d/iptables start

Untuk mematikan iptables, gunakan perintah:
# /etc/init.d/iptables stop

Untuk merestart iptables, gunakan perintah:
# /etc/init.d/iptables restart

Sebelum melangkah lebih lanjut, pastikan firewall di sistem kita di enable yaitu dengan cara ketik setup lalu pilih Firewall configuration. Setelah itu, pada bagian Security Level beri tanda bintang pada item Enabled lalu pilih tombol OK.

Definisi IPTables dan Aur Paket Data

Pengertian IPTables

IpTables adalah salah satu aplikasi linux, yang berfungsi untuk firewall. Kegunaanya untuk memfiltering semua data yang melewatinya. Dengan aplikasi ini, kita bisa memblokir data yang masuk, atau mengijinkan data yang keluar. Selain IpTables, juga bisa menggunakan shorewall.
Seperti namanya, firewall atau tembok api yang melindungi jaringan lokal dari jaringan luar atau Internet. Untuk mencegah ulah para cracker yang ingin meretas ke suatu sistem jaringan.
Firewall ada yang berbentuk piranti lunak (software). Dan ada juga yang berbentuk piranti keras, yang sudah di implementasikan kedalam sistemnya. Router juga termasuk dalam firewall.
    
Alur Paket Data

membahas prinsip dasar firewall iptables, mengelola akses internet berdasarkan alamat IP,port aplikasi dan MAC address. Firewall IPTables packet filtering memiliki tiga aturan (policy), yaitu:
•  INPUT
 Mengatur paket data yang memasuki firewall dari arah intranet maupun internet. kita bisa         mengelolakomputer mana saja yang bisa mengakses firewall. misal: hanya komputer IP 192.168.1.100 yang bisa SSHke firewall dan yang lain tidak boleh.
•  OUTPUT
Mengatur paket data yang keluar dari firewall ke arah intranet maupun internet. Biasanya output tidak diset,karena bisa membatasi kemampuan firewall itu sendiri.
•  FORWARD
Mengatur paket data yang melintasi firewall dari arah internet ke intranet maupun sebaliknya. Policy forward paling banyak dipakai saat ini untuk mengatur koneksi internet berdasarkan port, mac address dan alamat IP Selain aturan (policy) firewall iptables juga mempunyai parameter yang disebut dengan TARGET, yaitu status yang menentukkan koneksi di iptables diizinkan lewat atau tidak. TARGET ada tiga macam yaitu:
a. ACCEPT
Akses diterima dan diizinkan melewati firewall
b.REJECT
Akses ditolak, koneksi dari komputer klien yang melewati firewall langsung terputus, biasanya terdapatpesan “Connection Refused”. Target Reject tidak menghabiskan bandwidth internet karena akses langsung ditolak, hal ini berbeda dengan DROP.
c.DROP
Akses diterima tetapi paket data langsung dibuang oleh kernel, sehingga pengguna tidak mengetahui kalau koneksinya dibatasi oleh firewall, pengguna melihat seakan – akan server yang dihubungi mengalami permasalahan teknis. Pada koneksi internet yang sibuk dengan trafik tinggi Target Drop sebaiknya jangan digunakan.

1. a. Memblok paket yang datang dari sebuah IP
# iptables -I INPUT -s 192.168.0.149 -j REJECT
Peritah di atas digunakan untuk memblok paket dari IP 192.168.0.149. Ada 2 opsi yang digunakan sebenarnya yaitu DROP dan REJECT. Perbedaan dari keduanya adalah kalau REJECT, perintah ini akan memblok paket namun akan memberitahukan bahwa paket tersebut ditolak. Sedangkan kalau DROP, perintah ini akan memblok paket namun tidak diberitahu apakah paket tersebut

b. Memblok paket yang keluar dari sebuah IP
iptables -A OUTPUT -p tcp -d 192.168.10.2 -j DROP

2.Menutup Port
# iptables -A INPUT -p tcp  --dport 22 -j REJECT
Perintah di atas memblok port 22 yang biasa digunakan untuk ssh
# iptables -A INPUT -p tcp -i eth0 --dport 23 -j REJECT
Perintah di atas memblok port 22 yang biasa digunakan untuk telnet
# iptables -I INPUT -s 192.168.0.250 -p tcp --dport 23 -j REJECT
Perintah di atas untuk memblok service telnet dari IP 192.168.0.250

3. Membuat Dropped Log file.
iptables -A INPUT -m limit --limit 5/min -j LOG --log-prefix "PORT 80 DROP: " --log-level 7
iptables -A INPUT -p tcp --destination-port 80 -j DROP

4. Menghapus iptables
#  iptables -D INPUT 3
Menghapus iptables pada tabel input di baris ke 3
# iptables -F
Menghapus seluruh iptables
# iptables -F FORWARD

Firewall dan Letak pada Jaringan LAN & WAN

Pengertian Firewall
Firewall digunakan untuk melindungi atau membatasi akses komputer
atau jaringan ke dunia luar, seperti internet. Salah satu firewall yang sering digunakan adalah iptables yang ada didalam sistem operasi linux.

Fungsi Firewall
1. Mengontrol dan mengawasi paket data yang mengalir di jaringan Firewall harus dapat mengatur, memfilter dan mengontrol lalu lintas data yang diizin untuk mengakses jaringan privat yang dilindungi firewall. Firewall harus dapat melakukan pemeriksaan terhadap paket data yang akan melawati jaringan privat. Beberapa kriteria yang dilakukan firewall apakah memperbolehkan paket data lewati atau tidak, antara lain Alamat IP dari komputer sumber
2. Port TCP/UDP sumber dari sumber.
3. Alamat IP dari komputer tujuan.
4. Port TCP/UDP tujuan data pada komputer tujuan
5. Informasi dari header yang disimpan dalam paket data.
2. Melakukan autentifikasi terhadap akses.
3. Applikasi proxy Firewall mampu memeriksa lebih dari sekedar header dari paket data, kemampuan ini menuntut firewall untuk mampu mendeteksi protokol aplikasi tertentu yang spesifikasi.
4. Mencatat setiap transaksi kejadian yang terjadi di firewall. Ini Memungkinkan membantu sebagai pendeteksian dini akan penjebolan jaringan.

Letaknya pada jaringan LAN dan WAN
Bila ditinjau dari peran server di kedua tipe jaringan tersebut, maka server di jaringan tipe peer to peer diistilahkan non-dedicated server, karena server tidak berperan sebagai server murni melainkan sekaligus dapat berperan sebagai workstation.
Keunggulan ;
1. Antar komputer dalam jaringan dapat saling berbagi-pakai fasilitas yang dimilikinya seperti:
    harddisk, drive, fax/modem, printer.
2. Biaya operasional relatif lebih murah dibandingkan dengan tipe jaringan client-server, salah
    satunya karena tidak memerlukan adanya server yang memiliki kemampuan khusus untuk
    mengorganisasikan dan menyediakan fasilitas jaringan.
3. Kelangsungan kerja jaringan tidak tergantung pada satu server. Sehingga bila salah satu
    komputer/peer mati atau rusak, jaringan secara keseluruhan tidak akan mengalami gangguan.

Kelemahan :
1. Troubleshooting jaringan relatif lebih sulit, karena pada jaringan tipe peer to peer setiap komputer
    dimungkinkan untuk terlibat dalam komunikasi yang ada. Di jaringan client-server, komunikasi
    adalah antara server dengan workstation.
2. Sistem keamanan jaringan ditentukan oleh masing-masing user dengan mengatur keamanan     
    masing-masing fasilitas yang dimiliki.
3. Karena data jaringan tersebar di masing-masing komputer dalam jaringan, maka backup harus
    dilakukan oleh masing-masing komputer tersebut.

squid3 pada linux ubuntu 12.04

Pertama-tama kita Instal terlebih dahulu squid 3 pada ubuntu server kita, dengan menggunakan perintah :

Sudo apt-get install squid3

 Lalu Setelah proses instalasi selesai masuk ke dalam direktori squid3 dengan menggunakan perintah :

cd /etc/squid3


kemudian lanjutkan dengan perintah mengcopy squid.conf.origin dan ganti namanya dengan squid.conf, adapun perintah yang digunakan yaitu :


cp squid.conf.origin squid.conf

 
Setelah proses pengcopyan file selesai selanjutnya lakukan konfigurasi di dalam squid.conf tersebut, dengan menggunakan perintah :

sudo nano /etc/squid3/squid.conf


kemudian cari http port 3128, http_access allow localhost, dan acl localnet src 192.168.0.0/16 hilangkan tanda # didepannya, jika semuanya telah dihilangkan save dan keluar dari jendela konfigurasi.

 
Jika konfigurasi squid3 telah selesai restart squid3 dengan perintah :

sudo /etc/init.d/squid3 restart

 
Selanjutnya hubungkan komputer clien dengan komputer server dengan menggunakan kartu jaringan 1 buah lagi setting ip pada kedua komputer tersebut dalam 1 kelas ip yang sama.
 
Jika telah selesai tes dengan perintah ping. Pastikan kedua komputer telah terhubung dengan mendapatkan balasan reply. jika telah terhubung ketikkan perintah berikut di komputer server

sudo tail -f /var/log/squid3/access.log


Jika selesai setting proxy pada komputer clien dengan ip yang terdapat pada komputer server dan dengan port 3128 yang di konfigurasi pada squid3 tadi. Jika selesai, lakukan browser pada alamat tertentu pada komputer client jika konfigurasi benar maka akan alamat tersebut akan tampil pada komputer server.

Kamis, 06 Desember 2012

Web Server (APACHE & PHP) di Ubuntu 12.04

ok mas brow dan mbag brow kita lanjut lagi dengan materi berjudul Web Server (APACHE & PHP) di Ubuntu 12.04
ok langsung lanjut ke TKP brow :

WEB SERVER pada Linux Ubuntu 12.04 dengan menggunakan Apache.
Web server adalah software server yang menjadi tulang belakang dari World Wide Web (www). Web server menunggu permintaan dari client yang menggunakan browser seperti netscape navigator, internet explorer, Mozilla, dan program browser lainnya. Jika ada permintaan dari browser, maka web server akan memproses permintaan itu dan kemudian memberikan hasil prosesnya berupa data yang diinginkan kembali ke browser. Data ini mempunyai format standar yang disebut dengan format SGML (Standard General Markup Language). Dimana data yang berupa format ini kemudian akan ditampilkan oleh browser sesuai dengan kemampuan browser itu. Contohnya ialah bila data yang dikirim berupa data gambar maka browser yang hanya mampu menampilkan text (misalnya lynx) tidak akan mampu menampilkannya dan jika ada akan menampilkan alternatifnya saja.
Tapi untuk saat ini umumnya para pengguna internet lebih banyak menggunakan format HTML (Hyper Text Markup Language) karena penggunaanya yang sederhana dan mudah untuk dipelajari. Kata Hyper Text disana mempunyai arti bahwa seorang pengguna internet dengan web browsernya dapat membuka dan membaca dokumen-dokumen yang ada dalam komputernya atau bahkan komputer yang jauh tempatnya sekalipun.

Apache merupakan salah satu software gratis yang mempunyai dukungan teknis dan dokumentasi yang lengkap untuk pembuatan web server. Web server apache ini mempunyai kelebihan yaitu :

  • Apache termasuk dalam kategori freeware (software gratisan)  
  •  Apache mudah sekali proses instalasinya jika disbandingkan dengan web server lainnya seperti NCSA, IIS, dan lain-lain.
Selain kelebihan tersebut apache juga mendukung penambahan modul-modul, diantaranya modul yang sering digunakan yaitu PHP. PHP (Personal Home Page Tool) adalah salah satu jenis alat yang digunakan untuk membuat halaman web anda menjadi lebih menarik, lebih aman, dan lebih dinamik. Pada dasarnya PHP hamper mirip dengan script yang lainnya seperti asp, Javascript, Visual Basil atau yang lainnya. Keuntungan dari PHP ini yaitu tidak diperlukan tambahan pada sisi webclient seperti halnya Javascript dan Visual Basil Script, sehingga lebih mudah penggunaanya.
Adapun beberapa keunggulan dari PHP yaitu :

  •  Autentikasi http menggunakan PHP menggunakan fungsi header() yang ada dalam modul apache PHP.
  • Pembuatan file GIF menggunakan library GD yang dikompilasi saat menginstal PHP.
  • PHP dapat menerima metoda upload file.
  •  Mendukung penggunaan cookie.
  • Mendukung integrasi dengan database. 
  •  Mendukung ekspresi regular seperti ereg(), ereg_replace() dan lainnya.
  • Penangan kesalah berdasarkan tingkat kesalahan.
lanjut menuju langkah-langkah praktenya mas dan mbag brow :
sebelumnya Pastikan bahwa sudah mempunyai komputer dengan sistem operasi linux ubuntu 12.04
Selanjutnya, Periksa terlebih dahulu koneksi ke gateway, ked ns server dan ke server repository dengan cara melakukan ping
Install apache2 yang akan digunakan sebagai web server dengan menggunakan perintah
Sudo apt-get install apache2
Setelah proses instalasi selesai maka jalankan apache2 tersebut dengan perintah
Sudo /etc/init.d/apache2 restart
Kemudian jalankan nmap-nya dengan perintah
nmap –p80 localhost
nmap –p80 10.17.0,195 (merupakan alamat ip komputer agan2)
jika benar maka akan muncul output sebagai berikut
output proses nmap localhost
Starting nmap 5.21 (http://nmap.org) at 2002-01-01 07:12 WIT
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000068s latency).
Port state service
80/tcp open http
Nmap done: 1 IP address (1 host up) scanned in 0.12 seconds
Output proses nmap ipaddress
Starting nmap 5.21 (http://nmap.org) at 2002-01-01 07:17 WIT
Nmap scan report for 10.17.0.195
Host is up (0.000068s latency).
Port state service
80/tcp open http
Selanjutnya install lynx dengan cara
Sudo apt-get install lynx
Setelah proses intalasi selesai browser ke alamat ip komputer dengan cara
Lynx 10.17.0.195
Sampai disini jika proses benar maka kita akan membuat file html. Langkah pertama yaitu
Masuk ke direktori www dengan cara
Cd/var/www
Kemudian
Sudo nano index.html
Isikan
<html>
<head>
<tittle>coba-coba</tittle>
</head>
<body>
POLITEKNIK NEGERI SRIWIJAYA
</body>
</html>
Jika selesai save dan keluar dari nano
Selanjutnya browsing ke alamat IP kita, jika proses benar maka nantinya akan tampil tulisan POLITEKNIK NEGERI SRIWIJAYA
Oke kita lanjut dengan php
Langkah pertama install php pada web server , dengan cara
Sudo apt-get install php5 libapache2-mod-php5
Jika proses instalasi selesai restart apache dengan perintah
Sudo /etc/init.d/apache2 restart
Selanjutnya buat halaman php dan letakkan pada direktori www, yaitu dengan cara masuk terlebih dahulu ke direktori www
cd/var/www
kemudian
sudo nano test.php
kemudian isikan
<?php
phpinfo()
?>
Jika selesai save dan keluar dari nano
Selanjutnya browsing ke website kita sambil menjalankan tcpdump, jika proses benar maka akan tampil output seperti berikut :
Pada saat proses mengambil (get)
08:07:20:257384 IP 10.17.0.19.1107 > 10.17.0.195.ftp: Flags [.], ack 624, win 64658, length 0 08:07:20.270310 IP 10.17.0.19.1114 > 10.17.0.195.ftp-data: Flags [F.], seq 1, ack 132, win 64905, options [nop,nop,TS val 41123 ecr 924669], length 0
08:07:20.270327 IP 10.17.0.195.ftp-data > 10.17.0.1114: Flags [.], ack 2,  win 1825, option [nop,nop, TS val 924673 ecr 41123], length 0
Pada saat proses meletakkan (put)
08:13:28.971080 IP 10.17.0.195.1107 > 10.17.0.19.1107: Flags [P.], seq 249:271, ack 862, win 64540, length 22
08:13:28.971127 IP 10.17.0.195.ftp > 10.17.0.19.1107: Flags [R], seq 923375208, win 0, length 0

VSFTPD DAN TCPDUMP di Ubuntu 12.04

sebelumnya silakan baca dengan seksama mengenai TCPDUMP dan VSFTPD-nya brow :D . 
TCPdump adalah tools yang berfungsi mengcapture, membaca atau mendumping paket yang sedang ditransmisikan melalui jalur TCP. TCPdump diciptakan untuk menolong programer ataupun administrator dalam menganalisa dan troubleshooting  aplikasi networking. Seperti pisau yang bermata dua (hal ini sering kali disebut-sebut), TCPdump bisa digunakan untuk bertahan dan juga bisa digunakan untuk menyerang. 
Utility ini juga seringkali digunakan oleh para cracker untuk melaksanakan perkerjaannya, karena TCPdump bisa mengcapture atau mensniff semua paket yang diterima oleh network interface. 
Sebagai contoh, digunakan network yang terdiri dari tiga komputer yang dihubungkan menggunakan hub. Komputer pertama, menggunakan Windows™ 98  dengan IP address 192.0.0.1, sedang melakukan koneksi melalui telnet ke komputer  kedua yang menggunakan Slackware 8.0 dengan IP address 192.168.0.2 dan host ketiga komputer Redhat 7.1 dengan IP address 192.168.0.3 yang menggunakan utility TCPdump. Alasan untuk membedakan Operating System yang digunakan adalah untuk menunjukkan bahwa TCP/IP dapat berkomunikasi dengan baik pada dua platform yang berbeda. 
Untuk menjalankan TCPdump, ketik perintah tcpdump di console anda pada host 192.168.0.3 sebagai root. Output yang diperlihatkan di bawah ini adalah output yang bergulir non-stop, terus berganti baris tanpa henti hingga anda menekan Ctrl+C .
# tcpdump
tcpdump: listening on eth0
05:22:27.216338 burner.ssh > prime.1035:
P3797249897:3797249949(52) ack 2183278948 win 8576 (DF) [tos 0x10]
Contoh output yang berulang diatas menyatakan bahwa salah satu computer sedang menjalankan ssh client untuk koneksi ke server ssh di Redhat 7.1 (192.168.0.3) yang mengakibatkan trafik pada network (untuk menghasilkan output seperti diatas anda harus menjalankan ssh server pada Redhat 7.1 dan menggunakan ssh client untuk melakukankoneksi ke server dengan Slackware 8.0 (ini hanya contoh sementara). 
Memang banyak sekali output yang dikeluarkan oleh TCPdump. Lalu apakah maksud dari output-output tersebut? Output pada TCPdump menampilkan informasi-informasi tentang PDU yang diambil dari frame yang dibaca/dicapture. Keterangan berikut dapat menjelaskan arti output pada contoh diatas (tcpdump -nn host 192.168.0.2 and port 23): 
Field Contents Keterangan
19:20:00.804501  : Deskripsi waktu
192.168.2.10.1221  :  Alamat IP asal dengan nomor port 1221
192.168.2.165.23  : Alamat IP tujuan dengan nomor port 23
S flag/Bendera
2565655403 Nomor urutan data /data sequence number
win 16384 Window size

Sebenarnya masih banyak data field yang ditampilkan pada output, yang tidak disebutkan pada keterangan diatas. Manual pages dari TCPdump mempunyai penjelasan yang cukup tentang output yang ditampilkan. Pemahaman yang baik tentang operasi dan konstruksi dari sebuah protokol sangat dibutuhkan untuk melakukan analisa data. Utility ini juga mempunyai kemampuan untuk menganalisa PDU yang memulai dan mengakhiri suatu koneksi TCP/IP. TCP mempunyai mekanisme khusus untuk membuka dan menutup suatu koneksi. Untuk menjamin bahwa startup dan shutdown koneksi benar-benar terjadi, TCP menggunakan metode dimana ada tiga pesan yang ditukar, metode ini sering juga disebut three-way-handshake.
ok brow kita lanjut dengan menjelaskan mengenai FTP Server. Lanjut !!!!!
kalian luar biasa ( alaaa ariel noah :D )
ok langsung ke TKP :
FTP
FTP (File Transfer Protocol) adalah mekanisme yang digunakan untuk men-transfer data (baca: file) antar komputer lewat Internet, atau network. Dalam konteks website (blog misalnya), FTP digunakan untuk men-transfer file dari komputer kita ke server hosting, sehingga file ini kemudian bisa diakses di website kita secara online menggunakan web browser. 
Setidaknya dua komputer terlibat dalam proses transfer ini: FTP server dan FTP client. FTP server menjalankan software di server (hosting) dan siap menerima permintaan transfer dari FTP client (berupa software FTP client di komputer kita, misalnya CuteFTP, SmartFTP, NCFTP, WSFTP). Untuk bisa melakukan aktifitas FTP, kita memerlukan FTP account (username dan password). Setelah FTP client terhubung dengan FTP server, kita bisa melakukan upload file ke server, download file dari server, mengganti nama file di server, menghapus file, dan banyak operasi lainnya. 
Salah satu kelemahan utama dari FTP adalah kurang (atau bahkan tidak ada)-nya metode enkripsi, baik dalam pengiriman data account (password) dan pengiriman data. Karena faktor ini, direkomendasikan untuk menggunakan cara lain untuk men-transfer file lewat internet, misalnya SCP dan SSH Tunnel. SCP client yang cukup populer adalah WinSCP untuk Windows.

sekarang langkah kerjanya nya brow:
Siapkan 2 buah komputer, dimana 1 komputer menggunakan Sistem Operasi Windows dan 1-nya lagi menggunakan Sistem Operasi Ubuntu 12.04
Pada komputer yang menggunakan Sistem Operasi Ubuntu lakukan penginstalan VSFTPD dengan cara sebagai berikut :
sudo apt-get instal vsftpd
Setelah proses instalasi selesai selanjutnya lakukan konfigurasi, dengan menggunakan perintah sebagai berikut :
sudo nano /etc/vsftpd.conf

Kemudian hilangkan tanda # pada local_enable=YES dan write_enable=YES dan
dan beritanda # pada chroot_local_user=YES
Selanjutnya restart vsftpd dengan perintah
Sudo /etc/init.d/vsftpd restart
Kemudian masuklah ke ftp yang telah anda buat dengan menggunakan perintah sebagai beriku :
ftp 10.17.0.195 (alamat ip komputer anda)
Kemudian masuklah username dan password jika berhasil artinya vsftpd agan2 sudah berjalan.
Selanjutnya hubungkan komputer yang menggunakan Sistem Operasi Ubuntu 12.04 dan Windows dengan menggunakan kabel cross
Lalu pada komputer yang menggunakan sistem operasi Windows masuklah ke ftp yang telah dibuat tadi, dengan cara
Buka command prompt
Lalu ketikkan : ftp 10.17.0.193
Selanjutnya login dengan username dan password yang sama jika berhasil ambil data yang ada dikomputer server dengan menggunakan perintah berikut:
get index.html
catatan :
(index.html adalah data yang ada pada komputer server untuk mengetahui data apa saja yang ada dikomputer server agan2 sekalian bisa menggunakan perintah ls)
Kemudian jalan perintah tcpdump pada komputer server dengan menggunakan perintah berikut:
tcpdump –i eth1 | grep ftp
           
            catatan :
eth1 adalah port Ethernet yang agan2 sekalian gunakan untuk mengetahui port yang agan2 gunakan bisa menggunakan perintah ifconfig
Maka akan muncul hasil tcpdump sebagai berikut pada komputer server
08:07:20:257384 IP 10.17.0.19.1107 > 10.17.0.195.ftp: Flags [.], ack 624, win 64658, length 0 08:07:20.270310 IP 10.17.0.19.1114 > 10.17.0.195.ftp-data: Flags [F.], seq 1, ack 132, win 64905, options [nop,nop,TS val 41123 ecr 924669], length 0
08:07:20.270327 IP 10.17.0.195.ftp-data > 10.17.0.1114: Flags [.], ack 2,  win 1825, option [nop,nop, TS val 924673 ecr 41123], length 0

selesai..
terimakasih
kalian luar biasa :D