• About Author
  • Dharma
  • Materi Ajar
    • Algoritma dan Pemrograman
    • Boolean Algebra
    • Microprocessor and Arduino
    • Network Security
    • New Generation Network
    • Software-defined Network
  • Membangun Server dengan FreeBSD
  • Programming Sector
  • Sosialita
  • Survival Guide

kn-OWL-edge

~ knowledge is power and weapon

kn-OWL-edge

Monthly Archives: Juni 2011

SNMP dan MRTG di FreeBSD (Monitoring Trafik)

23 Kamis Jun 2011

Posted by bogi in FreeBSD

≈ Tinggalkan komentar

SNMP digunakan untuk mengambil beberapa data tentang system, seperti misalnya data IfInOctet (jumlah paket incoming ke Ethernet card) dan data IfOutOctet (jumlah paket outgoing ke Ethernet card) yg dipergunakan oleh MRTG untuk membuat traffic graph.

Untuk menginstall SNMP :
# cd /usr/ports/net-mgmt/net-snmp
# make install clean
……… <tunggu sampai selesai> ………

Tambahkan entry snmpd_enable=”YES” di /etc/rc.conf
# cat /etc/rc.conf | grep snmp
snmpd_enable=”YES”

Ada 2 file konfigurasi yg harus dibuat :

# cat /usr/local/share/snmp/snmpd.conf
rocommunity public
agentaddress udp:161
syslocation “Ruang Server Sisfo”
syscontact sisfo@imtelkom.ac.id
sysservices 76

# cat /usr/local/share/snmp/snmp.conf
defaultport 161
defversion 1
defcommunity public

Untuk testing SNMP, bisa dilakukan dgn snmpwalk :
# /usr/local/bin/snmpwalk 10.1.1.2

Untuk menjalankan SNMP, tinggal menjalankan command:
# /usr/local/etc/rc.d/snmpd start
Starting snmpd.

 

Instalasi MRTG (Multi Router Traffic Grapher)

MRTG digunakan untuk mengambil data IfInOctet dan IfOutOctet dari SNMP, menyimpannya secara internal, dan membuat grafik berdasarkan data tersebut yg menggambarkan real-time trafik.

Untuk menginstall MRTG :
# cd /usr/ports/net-mgmt/mrtg
# make install clean
……… <tunggu sampai selesai> ………

Tambahkan entry mrtg_daemon_enable=”YES” di /etc/rc.conf
# cat /etc/rc.conf | grep mrtg
mrtg_daemon_enable=”YES”

Selanjutnya edit file konfigurasi :
# cat /usr/local/etc/mrtg/mrtg.cfg
WorkDir: /data/web/mrtg
Options[_]: growright,bits
Refresh: 600
Interval: 10

Target[index]: 1:public@118.97.187.12
MaxBytes[index]: 1250000
Title[index]: : ASTINet 10 Mbps
PageTop[index]: <H1>Traffic Analysis for ASTINet 10 Mbps</H1>
<TABLE>
<TR><TD>System:</TD><TD>Public Internet Link</TD></TR>
<TR><TD>Maintainer:</TD><TD>Sisfo IM Telkom</TD></TR>
<TR><TD>Interface:</TD><TD>Fast Ethernet rl0</TD></TR>
<TR><TD>IP:</TD><TD>118.97.187.12</TD></TR>
<TR><TD>Max Speed:</TD>
<TD>10 Mbit/s</TD></TR>
</TABLE>

Jangan lupa untuk membuat folder “working directory” dimana semua file gambar trafik akan dibuat. Folder tersebut harus dapat di baca&tulis oleh user “mrtg” dan grup “www” :

# mkdir /data/web/mrtg
# chown mrtg:www /data/web/mrtg
# /usr/local/etc/rc.d/mrtg_daemon start
Starting mrtg_daemon.
Daemonizing MRTG …

[download document]
[back to FreeBSD page]

Name Server di FreeBSD

23 Kamis Jun 2011

Posted by bogi in FreeBSD

≈ Tinggalkan komentar

IP address merupakan identifikasi diri dari suatu entitas yang terhubung ke jaringan. IP address digunakan untuk tujuan mengakses informasi yang ada pada suatu server, seperti misalnya http://10.1.1.2, namun tentunya akan lebih representative dan mudah untuk diingat jika alamat aksesnya menjadi http://www.imtelkom.ac.id. Jadi user bisa mengakses server dengan IP address-nya (10.1.1.2), maupun dengan nama (www.imtelkom.ac.id).

Name server dibutuhkan untuk mengubah (me-resolusi) dari nama menjadi IP address tersebut, misalnya dari http://www.imtelkom.ac.id menjadi 10.1.1.2, dan sebaliknya (dari IP address menjadi nama).

Untuk membuat Name Server :

1. tambahkan entry named_enable = “YES” di /etc/rc.conf
# cat /etc/rc.conf | grep named
named_enable = “YES”

2. buat file /etc/namedb/named.conf yang berisi :
# cat /etc/namedb/named.conf
options {
directory “/etc/namedb”;
listen-on {10.1.1.2;};
pid-file “/var/run/named.pid”;
};

zone “imtelkom.ac.id” {
type master;
file “master/imtelkom.ac.id”;
};

zone “187.97.118.IN-ADDR.ARPA” {
type master;
file “master/187.97.118.rev”;
};

“type master” berarti data di file /etc/namedb/master/imtelkom.ac.id adalah data utama, dan “type slave” berarti data yg disimpan hanya copy dari master.

Zone “187.97.118.IN-ADDR.ARPA” berfungsi untuk reverse DNS (mengubah IP address menjadi nama) yg diperlukan dalam proses autentikasi SSH maupun transaksi email

3. buat file /etc/namedb/master/imtelkom.ac.id yang berisi :
$ORIGIN ac.id.
imtelkom 86400 IN SOA dns.imtelkom.ac.id. manager.dns.imtelkom.ac.id. (
2011040108   ; Serial
43200        ; Refresh
18000        ; Retry
8640000      ; Expire
86400)       ; Minimum TTL
86400   IN      NS      ns.imtelkom.ac.id.
86400   IN      A       118.97.187.12
86400   IN      MX  5       mail.imtelkom.ac.id.

$ORIGIN imtelkom.ac.id.
www     86400   IN      A       118.97.187.12
ns      86400   IN      A       118.97.187.12
mail    86400   IN      A       118.97.187.12
………

jika dibutuhkan, buat juga file /etc/namedb/master/1.1.10.rev untuk reverse DNS yang berisi :
$ORIGIN 1.10.in-addr.arpa.
203 86400 IN SOA dns.imtelkom.ac.id. manager.dns.imtelkom.ac.id. (
2011051501 10800 3600 604800 86400 )
86400   IN      NS      dns.imtelkom.ac.id.

$ORIGIN 1.1.10.IN-ADDR.ARPA.
1     86400   IN      PTR     h1net1.imtelkom.ac.id.
2     86400   IN      PTR     h2net1.imtelkom.ac.id.

4. set firewall untuk membuka UDP port 53 (query DNS) di /etc/rc.firewall :
# ipfw show | grep 53
00700   0    0 allow udp from any to 10.1.1.12 dst-port 53

5. restart komputer

[download document]
[back to FreeBSD page]

FTP Server di FreeBSD

23 Kamis Jun 2011

Posted by bogi in FreeBSD

≈ Tinggalkan komentar

FTP server digunakan sebagai standar layanan untuk mengupload data dan program ke server. Harus diperhatikan bahwa FTP bekerja di port 21 dan tidak melakukan enkripsi terhadap username dan password, sehingga cukup rentan dengan sniffing dimana ada seseorang yang menangkap paket2 data yang ditransaksikan antara client dan server, sehingga sniffer dapat mengetahui username dan password user.

FreeBSD menyediakan aplikasi superserver, yaitu inetd, yang dapat melayani semua kebutuhan koneksi dimana salah satu layanannya adalah FTP. Namun inetd cukup berat untuk dijalankan terutama jika hanya untuk melayani FTP. Oleh karenanya kita bisa menggunakan aplikasi layanan FTP independen yaitu ftpd (FTP Daemon).

Agar suatu server FreeBSD dapat melayani koneksi FTP :

1.  create file “/etc/ftpchroot” :
# cat /etc/ftpchroot
service
ukm

setting diatas akan membatasi semua user yg termasuk group “service” dan group “ukm” sehingga tidak bisa browsing ke folder selain home directory-nya

2.  jika FTP hanya akan diaktifkan sekali2, cukup jalankan dengan command

# /usr/libexec/ftpd –D4

dan untuk mematikannya jalankan :
# killall ftpd

3.  jika FTP harus selalu aktif, maka buat file berikut :
# cat /usr/local/etc/rc.d/ftp.sh
#!/bin/sh
case “$1” in
start)
[ -x /usr/libexec/ftpd ] && /usr/libexec/ftpd -D -4 -l -p /var/run/ftpd.pid > /dev/null && echo -n ‘ ftpd’
;;
stop)
[ -r /var/run/ftpd.pid ] && /usr/bin/kill `cat /var/run/ftpd.pid` > /dev/null && echo -n ‘ ftpd’
;;
*)
echo “Usage: `basename $0` {start|stop}” >&2
;;
esac
exit 0

4.  jangan lupa membuka firewall (allow tcp from any to me dst-port 21)

5.  jangan lupa membuka /etc/hosts.allow (ftpd : 10.1.0.0/255.255.0.0 : allow)

[download document]
[back to FreeBSD page]

Maintenance FreeBSD – Bandwidth Management

23 Kamis Jun 2011

Posted by bogi in FreeBSD

≈ Tinggalkan komentar

Kekurangan dari modul DUMMYNET di IPFW adalah tidak dapat dilakukannya link sharing, dimana misalnya suatu “pipa” tidak digunakan, maka link pada “pipa” tsb tidak dapat digunakan oleh yg lain. Untuk dapat melakukan ini, dapat digunakan Bandwidth Management System seperti ALTQ.

Untuk mengaktifkan ALTQ, kernel harus di-kompilasi ulang dengan cara :

# cd /usr/src/sys/i386/conf/
# cp GENERIC NEW_KERNEL

Selanjutnya edit file “NEW_KERNEL” dan tambahkan 7 baris berikut :

# cat NEW_KERNEL | grep ALTQ
options           ALTQ
options           ALTQ_CBQ
options           ALTQ_RED
options           ALTQ_RIO
options           ALTQ_HFSC
options           ALTQ_CDNR
options           ALTQ_PRIQ
# cd /usr/src
# make buildkernel KERNCONF=NEW_KERNEL
……<tunggu sampai selesai>……
# make installkernel KERNCONF=NEW_KERNEL
……<tunggu sampai selesai>……

“NEW_KERNEL” dapat diganti dgn nama lain, sesuai fungsi dari kernel yg baru. Aplikasi untuk mengatur ALTQ adalah PF (Paket Filter) yaitu interface firewall seperti IPFW namun dikembangkan di OpenBSD dan saat ini dapat digunakan di FreeBSD. Untuk mengaktifkan PF, tambahkan baris berikut di /etc/rc.conf

# cat /etc/rc.conf | grep pf
pf_enable=”YES”

Untuk dapat bekerja, PF membutuhkan file konfigurasi /etc/pf.conf

# cat /etc/pf.conf
ext_if = “rl0”
altq on $ext_if cbq bandwidth 10Mb queue { deflt, bms }
queue deflt bandwidth 10% cbq(default)
queue bms bandwidth 90% cbq(borrow red) { pimpinan , biasa }
queue pimpinan bandwidth 10% priority 1 cbq(borrow red)
queue biasa bandwidth 80% cbq(borrow red) { staf, mahasiswa }
queue staf bandwidth 40% priority 2 cbq(borrow red)
queue mahasiswa bandwidth 60% priority 3 cbq(borrow red)
block return in on $ext_if inet all queue rsets
pass in on $ext_if inet proto tcp from 10.14.1.0/24 to any port 8080 keep state queue pimpinan
pass in on $ext_if inet proto tcp from 10.14.2.0/24 to any port 8080 keep state queue staf
pass in on $ext_if inet proto tcp from 10.14.3.0/24 to any port 8080 keep state queue mahasiswa
pass out on $ext_if inet all keep state

[download document]
[back to FreeBSD page]

Maintenance FreeBSD – Firewall

23 Kamis Jun 2011

Posted by bogi in FreeBSD

≈ Tinggalkan komentar

FreeBSD menawarkan beberapa modul interface untuk firewall, namun yang sudah siap untuk dipakai (built in) adalah IPFW. IPFW tidak hanya sebagai interface untuk firewall, namun juga sebagai traffic shaper (pemotong trafik), packet scheduler, dan juga kernel NAT. Untuk mengaktifkan IPFW cukup dengan menambahkan baris berikut di /etc/rc.conf :

# cat /etc/rc.conf | grep firewall
firewall_enable = “YES”
firewall_type = “CLIENT”

dimana tipe firewall yang dipilih adalah “CLIENT” yang bersifat inclusive (akan menutup semua protokol dan port dan kemudian membuka beberapa protokol dan port seperlunya). Jika IPFW diaktifkan, maka FreeBSD akan me-load ruleset yg ada di /etc/rc.firewall. Setiap paket data yang datang dan yang keluar dari suatu interface (ethernet card) akan dicocokkan dengan setiap rule yang ada di ruleset mulai dari nomor rule terkecil sampai ditemukan rule yang sesuai (match).

Oleh karenanya, firewall harus didesain se-efisien mungkin sehingga jumlah rule yang diperlukan bisa minimum. Hal ini ditujukan untuk mengurangi waktu pemrosesan dan matching paket dengan rule firewall yang sesuai.

Untuk melihat ruleset yang telah di-load ke memory :

# ipfw show
………
00400     7840       466245 allow icmp from 10.1.0.0/16 to any
………

akan menampilkan semua rule ipfw termasuk counter-nya, yaitu berapa jumlah paket incoming dalam satuan paket (pada contoh diatas adalah 7840) dan dalam satuan byte (pada contoh diatas adalah 466245) yg sesuai dengan rule tersebut

Pengubahan ruleset dapat dilakukan dengan command :
ipfw [add/delete] [rule_number] [allow/deny] [all/tcp/udp] from [source_ip]/[netmask] to [destination_ip]/[netmask] dst-port [port_number] [setup] [keep-state]

Stateful Firewall adalah mekanisme rule dinamis, dimana jika ada suatu incoming paket yg sesuai dengan suatu rule (dan ada statement “keep-state”), yaitu sesuai dengan informasi 5-tuple (IP Source, IP Destination, Port Source, Port Destination, Transport Protocol) maka informasi paket tersebut akan direkam sehingga paket jawaban-nya kelak bisa dikenali dan langsung diterima tanpa perlu pemrosesan di table rule firewall.

Stateful Firewall sangat diperlukan untuk proxy server, dimana squid akan menerima paket dari user (client) via 1 port yang terdefinisi (default pada port 3128) namun paket jawaban dari server tujuan kembali melalui port yang berbeda-beda (random).

Untuk menambah stateful rule (setelah deklarasi “check state”) :
# ipfw add 1000 allow tcp from any to me dst-port 3128 setup keep-state

akan menambah rule di nomor 1000 yg meng-allow incoming TCP dari user/client untuk mengakses proxy squid di port 3128 dengan menggunakan stateful (keep-state) yg berarti paket jawaban (reply) dari web server yang diakses oleh user/client akan otomatis di-allow (tidak perlu diset rule-nya). Parameter “setup” berarti paket outgoing tersebut akan di-allow jika sudah memenuhi syarat 3-steps handshaking (SYN – SYN – ACK).

IPFW juga memiliki fitur DUMMYNET untuk keperluan traffic shaper (mengatur trafik). Untuk dapat menggunakan fitur ini, modul DUMMYNET harus di-load ke memory dengan cara :

# kldload dummynet.ko

Setelah DUMMYNET aktif, kita bisa membuat “pipa” untuk setiap kategori trafik yg ingin kita atur :

# ipfw pipe 1 config bw 768Kbit/s queue 5KBytes
# ipfw pipe 2 config bw 768Kbit/s queue 5KBytes
# ipfw queue 1 config pipe 1 mask src-ip 0x000007ff
# ipfw queue 2 config pipe 2 mask dst-ip 0x000007ff
# ipfw add 1000 queue 1 all from 172.16.8.0/21 to 172.16.1.1
# ipfw add 1100 queue 2 all from 172.16.1.1 to 172.16.8.0/21

akan membuat 2 pipa dengan bandwidth masing-masing 768Kbit/s untuk membatasi trafik dari IP VPN milik mahasiswa 172.16.8.0/21 ke 172.16.1.1 (proxy) agar trafik dari dosen/staf memiliki jaminan bandwidth 256Kbit/s (dengan asumsi total bandwidth adalah 1 Mbit/s).

[download document]
[back to FreeBSD page]

Maintenance FreeBSD – Basic

18 Sabtu Jun 2011

Posted by bogi in FreeBSD

≈ Tinggalkan komentar

Ada beberapa aplikasi bawaan FreeBSD yang akan sering digunakan untuk melakukan operation and maintenance system :

1. mengecek status suatu aplikasi :
ps : process status
kill : terminate process

# ps ax | grep http
473       ??   Ss     0:06.44 /usr/local/sbin/httpd -DSSL
akan menampilkan status aplikasi HTTP, apakah aktif atau tidak. Jika aktif akan ditampilkan “process ID”-nya (473) yang bisa dimatikan dengan “kill 473”

# kill –HUP 123
akan me-restart aplikasi dgn process ID = 123

2. system resource maintenance :
top : melihat utilitas cpu dan memory
sysctl : melihat (dan mengubah) utilitas kernel

# top –bt
top akan menampilkan setiap aplikasi yg aktif dan tingkat konsumsinya terhadap prosesor dan memory

# sysctl -a | grep file
kern.maxfiles: 4096
kern.openfiles: 2293
sysctl akan menampilkan resource yg tersedia di system

3. file maintenance :
copy : membuat duplikat file dalam 1 server
secure copy : membuat duplikat file antar server
move : memindahkan file dalam 1 server
remove : menghapus file dalam 1 server
change owner/mode : mengubah kepemilikan dan akses file/folder

# scp manager@www:/home/myfile.dat /root/yourfile.dat
akan menduplikasi file “/home/myfile.dat” dari server www menjadi “/root/yourfile.dat” di localhost

4. disk maintenance :
du : disk usage (melihat pemakaian/kapasitas dari suatu folder)
df : disk free (melihat pemakaian/kapasitas dari suatu mountpoint)
fsck : file system check

5. mencari file atau folder :
locate : mencari suatu file/folder di dalam list locate
find : mencari suatu file/folder secara langsung

6. traffic maintenance :
netstat : melihat status dan statistik network
trafshow : melihat statistik trafik
sockstat : melihat socket yang aktif

# netstat –r
untuk melihat table routing

# netstat –m
untuk melihat statistic penggunaan memory buffer untuk keperluan network

# netstat –i
untuk melihat statistic paket di setiap interface (dan setiap protocol)

7. cron tabel : crontab
cron adalah aplikasi scheduler yg akan menjalankan suatu aplikasi pada waktu tertentu yg telah dispesifikasikan

8. automatic scp :
kekurangan dari scp (secure copy) adalah user harus memasukkan password account dari remote server. Agar password tidak perlu di-input setiap kali scp dijalankan (terutama jika scp akan dijalankan via crontab), ada 3 langkah yg harus dilakukan.
Untuk automatic SCP dari server A ke server B :
a.    login ke server A sebagai user biasa (bukan root) dan jalankan :
$ ssh-keygen -b 512 -t dsa
aplikasi ssh-keygen akan membuat 2 file : private key (dengan nama “id_dsa”) dan public key (dengan nama “id_dsa.pub”) sepanjang 512 byte dengan enkripsi DSA di folder /home/user/.ssh Tips: jangan mengisi passphrase
b.    login ke server tujuan sebagai user biasa (bukan root) dan buat file /home/user/.ssh/authorized_keys dengan mode 600
c.    copy isi dari file “id_dsa.pub” (pastikan hanya ada tepat 1 baris) ke file “authorized_keys”

9. manajemen user :
adduser : menambah user
rmuser : menghapus user

–    Full name akan digunakan saat user mengirim email via shell
–    user pada mail server tidak perlu menggunakan Shell (pilih “nologin”), dan juga tidak perlu memiliki home directory (pilih /nonexistent)
Untuk kasus dimana user yg ditambahkan sangat banyak (bulk), seperti pada pembuatan mail server berbasis NIX account, admin dapat menggunakan file yg berisi daftar user (jumlah entry dalam file tsb harus tepat 10 field per row dimana setiap field dipisahkan dgn tanda ‘:’) :
# cat staf.dat
user1::::::nama_lengkap:::password1
user2::::::nama_lengkap:::password2
# adduser -D -f pegawai.txt -g staf -d /nonexistent -s nologin

10.    man : melihat manual aplikasi
contoh : man squid

11.    melihat dan mengedit file text
# cat fileteks.txt    –> melihat semua isi file “fileteks.txt”
# head fileteks.txt –> melihat bagian awal dari file “fileteks.txt”
# tail fileteks.txt    –> melihat bagian akhir dari file “fileteks.txt”

jika file text tersebut selalu bertambah (misal: log-nya apache, log-nya sendmail, dan log-nya squid), kita bisa melihat perubahannya secara real time dengan :
# tail –f /var/log/maillog –> melihat transaksi email secara real time

Sementara untuk mengedit suatu file text, dapat menggunakan berbagai aplikasi bawaan dari FreeBSD seperti “vi” atau “edit”. Namun tersedia banyak pilihan text editor sesuai selera user yang bisa diinstall via port di /usr/ports/editors/.

12.    mounting file system
# mount –t [type_file_system] /dev/[nama_device] /mnt
contoh :
# mount –t msdos /dev/ad0 /mnt –> mounting USB flash disk
# mount –t cd9660 /dev/acd0 /cdrom –> mounting CDROM

13.    setting proxy
jika server berada di belakang proxy dan diperlukan untuk melakukan download dari internet, bisa digunakan aplikasi wget (harus diinstall via port atau 3rd party application) atau cukup men-set proxy agar query HTTP dikirim ke proxy server :
# setenv http_proxy http://10.14.203.4:8080

[download document]
[back to FreeBSD page]

Setting FreeBSD 8 sebagai Server

18 Sabtu Jun 2011

Posted by bogi in FreeBSD

≈ Tinggalkan komentar

Ada beberapa setting standar yang harus dilakukan pada system FreeBSD yang telah ter-install, terutama sebagai server yang akan melayani berbagai service dan protocol karena tersambung dengan jaringan. Seperti halnya suatu komputer yang terhubung dengan jaringan, beberapa informasi akan diperlukan server untuk bisa bergabung dengan suatu jaringan :

  1. IP Address, sebagai identifikasi diri di jaringan
  2. netmask, sebagai pembatas (melokalisasi jaringan)
  3. Gateway, sebagai pintu keluar ke jaringan lain
  4. DNS, sebagai tujuan bertanya untuk resolusi nama

1. Setting DNS (Domain Name Service) server, ada pada file /etc/resolv.conf

# cat /etc/resolv.conf
search imtelkom.ac.id
nameserver 10.1.1.12

dengan setting diatas, FreeBSD atau suatu aplikasi akan dapat menanyakan ke server dengan IP “10.1.1.12” setiap kali membutuhkan resolusi nama (mengubah nama menjadi IP address atau sebaliknya)

2. Setting hostname, IP address, gateway, dan aktivasi firewall, ada pada file /etc/rc.conf

# cat /etc/rc.conf
hostname = “www.imtelkom.ac.id”
ifconfig_em0 = “inet 10.1.1.2 netmask 0xfffffff0” –> 10.1.1.2/28
defaultrouter = “10.1.1.1” –> gateway
firewall_enable = “YES”
firewall_type = “CLIENT”

3. Jika aktivasi firewall ada di /etc/rc.conf, isi setting firewall ada pada file /etc/rc.firewall

Firewall dengan type CLIENT diset secara default untuk menutup semua protokol (TCP, UDP, GRE) dan port (deny all), untuk kemudian akan dibuka seperlunya. Protokol dan port yg perlu dibuka tergantung dari peruntukan server tersebut :

  • FTP server : TCP port 21
  • mail server : TCP port 25 untuk SMTP (kirim email) dan TCP port 110 untuk POP3 (download email)
  • DNS server : UDP port 53
  • web server : TCP port 80 untuk HTTP dan TCP port 443 untuk HTTPS (web dengan SSL, Secure Socket Layer)
  • proxy server : TCP port 8080

(TCP = Transmission Control Protocol, UDP = User Datagram Protocol, IP = Internet Protocol, GRE = Generic Routing Encapsulation)

4. Setting host yang boleh masuk ke server, ada pada file /etc/hosts.allow

# cat /etc/hosts.allow
sshd : 10.1.1.0/255.255.255.0 : allow
sshd : ALL : deny
mysqld : 10.1.1.0/255.255.255.0 : allow
mysqld : ALL : deny

entry pertama akan memperbolehkan semua komputer dari subnet 10.1.1.0/24 untuk menggunakan aplikasi SSH dan diluar itu akan ditolak (entry kedua).
entry ketiga akan memperbolehkan semua komputer dari subnet 10.1.1.0/24 untuk menggunakan aplikasi MySQL dan diluar itu akan ditolak (entry keempat).

5. Tuning variable system untuk meningkatkan performansi system ada pada file /boot/loader.conf dan file /etc/sysctl.conf

# cat /boot/loader.conf
dummynet.ko_load=”YES”   # load modul DUMMYNET untuk trafic shaper
kern.maxfiles=”4096″            # maximum file yang bisa dibuka
kern.maxusers=”64″              # maximum static tables (per user)
kern.ipc.maxsockets=”4096″      # maximum sockets yg tersedia
kern.ipc.nmbclusters=”32768″   # maximum Network Memory Buffer Clusters
kern.maxproc=”8192″           # maximum processes

# cat  /etc/sysctl.conf
kern.ipc.somaxconn=4096   # maximum socket untuk koneksi

[download document]
[back to FreeBSD page]

 

Ada beberapa setting standar yang harus dilakukan pada system FreeBSD yang telah ter-install, terutama sebagai server yang akan melayani berbagai service dan protocol karena tersambung dengan jaringan. Seperti halnya suatu komputer yang terhubung dengan jaringan, beberapa informasi akan diperlukan server untuk bisa bergabung dengan suatu jaringan :

1. IP Address, sebagai identifikasi diri di jaringan

2. netmask, sebagai pembatas (melokalisasi jaringan)

3. Gateway, sebagai pintu keluar ke jaringan lain

4. DNS, sebagai tujuan bertanya untuk resolusi nama

1. setting DNS (Domain Name Service) server, ada pada file /etc/resolv.conf

# cat /etc/resolv.conf

search imtelkom.ac.id

nameserver 10.1.1.12

dengan setting diatas, FreeBSD atau suatu aplikasi akan dapat menanyakan ke server dengan IP “10.1.1.12” setiap kali membutuhkan resolusi nama (mengubah nama menjadi IP address atau sebaliknya)

Tips:

– Apache dan Squid akan menanyakan validitas nama-nya ke DNS server, jika gagal melakukan query ke DNS server maka aplikasi akan di-shutdown. Jadi pastikan name server sudah aktif sebelum server lain di-reboot

 

– untuk mencoba koneksi DNS bisa dilakukan dengan :

# host mail à query ke DNS server sesuai isi /etc/resolv.conf

mail.imtelkom.ac.id has address 10.1.1.2

# host mail.imtelkom.ac.id 10.1.1.12 à query ke DNS server 10.1.1.12

mail.imtelkom.ac.id has address 10.1.1.2

– IM Telkom memiliki 2 DNS system, 1 untuk di-query dari intranet dan 1 lagi untuk di-query dari internet. Hal ini ditujukan untuk memisahkan server mana yang bisa diakses dari internet dan server mana yang hanya bisa diakses dari intranet, dg tujuan utama adalah security

# host imtelkom.ac.id à query domain imtelkom.ac.id dari intranet

imtelkom.ac.id has address 10.1.1.2

imtelkom.ac.id mail is handled by 5 mail.imtelkom.ac.id.

# host imtelkom.ac.id 10.1.1.12 à query ke DNS server 10.1.1.12

Using domain server:

Name: 10.1.1.12

Address: 10.1.1.12#53 à DNS intranet

Aliases:

imtelkom.ac.id has address 10.1.1.2

imtelkom.ac.id mail is handled by 5 mail.imtelkom.ac.id.

# host imtelkom.ac.id 10.1.1.2 à query ke DNS server 10.1.1.2

Using domain server:

Name: 10.1.1.2

Address: 10.1.1.2#53 à DNS internet

Aliases:

imtelkom.ac.id has address 118.97.187.12

imtelkom.ac.id mail is handled by 5 mail.imtelkom.ac.id.

2. setting hostname, IP address, gateway, dan aktivasi firewall, ada pada file /etc/rc.conf

# cat /etc/rc.conf

hostname = “www.imtelkom.ac.id”

ifconfig_em0 = “inet 10.1.1.2 netmask 0xfffffff0” à 10.1.1.2/28

defaultrouter = “10.1.1.1” à gateway

firewall_enable = “YES”

firewall_type = “CLIENT”

Tips:

– kode “em0” disesuaikan dengan hasil deteksi sysInstall (instalasi step 16)

– untuk memberi IP Address lain (pada subnet yg sama) pada interface (Ethernet Card) yg sama, file /etc/rc.conf akan menjadi :

ifconfig_em0_alias0 = “inet 10.1.1.12 netmask 0xffffffff”
ifconfig_em0_alias1 = “inet 10.1.1.14 netmask 0xffffffff”

untuk eksekusi langsung pada prompt (konfigurasi akan hilang jika reboot):

ifconfig em0 alias 10.1.1.12 netmask 0xffffffff
ifconfig em0 –alias 10.1.1.12 netmask 0xffffffff (untuk menghapus)

– untuk memberi IP lain (pada subnet yg beda) pada interface yg sama :

cloned_interfaces = “vlan0”
ifconfig_vlan0 =

“inet 10.1.2.2 netmask 0xffffff00 vlan 205 vlandev em0”

– defaultrouter adalah gateway untuk IP yg bukan alias dan bukan cloned, untuk mengeset gateway untuk subnet lain bisa dilakukan dengan cara:

static_routes = “intranet”
route_intranet = “10.1.2.0 10.1.2.1 255.255.255.0”

(yang berarti: untuk mengakses subnet 10.1.2.0/24 arahkan ke 10.1.2.1)

– untuk menambah routing :

route add 10.1.2.0 10.1.2.254 255.255.255.0

(yang berarti: untuk mengakses subnet 10.1.2.0/24 arahkan ke 10.1.2.254)

– untuk melihat table routing, gunakan :

netstat -r
Routing tables

Internet:

Destination Gateway Flags Refs Use Netif Expire

default 10.1.1.1 UGS 21919 44178604 em0

10.1.1.0 link#1 U 98 49635966 em0

10.1.1.2 link#1 UHS 0 8404431 lo0

10.1.1.12 link#1 UHS 0 8 lo0

10.1.10.32/29 10.16.10.81 UGS 0 0 em1

10.16.10.80/29 link#2 U 0 0 em1

10.16.10.84 link#2 UHS 0 0 lo0

localhost link#3 UH 0 1586570 lo0

3. jika aktivasi firewall ada di /etc/rc.conf, isi setting firewall ada pada file /etc/rc.firewall

Firewall dengan type CLIENT diset secara default untuk menutup semua protokol (TCP, UDP, GRE) dan port (deny all), untuk kemudian akan dibuka seperlunya. Protokol dan port yg perlu dibuka tergantung dari peruntukan server tersebut :

– FTP server : TCP port 21

– mail server : TCP port 25 untuk SMTP (kirim email) dan TCP port 110 untuk POP3 (download email)

– DNS server : UDP port 53

– web server : TCP port 80 untuk HTTP dan TCP port 443 untuk HTTPS (web browsing dengan SSL, Secure Socket Layer)

– news server : TCP port 119 untuk NNTP (forum diskusi)

– VPN server : TCP port 1723 untuk autentikasi VPN dan GRE untuk enkripsi

– proxy server : TCP port 8080

(TCP = Transmission Control Protocol, UDP = User Datagram Protocol, IP = Internet Protocol, GRE = Generic Routing Encapsulation)

# cat /etc/rc.firewall

………

[Cc][Ll][Ii][Ee][Nn][Tt])

net=”10.1.1.0″

mask=”255.255.255.240″

ip=”10.1.1.2″

setup_loopback

………

${fwcmd} add pass gre from 10.1.0.0/16 to ${ip} à allow incoming GRE

${fwcmd} add pass gre from ${ip} to 10.1.0.0/16 à allow outgoing GRE

${fwcmd} add pass all from ${ip} to any à allow anything outgoing

${fwcmd} add pass tcp from 10.1.0.0/16 to ${ip} 21 à allow FTP

${fwcmd} add pass tcp from 10.1.0.0/16 to ${ip} 25 à allow SMTP

${fwcmd} add pass udp from 10.1.0.0/16 to ${ip} 53 à allow DNS

${fwcmd} add pass tcp from 10.1.0.0/16 to ${ip} 80 à allow HTTP

${fwcmd} add pass tcp from 10.1.0.0/16 to ${ip} 110 à allow POP3

${fwcmd} add pass tcp from 10.1.0.0/16 to ${ip} 119 à allow NNTP

${fwcmd} add pass tcp from 10.1.0.0/16 to ${ip} 443 à allow HTTPS

${fwcmd} add pass tcp from 10.1.0.0/16 to ${ip} 1723 à allow VPN

${fwcmd} add pass tcp from 10.1.0.0/16 to ${ip} 8080 à allow proxy

${fwcmd} allow ip from ${ip} to ${net}:${netmask}

à rule untuk meng-allow semua paket ke subnet 10.1.1.0/24

………

;; à deny everything (last rule)

Tips :

– IPFW dipilih karena merupakan default firewall dari FreeBSD

– urutan rule sangat berpengaruh karena IPFW akan membandingkan setiap paket data dengan rule2 yg ada secara berurutan sesuai dengan nomor rule dari nomor terkecil sampai nomor terbesar (nomor terbesar adalah “deny all”)

– semakin sedikit jumlah rule yang digunakan maka semakin cepat pemrosesan paket oleh IPFW, dan semakin generic/simple rule yang digunakan maka semakin cepat pula pemrosesan paket oleh IPFW

– dynamic rules (semua rule setelah “check-state”) akan mempercepat pengecekan suatu paket data terhadap rule2 yg ada, namun rentan terhadap flooding. Jadi hanya paket2 outgoing (keluar dari server) yg sebaiknya dimasukkan ke dynamic rule seperti contoh di bawah ini :

 

${fwcmd} add check state

${fwcmd} allow tcp from any to {ip} keep-state


selain mempercepat pengecekan data, kelebihan dari dynamic rule adalah rule untuk paket data arah sebaliknya tidak perlu lagi dibuat. Pada contoh diatas rule untuk arah incoming tidak perlu dibuat.

4. setting host yang boleh masuk ke server, ada pada file /etc/hosts.allow

# cat /etc/hosts.allow

sshd : 10.1.1.0/255.255.255.0 : allow

sshd : ALL : deny

mysqld : 10.1.1.0/255.255.255.0 : allow

mysqld : ALL : deny

entry pertama akan memperbolehkan semua komputer dari subnet 10.1.1.0/24 untuk menggunakan aplikasi SSH dan diluar itu akan ditolak (entry kedua).

entry ketiga akan memperbolehkan semua komputer dari subnet 10.1.1.0/24 untuk menggunakan aplikasi MySQL dan diluar itu akan ditolak (entry keempat).

5. tuning variable system pada file /boot/loader.conf dan file /etc/sysctl.conf

# cat /boot/loader.conf

dummynet.ko_load=”YES” # load modul DUMMYNET untuk trafic shaper

kern.maxfiles=”4096″ # maximum file yang bisa dibuka

kern.maxusers=”64″ # maximum static tables (per user)

kern.ipc.maxsockets=”4096″ # maximum sockets yg tersedia

kern.ipc.nmbclusters=”32768″ # maximum Network Memory Buffer Clusters

kern.maxproc=”8192″ # maximum processes

# cat /etc/sysctl.conf

kern.ipc.somaxconn=4096 # maximum socket untuk koneksi

Instalasi FreeBSD 8 sebagai Server

17 Jumat Jun 2011

Posted by bogi in FreeBSD

≈ Tinggalkan komentar

Instalasi FreeBSD 8 cukup sederhana, dan akan dijelaskan dalam 17 tahap :

  1. download file ISO FreeBSD8-disc1 yang sesuai dengan prosesor server anda (amd64, i386, ia64, pc98, powerpc, sparc64) di http://www.freebsd.org/where.html dan burn file ISO tersebut ke CD
  2. masukkan bootable CD FreeBSD8-disc1 ke CDROM dan nyalakan komputer. Pastikan komputer boot up dari CDROM dengan men-set ROMBIOS. Bootstrap loader (aplikasi installer) akan mendeteksi peripheral yang ada. Selanjutnya, jika tidak ada kendala dengan mandatory peripheral, bootstrap loader akan menampilkan menu utama, disini kita memilih 1 (atau langsung Enter)
  3. pada dialog yg muncul, pilih 102 (Indonesia) untuk “Country Selection” dan kemudian pilih USA ISO untuk “System Console Keymap”
  4. setelah semua peripheral terdeteksi, bootstrap loader akan menyerahkan instalasi FreeBSD pada aplikasi sysInstall. Pada “sysinstall Main Menu” ini pilih ‘Custom : Begin a custom installation’
  5. pada menu “Choose Custom Installation Options”, pilih ‘Partition : Allocate disk space for FreeBSD’ untuk mempersiapkan bagian hard disk yang akan digunakan untuk instalasi FreeBSD
    Jika komputer memiliki lebih dari 1 HardDisk, sysInstall akan menanyakan pada HardDisk mana akan di-install FreeBSD
    Selanjutnya akan muncul window berwarna hitam dengan tulisan putih. Window ini adalah utility “FDISK Partition Editor”. Dengan menggunakan utility ini, disarankan untuk membuat 1 potongan (slice) saja dengan memilih ‘A = Use Entire Disk’ karena hanya FreeBSD yg akan diinstall
    Jika sudah selesai, pilih ‘Q’ (Finish) untuk keluar dari utility “FDISK Partition Editor” dan kembali ke window “Choose Custom Installation Options”
  6. sebelum kembali ke window “Choose Custom Installation Options”, sysInstall akan menanyakan apakah akan meng-install Boot Manager. Disini pilih ‘no boot manager’ karena hanya FreeBSD yg akan diinstall
  7. selanjutnya pada window “Choose Custom Installation Options” pilih ‘Partition’ untuk mempartisi HardDisk menggunakan utility “FreeBSD Disklabel Editor”, dan ketik ‘C’ untuk membuat (create) partisi secara berurutan :
    /           : dgn ukuran 8GB
    swap    : dgn ukuran 8GB
    /usr     : dgn ukuran 8GB 

    selanjutnya folder yg dibuat harus disesuaikan dengan peruntukan server :
    proxy server        : /webcache    : dgn ukuran sebesar mungkin
    web server           : /data/web    : dgn ukuran sebesar mungkin
    database server   : /data/mysql    : dgn ukuran sebesar mungkin
    mail server           : /var/mail    : dgn ukuran sebesar mungkin

    dan terakhir jangan lupa membuat folder untuk backup dan menyimpan log
    /data/log    : dengan ukuran 8GB
    /backup      : gunakan sisa space Hard Disk yg ada (minimal 2GB)

    perlu diingat bahwa partisi yg pertama kali dibuat haruslah partisi yg paling sering diakses karena partisi yg dibuat pertama kali akan berada pada lokasi silinder terjauh dari pusat cakram disk yg memiliki kecepatan akses paling tinggi.

  8. selanjutnya pada window “Choose Custom Installation Options” pilih ‘Distribution’ dan pilih nomor 4: Developer untuk meng-install FreeBSD secara komplit tapi tanpa GUI (Graphical User Interface). Pilihan Developer dibutuhkan jika kita perlu melakukan rekonfigurasi kernel agar men-support beberapa modul tambahan seperti Bandwidth Management ALTQ. Jika tidak akan melakukan rekonfigurasi kernel, sebaiknya cukup memilih nomor 8: User, karena semakin kecil dan simple kernel yg digunakan, maka performansi system juga semakin baik (stabil dan responsif)
  9. selanjutnya pada window “Choose Custom Installation Options” pilih ‘Media’ dan pilih ‘CD/DVD’ untuk menginstall dari CDROM
  10. terakhir pada window “Choose Custom Installation Options” pilih ‘Commit’ untuk memulai proses instalasi FreeBSD dan tunggu sampai proses selesai
  11. setelah instalasi selesai dilakukan, sysInstall akan menanyakan ‘Change any last options ?’. Pilih ‘No’
  12. selanjutnya pada “sysInstall Main Menu” pilih ‘Configure’ untuk melakukan beberapa setting sederhana
  13. pada window “FreeBSD Configuration Menu” pertama-tama pilih ‘Root Password’ dan masukkan password root sebanyak 2x
  14. kemudian pilih ‘User Management’ untuk membuat user biasa (non superuser)
  15. dilanjutkan dengan melakukan setting Time Zone, pilih Asia – Indonesia – Java & Sumatra – WIT (Yes)
  16. selanjutnya pilih ‘Networking’ dan pilih ‘Interfaces’ untuk melihat Ethernet card yg terdeteksi oleh bootstrap loader. Catat kode Ethernet Card (fxp0, rl0, bge0)
  17. restart computer dengan mengetik “reboot” dan menekan tombol Enter

Selanjutnya anda tinggal melakukan setting untuk server 🙂

[download document]
[back to FreeBSD page]

Mengapa menggunakan OpenSolaris?

17 Jumat Jun 2011

Posted by bogi in OSS

≈ Tinggalkan komentar

Pertama kalinya tertarik dgn OpenSolaris karena nuansa warnanya yg biru kehijauan, warna favorit saya 😀 dan selain itu jg krn ini produk dari Solaris yg sudah sangat terkenal untuk digunakan di server. Saat ini OpenSolaris masih berada pada versi 2009.06 yg berarti di-release pada bulan 06 (Juni) tahun 2009, sudah 2 tahun yg lalu.

Instalasi sangat mudah dilakukan, OpenSolaris dapat mengenali semua perangkat keras yg ada di PC Compaq 2230 dan netbook HP Mininote 110.

Platform berjalan sangat stabil dan responsif, tidak pernah mendapatkan system crash maupun gagal bootup. Hanya ada 1 hal yg sedikit mengganggu, yaitu setiap kali GUI dari OpenSolaris dijalankan, OpenSolaris mengecek kembali kemampuan grafis perangkat sehingga terjadi beberapa kali flicker.

Instalasi aplikasi beda lagi, perlu effort khusus untuk mencari installer, mencari keterangan cara instalasi, melakukan instalasi, dan mencari diskusi yg tepat jika instalasi gagal 😀

Rupanya belum banyak yg menggunakan OpenSolaris. Namun ini memberikan beberapa keuntungan, salah satunya yaitu semua aplikasi berada dalam format source code (open source .tar.gz), sehingga instalasi dilakukan dengan mode Compile. Read more…

Sejauh ini aplikasi yg saya gunakan hanya OpenOffice yg berjalan dgn sempurna (mungkin krn distributor OpenSolaris dan OpenOffice adalah sama, yaitu Sun :D) dan juga DosBox untuk bermain game2 lawas jaman Microsoft DOS dan juga beberapa aplikasi simulator lawas spt Spice dan Magic.

Sayangnya OpenSolaris belum support wireless authentication yg menggunakan WPA2, dimana kantor lama saya mewajibkan penggunaan WPA2. Untunglah di kantor baru lebih flexibel, sehingga tidak perlu menggunakan WPA2 saya bisa konek ke jaringan.

Overall : Recommended!

IT Governance

16 Kamis Jun 2011

Posted by bogi in IT audit

≈ Tinggalkan komentar

Control Objective
bagi orang awam spt kita, kontrol berarti aturan yg pada umumnya memberikan batasan2 untuk mencapai suatu tujuan tertentu.

Definisi ini sudah sangat mendekati dg definisi di dunia audit, dimana definisi control lebih diperluas tidak hanya semata2 adalah aturan. Control disini mencakup aturan, prosedur, praktek, dan juga struktur organisasi yg didesain untuk menyediakan jaminan pencapaian tujuan bisnis, sekaligus juga hal2 yg tidak diinginkan dapat dicegah, dideteksi, dan dikoreksi.

IT Control Objective
suatu statement yg menjelaskan tujuan yg ingin dicapai dari implementasi control di suatu aktivitas IT.

IT Governance
suatu struktur relasi dan proses untuk mengarahkan dan mengontrol perusahaan untuk mencapai tujuan perusahaan (IT Control Objective) dengan cara menyeimbangkan antara resiko dan benefit.

← Older posts

Berlangganan

  • Entries (RSS)
  • Comments (RSS)

Arsip

  • Januari 2023
  • Februari 2022
  • Juli 2021
  • Mei 2021
  • Maret 2021
  • Januari 2021
  • Desember 2020
  • Juni 2020
  • April 2020
  • Februari 2020
  • Oktober 2019
  • Maret 2019
  • Februari 2019
  • Januari 2019
  • November 2018
  • Oktober 2018
  • Agustus 2018
  • Juni 2018
  • Maret 2018
  • Februari 2018
  • Desember 2017
  • November 2017
  • Oktober 2017
  • September 2017
  • Agustus 2017
  • Juli 2017
  • Juni 2017
  • Mei 2017
  • April 2017
  • Maret 2017
  • Februari 2017
  • Januari 2017
  • Desember 2016
  • November 2016
  • Oktober 2016
  • September 2016
  • Agustus 2016
  • Mei 2016
  • April 2016
  • Januari 2016
  • Desember 2015
  • November 2015
  • November 2014
  • Oktober 2014
  • September 2014
  • Agustus 2014
  • Juni 2013
  • Mei 2013
  • April 2013
  • Februari 2013
  • Januari 2013
  • November 2012
  • Maret 2012
  • November 2011
  • Oktober 2011
  • Agustus 2011
  • Juli 2011
  • Juni 2011

Kategori

  • Dharma
  • Materi Ajar
    • Artificial Intelligence
    • IT audit
    • microprocessor
    • Multimedia System
  • Seputar IT
    • FreeBSD
    • OSS
  • sosialita
  • Teknologi
  • Uncategorized

Meta

  • Daftar
  • Masuk

Blog di WordPress.com.

  • Ikuti Mengikuti
    • kn-OWL-edge
    • Bergabunglah dengan 68 pengikut lainnya
    • Sudah punya akun WordPress.com? Login sekarang.
    • kn-OWL-edge
    • Sesuaikan
    • Ikuti Mengikuti
    • Daftar
    • Masuk
    • Laporkan isi ini
    • Lihat situs dalam Pembaca
    • Kelola langganan
    • Ciutkan bilah ini
 

Memuat Komentar...