Sabtu, 09 Januari 2010

Praktek melakukan perintah dasar Mysqladmin untuk mengatur MySQL Server

MySQLAdmin digunakan untuk melakukan konfigurasi pada MySQL Server. Bagi yang ingin belajar menggunakan database ini, ada beberapa perintah yang biasa digunakan dalam MySQL.
1. Bagaimana merubah Password user Root pada MySQL?

Kita asumsikan bahwa password lama yang kita gunakan adalah “123456”, dan password baru adalah “654321” tanpa tanda kutip.

# mysqladmin -u root –p123456 password 654321

Untuk menguji perubahan yang terjadi, silahkan ketik perintah dibawah ini :

# mysql -u root -p654321
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 5.1.25-rc-community MySQL Community Server (GPL)

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.

mysql>

2. Bagaimana mengecek MySQL Server sedang aktif dan berjalan ?

# mysqladmin -u root -p ping
Enter password:
mysqld is alive
3. Bagaimana mencari versi MySQL yang anda gunakan ?

# mysqladmin -u root -p654321 version

Hasil jika menggunakan Linux :
mysqladmin Ver 8.42 Distrib 5.1.25-rc, for redhat-linux-gnu on i686
Copyright (C) 2000-2006 MySQL AB
This software comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to modify and redistribute it under the GPL license

Server version 5.1.25-rc-community
Protocol version 10
Connection Localhost via UNIX socket
UNIX socket /var/lib/mysql/mysql.sock
Uptime: 107 days 6 hours 11 min 44 sec

Threads: 1 Questions: 231976 Slow queries: 0 Opens: 17067
Flush tables: 1 Open tables: 64 Queries per second avg: 0.25
Hasil jika menggunakan Windows :mysqladmin  Ver 8.41 Distrib 5.0.22, for Win32 on ia32
Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
This software comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to modify and redistribute it under the GPL license

Server version 5.0.22-community-nt-log
Protocol version 10
Connection localhost via TCP/IP
TCP port 3306
Uptime: 3 hours 7 min 10 sec

Threads: 1 Questions: 94 Slow queries: 0 Opens: 0Flush tables: 1 Open tables: 1 Queries per second avg: 0.008
4. Apa status terakhir dari MySQL server anda ?
# mysqladmin -u root -p654321 status
Uptime: 11680
Threads: 1 Questions: 231977 Slow queries: 0 Opens: 17067
Flush tables: 1 Open tables: 64 Queries per second avg: 0.25

Keterangan :

  • Uptime: Uptime dari mysql server dalam detik
  • Threads: Total jumlah client yang terkoneksi pada server.
  • Questions: Total jumlah dari querie yang dijalankan sejak startup.
  • Opens: Total jumlah dari table yang dibuka oleh server.
  • Flush tables: Berapa lama tables di flush.
  • Open tables: Total jumlah table yang dibuka dalam database.
5. Bagaimana melihat semua status dari MySQL Server berdasarkan variable dan value saat ini ?
# mysqladmin -u root -p654321 extended-status
+-----------------------------------+-----------+
| Variable_name | Value |
+-----------------------------------+-----------+
| Aborted_clients | 579 |
| Aborted_connects | 8 |
| Binlog_cache_disk_use | 0 |
| Binlog_cache_use | 0 |
| Bytes_received | 41387238 |
| Bytes_sent | 308401407 |
| Com_admin_commands | 3524 |
| Com_assign_to_keycache | 0 |
| Com_alter_db | 0 |
| Com_alter_db_upgrade | 0 |
6. Bagaimana menampilkan semua sistem MySQL server variabel dan values?
# mysqladmin  -u root -p654321 variables
+---------------------------------+---------------------------------+
| Variable_name | Value |
+---------------------------------+---------------------------------+
| auto_increment_increment | 1 |
| basedir | / |
| big_tables | OFF |
| binlog_format | MIXED |
| bulk_insert_buffer_size | 8388608 |
| character_set_client | latin1 |
| character_set_database | latin1 |
| character_set_filesystem | binary |

skip.....

| wait_timeout | 28800 |
+---------------------------------+---------------------------------+
7. Bagaimana membuat database dalam MySQL ?
# mysqladmin -u root -p654321 create belajardb

# mysql -u root -p654321
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 705
Server version: 5.1.25-rc-community MySQL Community Server (GPL)

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| wordpress |
| belajardb |
+--------------------+
4 rows in set (0.00 sec)
8. Bagaimana menghapus/delete MySQL database?
# mysqladmin -u root -p654321 drop belajardb
Dropping the database is potentially a very bad thing to do.
Any data stored in the database will be destroyed.

Do you really want to drop the 'belajardb' database [y/N] y
Database “belajardb” dropped

# mysql -u root -p654321
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 707
Server version: 5.1.25-rc-community MySQL Community Server (GPL)

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.

mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| wordpress |
+--------------------+
3 rows in set (0.00 sec)
9. Bagaimana melakukan reload/refresh hak akase pada tables?
# mysqladmin -u root -p654321 reload
# mysqladmin -u root -p654321 refresh
10. Bagaimana melakukan shutdown yang aman pada MySQL server?
# mysqladmin -u root -p654321 shutdown

# mysql -u root -p654321
ERROR 2002 (HY000): Can't connect to local MySQL server
through socket '/var/lib/mysql/mysql.sock'

NB : Untuk menjalankannya kembali kita tinggal mengetikkan perintah :

Bagi pengguna Linux : /etc/rc.d/init.d/mysql start

Bagi pengguna Windows : X:\MySQL\bin\mysql-nt

Menggabungkan multiple perintah pada mysqladmin.

Didalam menjalankan perintah pada mysqladmin, kita juga dapat menggabungkan beberapa perintah dijalan sekaligus. Umpamanya untuk melihat versi dan juga status dari MySQL Server.

# mysqladmin -u root -p654321 status version

Hasil yang ditampilkan akan terlihat seperti dibawah ini :
Uptime: 3135
Threads: 1 Questions: 80 Slow queries: 0 Opens: 15 Flush tables: 3
Open tables: 0 Queries per second avg: 0.25

mysqladmin Ver 8.42 Distrib 5.1.25-rc, for redhat-linux-gnu on i686
Copyright (C) 2000-2006 MySQL AB
This software comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to modify and redistribute it under the GPL license

Server version 5.1.25-rc-community
Protocol version 10
Connection Localhost via UNIX socket
UNIX socket /var/lib/mysql/mysql.sock
Uptime: 52 min 15 sec

Contoh perintah diatas juga bisa disingkat menjadi seperti dibawah ini :

# mysqladmin  -u root -p654321 pro stat ver

Gunakan opsi -h, untuk koneksi melalui remote ke MySQL server dan langsung menjalankan beberapa perintah mysqladmin.

# mysqladmin -h 192.168.1.1 -u root -p654321 pro stat ver

http://pcguru.okihelfiska.net

Kamis, 07 Januari 2010

Virus Total - Scan Dengan 32 Anti Virus Sekaligus

Banyak diantara kita yang meragukan kemampuan antivirus pada komputer. Secara umum semua antivirus mempunyai kemampuan mengatasi virus yang berbeda-beda. Tetapi manakah antivirus yang paling oke ? Susah untuk kita melakukan klaim sebuah antivirus tersebut bagus atau tidak.

Nah solusi yang paling aman adalah melakukan scan dengan berbagai antivirus melalui layanan online. VirusTotal adalah layanan online yang mampu menganalisis file yang mencurigakan dan mampu mendeteksi secara cepat virus, worm, trojan, dan segala jenis malware yang dideteksi oleh mesin antivirus dengan 32 engine antivirus.

Diantara perusahaan yang tergabung dalam VirusTotal tersebut adalah :

Selain itu VirusTotal, juga bersifat Gratis, Menggunakan engine beberapa antivirus, Update Real-time virus signature, Menampilkan hasil detailed dari masing-masing mesin antivirus dan real time statistik global.

Yang perlu diketahui tentang VirusTotal adalah fasilitas ini bukanlah pengganti perangkat lunak antivirus yang terinstal di PC, karena hanya memindai file sesuai dengan permintaan individu. jadi tidak menawarkan perlindungan permanen bagi sistem komputer anda.

http://www.belajarpc.info

Login Windows Administrator Dan Linux Root Tanpa Memerlukan Password (Hack)

Setiap Sistem Operasi saat ini selalu dilengkapi dengan password untuk menjaga keamanan komputer tersebut. Tetapi dengan adanya password, banyak juga diantara kita yang kelupaan dengan password tersebut. Bisa kacau juga kalau yang punya komputer lupa dengan passwordnya. Bisa-bisa diinstal ulang lagi komputer tersebut.

Untuk mengatasi hal ini, sangat banyak cara yang bisa dilakukan. Tentu saja menggunakan 3rd party software atau dengan bantuan software dari pihak lain, seperti PC Login Now, OPHCrack, Ultimate Boot CD, dll. Sekarang ada lagi software yang cukup ampuh untuk mengatasi kelupaan password. Tanpa harus mereset atau menghapus password kita dapat login ke Sistem Operasi tersebut.

Software tersebut adalah Kon-Boot Bootable CD. Kon-Boot ini merupakan sebuah sistem operasi yang dapat dijalankan melalui CD ataupun Floppy Drive. Kelebihan software ini adalah mampu melewati password dari Sistem Operasi tanpa harus mengetikkan passwordnya. Dan juga memiliki ukuran yang sangat kecil yaitu sekitar 110 KB setelah di jadikan Bootable CD. Jadi gak susahkan untuk mendowloadnya.

Adapun Sistem operasi yang mampu direset oleh kon-boot adalah :

Versi Windows :
- Windows Server 2008 Standard SP2 (v.275)
- Windows Vista Business SP0
- Windows Vista Ultimate SP1
- Windows Vista Ultimate SP0
- Windows Server 2003 Enterprise
- Windows XP
- Windows XP SP1
- Windows XP SP2
- Windows XP SP3
- Windows 7

Versi Linux :
- Gentoo 2.6.24-gentoo-r5
- Ubuntu 2.6.24.3-debug
- Debian 2.6.18-6-6861
- Fedora 2.6.25.9-76.fc9.i6862

Cara menggunakan Kon-Boot :

1. Download Kon-Boot ISO dari situs resminya. Lalu burning ke CD dengan menggunakan Software Burning.

2. Boot komputer melalui CD Drive. (Sebelumnya atur dahulu boot prioritas melalui BIOS).

3. Tunggu beberapa saat, nantinya akan tampil layar Login ke sistem operasi.

http://www.belajarpc.info/

Penjadwalan tugas dengan cron dan at


Di Linux, kita dapat menentukan kapan suatu tugas atau program di-eksekusi. Pengaturan waktu atau penjadwalan ini dapat berlangsung secara berulang maupun sesaat (hanya sekali eksekusi) di waktu yang akan datang. Contoh jadwal yang berulang, kita memerintahkan komputer untuk mengambil email setiap 30 menit, setiap hari. Contoh penjadwalan sesaat, komputer akan mengambil email besok siang pada jam 13.00. Bagaimana caranya? Dalam artikel ini, saya akan menjelaskan cara penggunaan cron untuk mengatur jadwal berulang dan at untuk jadwal sesaat.

cron

cron dapat diaktifkan agar jalan saat Linux dinyalakan (boot) melalui ntsysv atau manual melalui terminal. Contoh cara mengaktifkan pada RedHat:

# /etc/rc.d/init.d/crond start

cron merupakan program daemon yang setiap menit men-cek apakah ada perintah yang mesti dijalankan. Daftar atau tabel cron (crontab), yaitu file yang berisi jadwal perintah, ada di direktori spool (misalnya /var/spool/cron/). Nama file itu sama dengan nama user pemilik atau pembuat jadwal. Untuk membuat atau mengedit crontab, user dapat menggunakan program yang juga bernama crontab. Secara default, crontab akan menjalankan editor yang dijadikan standar, biasanya vi. Sebagai root, kita dapat mengedit langsung file crontab yang ada di direktori spool cron (/var/spool/cron/nama_user) atau menggunakan program bantu Linuxconf (khusus RedHat dan turunannya).

Ada 3 option dalam menjalankan crontab sebagai user biasa:
$ crontab -e (artinya mengedit atau membuat baru tabel cron atau daftar tugas).
$ crontab -l (artinya menampilkan daftar tugas yang telah ada).
$ crontab -r (artinya menghapus daftar tugas yang ada).
Sebagai root, kita dapat mengedit, melihat atau menghapus crontab user dengan tambahan option -u, misalnya:
# crontab -eu rus (artinya mengedit crontab yang dimilki user rus).

Format crontab
Sebuah crontab merupakan daftar program yang akan dijalankan secara berulang melalui terminal atau command line, lengkap dengan waktu kapan program tersebut dijalankan. Setiap program dijadwalkan dalam satu baris dengan makna sebagai berikut:
menit jam tanggal bulan hari
Contoh crontab di bawah ini akan menjalankan fetchmail setiap menit (*), setiap jam (*), setiap hari/tanggal (*), setiap bulan (*) dan setiap hari dalam seminggu (*).
* * * * * fetchmail
Contoh berikut ini, fetchmail hanya dijalankan setiap (interval) 5 menit (*/5), antara jam 8 pagi hingga jam 5 sore (8-17), setiap hari Senin hingga Jumat (1-5).
*/5 8-17 * * 1-5 fetchmail
Nama (case sensitive) juga dapat digunakan untuk crontab, misalnya sun-sat (artinya Minggu hingga Jumat), jan-dec (Januari – Desember).

Izin Menggunakan crontab
Ada 2 file yang berfungsi mengatur pemberian izin penggunaan crontab, yaitu /etc/cron.allow dan /etc/cron.deny. Yang dicek pertama adalah cron.allow, yaitu daftar user yang diizinkan menggunakan crontab. User selain yang terdaftar di cron.allow tidak boleh menggunakan crontab. Bila cron.allow tidak ada, cron.deny akan dibaca. User selain yang terdaftar di cron.deny diizinkan menggunakan crontab. Jika kedua file tidak ada, semua user dapat menggunakan crontab.

at

Perintah (command) at digunakan untuk membuat jadwal eksekusi sebuah atau lebih program di waktu yang akan datang. Ada 4 perintah yang terkait dengan at, yaitu:
1. at, artinya jalankan perintah atau program pada watu yang ditentukan.
2. atq, artinya list atau tampilkan daftar perintah yang akan dijalankan.
3. atrm, artinya batalkan perintah yang telah dijadwal.
4. batch, artinya jalankan perintah jika tingkat beban sistem memungkinkan.
Sebelum menjalankan at, daemon at (atd) harus dijalankan, misalnya di RedHat dengan perintah sebagai berikut:
# /etc/rc.d/init.d/atd start
Contoh penulisan peintah at:
# at now + 2 minutes
at> fetchmail
at>
Catatan: merupakan hasil penekanan tombol atau ^D. Gambar-1 memperlihatkan tampilan ketika menjalankan perintah at tersebut, yang maksudnya adalah program fetchmail akan dijalankan 2 menit setelah menajalankan at ini.
Bentuk umum perintah at adalah:
at [-V] [-q ] [-f ] [-mld]

Spesifikasi Waktu
Selain now (sekarang), waktu juga dapat dinyatakan dengan today (hari ini), tomorrow (hari esok), 4am (jam 4 pagi), 4pm (jam 4 sore), dll. Penulisan waktu ini dapat secara mutlak atau relatif. Contoh, jika saat ini hari Senin, tanggal 16 April 2001, dan kita ingin menjalankan sebuah program pada pukul 4 sore pada hari Kamis atau 3 hari kemudian, ada 2 cara menuliskan perintah:
at 4pm + 3 days
atau
at 4pm April 19

Izin Menjalankan at
Seperti cron, at juga dikontrol oleh 2 file, /etc/at.deny dan /etc/at.allow. /etc/at.allow akan dicek lebih dulu. Jika ada, hanya user yang tercatat di at.allow yang diizinkan menggunakan at. Jika /etc/at.allow tidak ada, /etc/at.deny akan dicek. Semua user yang tidak tercantum di dalam at.deny dapat menjalankan at. Kebalikan dari cron, jika kedua file tidak ada, hanya superuser (root) yang diizinkan menggunakan at.

Tutorial Iptables dasar 2


Pada tulisan terdahulu kita telah membahas tentang membuat firewall sederhana yaitu memblok semua koneksi masuk dan mengizinkan koneksi keluar. Sekarang kita akan membahas cara aman membuka beberapa hole di firewall kita untuk memungkinkan beberapa koneksi masuk. Untuk melakukan ini terdapat 4 parameter utama dalam penyaringan yaitu :

- Interface – eth0, eth1, ppp0 dll
- IP Address – Single IP Address atau range IP Address
- Protocol – tcp, udp, icmp, semua
- Ports – single port atau range dari port

Interface

Dalam contoh kita terdahulu, kita melihat bagaimana, untuk menerima semua paket masuk pada interface tertentu, dalam hal ini interface lo:

Iptables –A INPUT –i lo –j ACCEPT

Misalkan kita memiliki 2 interfce terpisah, eth0 menyambung ke LAN internal dan eth1 yang merupakan koneksi internet/ekternal kita. Kita mungkin akan mengizinkan semua paket masuk pada LAN tapi memfilter paket masuk pada ekternal, kita bisa melakukan hal ini dengan perintah :

 iptables -A INPUT -i lo -j ACCEPT
 iptables -A INPUT -i eth0 -j ACCEPT

Hati-hati, jika kita ingin mengizinkan semua paket masuk pada exkternal

 iptables -A INPUT -i lo -j ACCEPT
 iptables -A INPUT -i eth1 -j ACCEPT

Tapi lebih baik jangan lakukan ini.

IP Address

Membuka seluruh interface untuk jalan masuk paket tidak dianjurkan, kita mungkin ingin lebih banyak kontrol, apa yang dibolehkan dan apa yang harus ditolak. Kita misalkan, memiliki jaringan kecil komputer yang menggunakan private subnet 192.168.0.x. kita akan membuka firewaal untuk masuk paket dari satu alamat IP terpecaya (misalnya 192.168.0.5)

# Menerima paket-paket dari alamat IP terpercaya
iptables -A INPUT -s 192.168.0.5 -j ACCEPT
# Ubah alamat IP yang sesuai

Pada command diatas menambah (-A) aturan ke chain INPUT untuk sumber (-s) IP Address 192.168.0.5 untuk menerima (ACCEPT) semua paket

Jika kita ingin mengizinkan paket masuk dari suatu network dapat dilakukan dengan perintah

# Menerima paket-paket dari alamat network IP terpercaya
 iptables -A INPUT -s 192.168.0.0/24 -j ACCEPT

Jika kita ingin menyandingkannya dengan mac address, bisa kita lakukan. Untuk melakukan ini, kita perlu meload modul mac, yang memungkinkan penyariangna terhadap mac address. Disini kita akan menggunakan modul mac untuk memeriksa mac address sumber selain IP address.

Iptables –A INPUT –s 192.168.0.5 –m mac --mac-source 00:19:7E:3F:3B:CF –j ACCEPT

Pertama kita gunakan –m mac untuk meload modul mac dan kemudia kita gunakan –mac-source untuk menentukan mac address sumber IP Address (192.168.0.5).

Hal ini dapat berguna untuk mencegah pemalsuan alamat IP.

Port dan Protocol

Sekarang kita melihat pemfilteran terhadap port dan protokol untuk memungkinkan service tertentu sebagai target ACCEPT. Sebelum kita mulai, kita harus benar-benar tahu protokol dan nomor port yang digunakan pada service yang diberikan. Sebagai contoh sederhana, Bittorrent menggunakan tcp pada port 6881, jadi kita perlu untuk membolehkan semua paket tcp pada port 6881.

iptables -A INPUT -p tcp --dport 6881 -j ACCEPT

Ini adalah aturan sederhana untuk menerima semua paket tcp yang masuk ke komputer kita pada port 6881.

Note : Untuk menggunakan penyesuaian destination atau source port (–dport atau –sport), kita harus terlebih dulu menetapkan protokol (tcp, udp, icmp atau all).

Kita juga dapat memasukkan range port, misalnya memungkinkan semua paket tcp pada range 6881-6890

iptables -A INPUT -p tcp --dport 6881:6890 -j ACCEPT

Setelah kita mempelajari dasar2 diatas, untuk pengembangan lebih lanjut, kita dapat menggabungkannya, contoh :

iptables -A INPUT -p tcp -s 192.168.0.0/24 --dport 22 -j ACCEPT

Ini akan lebih mengamankan komputer kita.

Selamat Mencoba.

http://www.tirta-fajri.net

Tutorial Iptables dasar 1


Pendahuluan

Linux memiliki firewall yang sangat kuat di dalamnya, biasanya disebut sebagai iptables, lebih tepatnya iptables / Netfilter. Iptables adalah modul userspace, dengan demikian kita dapat , berinteraksi dengannya pada commandline untuk memasukkan aturan firewall ke tabel standar. Netfilter adalah modul kernel, yang dibangun dalam kernel, yang benar-benar menyaring. Kita akan mempelajari iptables di command line.
Sebelum kita dapat benar-benar bisa menguasai iptables, kita perlu memiliki setidaknya pemahaman dasar dari cara kerjanya. Iptables menggunakan konsep alamat ip, protokol (tcp, udp icmp) dan port. Kita tidak perlu menjadi ahli dalam hal ini untuk memulai, tetapi hal ini membantu untuk memiliki pemahaman umum.

Iptables menempat aturan ke dalam tabel (INPUT, OUTPUT dan FORWARD) yang memeriksa lalu lintas jaringan (paket IP) yang relevan table dan membuat sebuah keputusan mengenai apa yang harus dilakukan pada setiap paket berdasarkan hasil dari aturan-aturan tersebut, yaitu menerima atau menjatuhkan paket. Tindakan-tindakan ini disebut sebagai target, ada dua kemungkinan yang akan ditetapkan DROP untuk menjatuhkan paket atau ACCEPT menerima paket.

chain
Ada 3 chain standar yang digunakan oleh iptables yang kita dapat menambahkan aturan untuk memproses paket IP melewati tabel, yaitu :
INPUT – Semua paket yang ditujukan untuk host komputer.

OUTPUT – Semua paket yang berasal dari host komputer.

FORWARD – Semua paket yang bukan dari atau untuk komputer host, tetapi melalui komputer host. Tabel ini digunakan jika komputer sebagai router.
Sebagian besar, kita akan berurusan dengan tabel INPUT untuk menyaring paket yang memasuki komputer kita.

Aturan ditambahkan dalam daftar untuk setiap tabel. Sebuah paket diperiksa terhadap setiap aturan secara bergiliran, dimulai di bagian atas, dan jika sesuai dengan aturan itu, maka diambil tindakan seperti menerima (ACCEPT) atau jatuh (DROP) paket. Sekali aturan tersebut sesuai, dan tindakan diambil, maka paket akan diproses sesuai dengan hasil dan tidak diproses oleh aturan lebih lanjut dalam tabel. Jika sebuah paket lewat turun melalui semua aturan dalam tabel dan mencapai bagian bawah dicocokkan tanpa aturan apa pun, maka diambil tindakan standar untuk tabel itu. Hal ini disebut sebagai kebijakan default.

Konsep kebijakan standar dalam tabel menimbulkan dua kemungkinan mendasar bahwa kita harus terlebih dahulu mempertimbangkannya sebelum kita memutuskan bagaimana kita akan mengatur firewall kita.
1. Kita dapat menetapkan kebijakan default DROP semua paket dan kemudian tambahkan aturan untuk secara khusus membiarkan (ACCEPT) paket yang dipercaya mungkin dari alamat IP, atau untuk port tertentu pada layanan yang telah kita jalankan seperti bittorrent, server FTP, Web Server, Samba file server dll
atau sebaliknya,

2. Kita dapat menetapkan kebijakan default ACCEPT semua paket dan kemudian tambahkan aturan untuk secara khusus blok (DROP) paket yang mungkin dari alamat IP tertentu, atau untuk port tertentu di mana kita tidak menjalankan servicenya.
Umumnya, pilihan 1 di atas adalah untuk tabel INPUT, digunakan untuk mengontrol apa yang diperbolehkan untuk mengakses komputer kita dan opsi 2 akan digunakan untuk tabel OUTPUT .

Persiapan :

Bekerja dengan iptables di command line membutuhkan hak istimewa root, jadi kita perlu menjadi untuk root untuk hal hal yang akan kita lakukan.

Catatan : Sebelum mulai, kita perlu mereset iptables dan aturan-aturan firewall yang ada

Sayangnya, berbagai distro Linux menggunakan berbagai comands untuk memulai, menghentikan dan menyimpan aturan-aturan firewall, sehingga kita mungkin perlu memeriksa dokumentasi untuk mengetahui cara untuk melakukan ini pada distro Linux kita. Coba ketik iptables –help di command line

# iptables --help
iptables v1.2.9
Usage: iptables -[AD] chain rule-specification [options]
       iptables -[RI] chain rulenum rule-specification [options]
       iptables -D chain rulenum [options]
       iptables -[LFZ] [chain] [options]
       iptables -[NX] chain
       iptables -E old-chain-name new-chain-name
       iptables -P chain target [options]
       iptables -h (print this help information)

Dan untuk melihat apakah iptables sudah benar benar berjalan di komputer kita, kita dapat menggunakan option –L, untuk meload running iptables

# iptables -L
Chain INPUT (policy DROP)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED
ACCEPT     all  --  barney               anywhere            MAC 00:50:8D:6D:EF:23
DROP       all  --  wilma                anywhere
ACCEPT     all  --  bart                 anywhere            MAC 00:50:8D:FD:D6:32
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:ftp
ACCEPT     tcp  --  ict                  anywhere            state NEW tcp dpt:ssh
Chain FORWARD (policy DROP)
target     prot opt source               destination
Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Jika iptables berjalan, kita akan melihat beberapa aturan umum seperti diatas, jika tidak, kita coba mengecek modul iptables dengan lsmod

# lsmod |grep ip
ipt_mac                 2113  2
ipt_state               2113  2
ip_conntrack           40949  1 ipt_state
iptable_filter          3777  1
ip_tables              16577  3 ipt_mac,ipt_state,iptable_filter

Baik, kita asumsikan iptables berjalan baik, mari kita mulai dengan aturan yang sangat simple untuk mengeset firewall yaitu mengizinkan semua koneksi keluar tetapi memblok semua koneksi yang tidak diinginkan. Pada command line kta akan mengetikkan perintah berikut :

iptables -F
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -L -v

yang akan memberikan output sebagai berikut :

Chain INPUT (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 ACCEPT     all  --  lo     any     anywhere             anywhere
    0     0 ACCEPT     all  --  any    any     anywhere             anywhere            state RELATED,ESTABLISHED
Chain FORWARD (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination

Kita sekarang memiliki firewall yang memungkinkan semua koneksi keluar tapi memblokir semua koneksi masuk yang tidak diinginkan dan juga semua paket forwarder. Baik kita akan melihat setiap perintah diatas.

  1. (iptables –F), Pertama tama kita menggunakan –F (flush), tujuannya untuk membersihkan semua aturan yang ada.
  2. (iptables –P INPUT DROP). Option –P ini menetapkan kebijakan default, disini kita menerapkan kebijakan default untuk tabel input adalah DROP, yang maksudnya bahwa jika sebuah paket masuk tidak sesuai dengna salah satu dari aturan-aturan berikutnya akan dihapus.
  3. (iptables –P FORWARD DROP), Demikian pula, default untuk tabel FORWARD adalah DROP, karena kita tidak memfungsikan komputer kita sebagai router.
  4. (iptables –P OUTPUT ACCEPT), Terakhir untuk kebijakan default yaitu pada tabel OUTPUT yaitu ACCEPT, yaitu membolehkan semua lalu lintas keluar.
  5. (iptables –A INPUT –i lo –j ACCEPT), sekarang kita menambah beberapa aturan lain. Kita menggunakan –A untuk menambah sebuah aturan ke chain tertentu, INPUT pada contoh ini, kemudian kita menggunakan –i untuk interface, -j (jump), yaitu tindakan yang akan diambil. Jadi aturan ini akan mengizinkan semua paket masuk localhost. Ini umumbnya diperlukan oleh berbagai software aplikasi untuk bisa berkomunikasi dengan adaptor localhost.
  6. (iptables –A INPUT –m state –state ESTABLISHED,RELATED –j ACCEPT), Ini adalah aturan yang melakukan sebagian besat pekerjaan, dan sekali lagi kita menambahkan (-A) ke chain INPUT. Disini kita menggunakan opsi –m untuk meload sebuah modul (state). Modul stat mampu memeriksa keadaan dari sbuah paket dan menentukan apakah NEW, ESTABLISHE atau RELATED, NEW mengacu kepada paket-paket baru yang masuk koneksi yang tidak diprakarsai oleh host. ESTABLISHED dan RELATED mengacu kepada paket paket masuk yang merupakan bagikan dari koneksi yang telah mapan atau terkait dengan koneksi tersebut.
  7. (iptables –L –v), Terakhir, kita bisa daptarkan aturan aturan yang baru saja kita tambahkan, dan menampilkannya untuk memeriksa apakan sudah terisi dengan benar.

Hal terkahir yang perlu kita lakukan adalah menyimpan aturan tersebut, sehingga saat kita reboot, secara otomatis aturan tadi akan terload. Sayangnya, perintah untuk melakukan ini, biasanya berbeda untuk distro yang berbeda.

Pada Redhat/Fedora lakukan :

/sbin/service iptables save

Namun, cara termudah bekerja dengan iptables ada memasukkan script nya kedalam sebuah file dan membuatnya menjadi file executable, misalkan kita beri nama firewallku.

#!/bin/bash
# file konfigurasi iptables
# ChoenKill
# Flush semua aturan dari iptables
 iptables -F
# Set default untuk chain INPUT, FORWARD dan OUTPUT
 iptables -P INPUT DROP
 iptables -P FORWARD DROP
 iptables -P OUTPUT ACCEPT
# Set access untuk localhost
 iptables -A INPUT -i lo -j ACCEPT
# Accept packets established dan related connections
 iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# Save settings dengan /sbin/service iptables save
# List iptables chains with 'iptables -L -v'
/sbin/service iptables save
iptables -L –v

Manajemen Bandwith di Squid Menggunakan Delay Pools


Dokumen ini hanya menjelaskan bagaimana cara mengkonfigurasikan proxy server anda untuk membatasi bandwidth download atau incoming traffic.

A. Konfigurasi Manajemen Bandwidth di Squid

Berikut langkah-langkah pengkonfigurasian manajemen bandwidth di squid:

  1. Pertama-tama periksa apakah squid telah berjalan di server dan telah dikonfiguraisi sebagai mesin proxy server.
  2. Sebelum memulai memanajemen bandwidth di squid, kita jelaskan dulu komponen-komponen manajement bandwidth di squid

delay_pools

Opsi ini untuk menspesifikasi berapa jumlah pool yang digunakan untuk membatasi jumlah bandwidth dari ACL. Opsi ini akan dirangkaikan bersama opsi delay_class dan delay_parameters yang akan dibahas di bawah ini.

delay_class

Opsi ini menspesifikasikan kelompok dari masing-masing pool yang telah didefinisikan pada opsi delay-pools. Ada tiga class yang didukung Squid, antara lain:

  • class 1: Semua akses dibatasi dengan single bucket, artinya hanya bisa mendefinisikan overall bandwidth untuk suatu ACL saja, tidak bisa mendefinisikan bandwidth dengan lebih mendetail
  • class 2: Semua akses dibatasi dengan single agregate dengan dua parameter bandwidth. Parameter pertama mendefinisikan berapa bandwidth maksimal yang didapatkan ACL, parameter kedua mendefinisikan berapa bandwidth overall untuk ACL yang spesifik yang ada pada network tersebut.
  • class 3: Kelompok yang definisi bandwidth-nya paling mendetail. Parameter pertama mendefinisikan berapa bandwidth maksimal yang didapatkan ACL, parameter kedua mendefinisikan berapa bandwidth normal yang didapatkan ACL secara umum, dan parameter yang ketiga adalah mendefinisikan bandwidth yang didapatkan ACL jika mengakses ACL-ACL tertentu yang spesifik, misalnya file mp3.

delay_parameters

Opsi ini menspesifikasikan rumus bandwidth yang akan didapatkan oleh ACL yang akan memasuki delay_pool. Misalnya ada entry berikut ini pada delay_parameters:

delay_parameters 1 -1/-1 2100/4000

Angka 1 berarti rumus ini berlaku untuk pool 1. Angka -1/-1 berarti bandwidth maksimal yang diberikan Squid adalah tidak terbatas untuk pool ini.

Angka 2100/4000 berarti bandwidth yang didapatkan oleh ACL setelah masuk ke pool ini. Angka ini berada dalam kelipatan 8 b, sehingga untuk mendapatkan nilai bandwidth yang sebenarnya harus dikalikan delapan. Angka 2100 adalah bandwidth yang didapatkan ACL pada masa-masa normal. Jika dikalikan 8, maka bandwidth normal yang akan didapatkan ACL sekitar 18 Kbps. Angka 4000 adalah bandwidth maksimal yang didapatkan ACL pada masa-masa jalur sedang kosong. Jika dikalikan 8, maka bandwidth yang didapatkan sekitar 32 Kbps.

delay_access

Opsi ini mendefinisikan siapa-siapa ACL yang akan dimasukkan ke pool tertentu untuk mendapatkan “perlambatan” bandwidth. Bentuk umumnya adalah seperti ini:

delay_access 1 allow labprog

Opsi di atas berarti kita memasukkan ACL labprog ke dalam pool 1.

  1. Jika sudah mengerti komponen-komponen delay pool, kita mulai konfigurasi delay pool .

B. Contoh Kasus

Di umpamakan kita mempunyai bandwidth dari ISP sebesar 512kb, dan kita membuat rule seperti berikut ini:

- Maksimum download dibatasi 2 MB

- Batas kecepatan koneksi overall adalah 256 Kbps. per-network adalah 64 kbps. Sedangkan per-user/host dibatasi 2 Kbps jika digunakan untuk download file bertipe exe, mp3, vqf, tar.gz, gz, rpm, zip, rar, avi, mpeg, mpe, mpg, qt, ram, rm, iso, raw, dan wav. Jika tidak, maka koneksi perhost HANYA mengikuti aturan per-Network saja.

Penyelesaian:

Edit file /etc/squid/squid.conf

#vi /etc/squid/squid.conf

Lalu tambahkan contoh konfigurasi ini:

# Maksimum download dibatasi 2 MB

# Sebelum kita melakukan pembatasan, kita perlu mendefinisikan ACL network # # yang kita perlukan terlebih dahulu. ACL yang didefinisikan pada host bridge

# seperti di bawah ini:

acl lokal src 192.168.1.0/24

# Kemudian kita membatasi maksimum download dengan tag di bawah ini:

# Batas kecepatan koneksi overall adalah 256 Kbps. per-network adalah

# 64 kbps. Sedangkan per-user/host dibatasi 2 Kbps jika digunakan untuk

# download file bertipe exe, mp3, vqf, tar.gz, gz, rpm, zip, rar, avi,

# mpeg, mpe, mpg, qt, ram, rm, iso, raw, dan wav. Jika tidak, maka

# koneksi perhost HANYA mengikuti aturan per-Network saja.

acl filegede url_regex -i \.exe

acl filegede url_regex -i \.mp3

acl filegede url_regex -i \.vqf

acl filegede url_regex -i \.gz

acl filegede url_regex -i \.rpm

acl filegede url_regex -i \.zip

acl filegede url_regex -i \.rar

acl filegede url_regex -i \.avi

acl filegede url_regex -i \.mpeg

acl filegede url_regex -i \.mpe

acl filegede url_regex -i \.mpg

acl filegede url_regex -i \.qt

acl filegede url_regex -i \.ram

acl filegede url_regex -i \.rm

acl filegede url_regex -i \.iso

acl filegede url_regex -i \.raw

acl filegede url_regex -i \.wav

# Kita buat dulu ACL untuk mendefinisikan file-file di atas dengan menggunakan # regularexpression. Kemudian kita mendefinisikan 2 delay pool untuk

# menampung bandwidth.

# Satu pool masuk dalam kategori class 2 untuk mendefinisikan aturan overall

# 256 Kbps dan per-network 64 Kbps. Satu pool lainnya masuk kategori class 3

# untuk mendefinisikan aturan tambahan jika user mendownload file-file yang

#didefinisikan dalam ACL url_regex dengan bandwidth maksimal 2 Kbps.

delay_pools 2

delay_class 1 3

delay_parameters 1 32000/32000 8000/8000 250/250

delay_access 1 allow lokal filegede

delay_access 1 deny all

delay_class 2 2

delay_parameters 2 32000/32000 8000/8000

delay_access 2 allow lokal

delay_access 2 deny all

Jika sudah selesai, simpan hasil konfigurasi dan restart squid

#/etc/init.d/squid restart

Bagaimana terhubung dengan SEA EduNet ?


Anda ingin memperoleh materi Buku Sekolah Elektronik (BSE) namun tidak memiliki koneksi internet ? Hendak mendownload materi tersebut tapi koneksi amat lambat ?
Anda ingin memperoleh video-video pembelajaran terbaru tapi jauh dari perkotaan dan tidak tersedia jaringan apapun ?

Anda ingin mengikuti training online secara jarak jauh yang dilaksanakan oleh SEAMOLEC ?

Anda ingin mengikuti pembelajaran atau kuliah jarak jauh yang disampaikan oleh guru/dosen terbaik secara real time ?

Solusinya adalah dengan terhubung dengan SEA EduNet.

Dan itu semua dapat diperoleh TANPA BIAYA BULANAN/Berlangganan, cukup dengan menyiapkan perangkat-perangkat yang sederhana dan mudah di dapat dan yang paling penting tidak membutuhkan koneksi internet apapun.

Pada tulisan sebelumnya, sudah saya paparkan secara mendalam mengenai pengertian dan manfaat dari SEA EduNet. Pada tulisan ini akan saya paparkan peralatan yang dibutuhkan agar dapat terhubung dan menikmati layanan-layanan dari SEA EduNet.
Secara umum, ada 4 perangkat utama yang dibutuhkan agar dapat terhubung ke SEA EduNet, perangkat tersebut adalah:

1. Antena Parabola
2. Modem Satelit DVB-S Digi.Box
3. Pesawat Televisi
4. PC Server
5. Antena Parabola

Parabola yang digunakan untuk sistem ini menggunakan antena parabola standar yang sering digunakan di perumahan. Berukuran 6 feet minimal, solid dan dilengkapi dengan LNB dan kabel coaxial.

Setelah memiliki antena parabola, pastikan antena tersebut telah terpointing ke Satelit Telkom 1 dan bisa menerima siaran TV Edukasi maupun Trans TV. Apabila sudah berhasil menerima siaran tersebut, maka koneksi ke layanan SEA EduNet akan jauh lebih mudah.

Modem Satelit

Modem satelit yang digunakan untuk terhubung dengan SEA EduNet adalah DVB-S merk Digi.Box. Merk ini sudah didesain khusus agar berfungsi dengan frekwensi dan symbol rate khusus untuk SEA EduNet.

Modem ini juga sudah melalui pengecekan kualitas (Quality Control) dari tim teknis SEAMOLEC termasuk pengecekan penerimaan data. Modem ini dapat diperoleh langsung di SEAMOLEC atau di Pendamping SEAMOLEC di masing-masing propinsi. Daftar pendamping bisa dilihat pada akhir postingan ini.

Harga resmi perangkat adalah US$ 275 (Dua Ratus Tujuh Puluh Lima Dollar Amerika) yang kalau di kurs menggunakan Rate US$ 1 = Rp. 10.000 sebesar Rp. 2,75 Juta (Dua Juta Tujuh Ratus Lima Puluh Ribu Rupiah). Harga ini sudah termasuk PPn 10% dan belum termasuk biaya pengiriman ke lokasi.
PC Server

Satu hal yang membedakan sistem ini dibandingkan sistem TV Satelit biasa adalah kemampuan untuk menerima data. Oleh sebab itu, dibutuhkan server yang berfungsi sebagai File Server dan Web Server untuk menampung data yang dikirimkan oleh SEAMOLEC.

Untuk sistem ini, tidak dibutuhkan komputer server yang Middle End ataupun yang High End. Komputer personal (PC) yang standar juga sudah mencukupi, asalkan memiliki spesifikasi minimal:

1. Processor minimal setara dengan Intel Pentium 4
2. Memori minimal 512 Kb
3. Hard Disk Drive minimal 250 Gb (lebih besar lebih baik, karena akan menjadi File Server)
4. Ethernet card minimal 10/100 (minimal 2 unit, kalau bisa 3 unit)

PC Server ini tidak perlu diinstall apapun, karena sistem operasi dan aplikasi akan disiapkan oleh tim pendamping SEAMOLEC. OS yang digunakan adalah Linux.

Tim Pendamping SEAMOLEC

Salah satu perbedaan sistem ini dibanding sistem lain adalah prosedur instalasi. Perangkat SEA EduNet memiliki kekhasan tersendiri. Pengaturan Modem Satelit yang berbeda dibanding modem lainnya, serta keharusan penyediaan PC Server yang akan digunakan menerima data membutuhkan tenaga-tenaga khusus yang akan menangani hal tersebut.

Dengan pertimbangan ini, dan juga untuk memberikan kemudahan terhadap pelayanan di seluruh Indonesia, maka dibentuklah Tim Pendamping SEAMOLEC di seluruh propinsi, dan direncanakan akan dibentuk hingga ke tingkat Kabupaten/Kota.

Sekolah maupun institusi lainnya yang berminat dengan layanan SEAMOLEC dapat menghubungi tim ini secara langsung. Dan karena domisili mereka berada di propinsi maupun kabupaten/kota, diharapkan akan mempermudah penanganan permasalahan yang terjadi di lapangan.

Daftar Tim Pendamping SEAMOLEC di seluruh Indonesia adalah:

1 NAD Hizir Sofyan hizir@hizir.net
2 Sumatera Utara Zulkifli Akbar zoelranto@yahoo.com
3 Sumatera Barat Dafwen Toresa dafwen1@yahoo.co.id
4 Sumatera Selatan Edward Ujang bang_eddoo@yahoo.com
5 Jambi Fadly Eka Yandra fadli_e_y@yahoo.com
6 Lampung Wajiran galih_wajiran@yahoo.com Saiful Hidayat saifulkonsultan@yahoo.co.id
7 Bengkulu Beni Rasdiwansyah benirasdiwansyah@yahoo.com
8 Riau Jeffri Hunter alziqra@yahoo.com
9 Kepulauan Riau Said Haikal saidsmkn3@yahoo.co.id
10 Bangka Belitung Decky Sunarto dicky_dirgantara_samudra@yahoo.com
11 Jawa Barat Purwanto pur2001id@yahoo.co.id Karnojoyo Nono Wardono nmardono@yahoo.com Slamet Maryono cre_met@yahoo.com Ade Hendraputra adehendraputra@gmail.com Syamsiatin Fitriyah
12 Banten Bambang Dwi Cahyono bambangdc_ms@yahoo.com
13 Jawa Tengah Muh. Kasmadi muhkasmadi@yahoo.com Adnan Purwanto mc_pwt@yahoo.com Mabekni Yulianto
mabni_yulianto@yahoo.com.sg Mampuono mampumedia@yahoo.com Kardiyono ardiyono_smkn1btg@yahoo.com Nikmah Nurbaity baity1986@yahoo.com Wahyuddin wahcilik@yahoo.com
14 DIY Agus Sugiharto agussgh@yahoo.com Sugeng Andono sugeng_andono@yahoo.com Rohmadi Hidayat rohmadi_hdy@yahoo.com
15 Jawa Timur Anastasia Moertodjo anazmoer@yahoo.com Djoko Suwito djokopurwosari@yahoo.com Muhammad Andik Izzuddin andik32@gmail.com Mochammad Djunaidi Fajar diekfajar@gmail.com Vicktor Lukas
victor_saint@yahoo.com Slamet Siswanto Utomo siswanto1970@yahoo.com Dwi Susanto tanto_oee@yahoo.com
Muslikah
16 Bali I Gde Sukiawan sukiawan@yahoo.com I Nengah Suwarbawa suwarbawa_ngh@yahoo.com
17 NTB Munawar munawar_id@yahoo.com Olan sangilalang@gmail.com
18 NTT Willem Agustinus Kana willemkana2007@yahoo.co.id
19 Kalimantan Barat Karyono cakkaryo@yahoo.com
20 Kalimantan Tengah Mirue mirukoe@yahoo.co.id
21 Kalimantan Selatan Ripai Sutanto ripai68@yahoo.com
22 Kalimantan Timur Muslimin musculi@gmail.com
23 Sulawesi Utara Santri Jaya Malah santrijaya@yahoo.com
24 Sulawesi Barat Idham Sirunna idham_plp@yahoo.com
25 Sulawesi Tengah Badaruddin badar_br2001@yahoo.com
26 Sulawesi Selatan Ardiansyah adigugun2000@yahoo.com Muhammad Resha m_resha@yahoo.com
27 Sulawesi Tenggara Saharuddin sarcom007@gmail.com
28 Gorontalo Agus Husna agushusna@ymail.com
29 Maluku Slamet Riyadi jenggot_smk2amq1@yahoo.co.id
30 Maluku Utara Arifin Kude arifku2@yahoo.com
31 Papua Aries Dewobroto ariessentani@yahoo.com Tamam tamam_papua@yahoo.com
32 Papua Barat Meidi Mokoagouw ict_mkw08@yahoo.com
Khusus untuk DKI Jakarta, ditangani langsung oleh tim IT SEAMOLEC.

Demikian informasi umum mengenai SEA EduNet. Untuk informasi lebih detail silakan menghubungi Pendamping SEAMOLEC yang sudah ada di masing-masing propinsi. [Khalid Mustafa]

sumber http://www.alziqra.net