Archive for the 'Networking' Category

OpenIDS, Snort + BASE + MySQL on OpenBSD

Hi,

Kalo mungkin malas melakukan instalasi/kompilasi snort dkk di mesin Unix, ada solusi singkat dan cukup meriah.

Cukup install OpenIDS di mesin Anda, Aplikasi ini berjalan di atas OpenBSD, jadi instalasi yang dilakukan sama persis ketika kita menginstall OpenBSD.

Paket yang akan terinstall ketika Anda menginstall OpenIDS antara lain :

  • OpenBSD sbg OS platform nya
  • Snort
  • MySQL
  • BASE
  • SnortALog
  • Oinkcode
  • dll

Ok, bagi yg tertarik, silakan baca2 dulu di  -->

Apache+PHP Di TSL/Trustix

Buat yg udah pada master, minta sedikit pencerahannya..
Iseng2 install Trustix, pingin nyobain distro yang konon paling ’secure’ di keluarga Linu* ini.
Instalasi lancar, gak lupa di add juga Apache+PHP waktu instalasi.
Masalah mulai muncul waktu pingin jalanin Apache+PHP.. Ada beberapa perbedaan dengan Linux pada umumnya Bos..

~ Document root default ada di /home/httpd/html/, jadi jangan coba2 mencari nya di /var, karena memang tidak ada disana. hehehe
~ Secara default Apache di TSL tidak mengijinkan penulisan sintax PHP dengan <? saja, tapi harus komplit.. <?php.

Jadi seperti ini:

# Pertama, pastikan modul php telah ter-load di httpd konfig nya. Cari di /etc/httpd/conf.d/httpd-php.conf. Contohnya sbb:

——————————————————–
### The follwoing is needed to enable PHP5 support
LoadModule php5_module /usr/lib/apache/libphp5.so
AddType application/x-httpd-php .php .php4 .php5 .inc
AddType application/x-httpd-php-source .phps

——————————————————–

# kedua, buat skrip sederhana di doc root nya, bisa dengan phpinfo() saja. (jangan lupa dengan diawali dengan <?php)
# jalankan Apache (/etc/init.d/httpd start) lalu periksa di browser Anda, Belum berhasil?? silahkan periksa log apache nya dan paste-kan hasilnya di comment :D
Error yang mungkin nongol;
~ Waktu menjalankan Apache pertama kali, sangat dimungkinkan muncul peringatan : “Could not determine the server’s fully qualified domain name, using <ip anda> ServerName”
—> Hal tersebut disebabkan Apache tidak menemukan ServerName di konfig httpd nya. Jika tidak memiliki FQDN yang terdaftar, gunakan IP saja. Misal:

——————————————————-
ServerName 192.168.11.111:80  —-> sisipkan di file /etc/httpd/conf/httpd.conf
——————————————————-

~ File .php tidak bisa terbaca browser, padahal yakin konfig telah benar.
—> seperti yg disebutkan diatas, TSL secara default tidak mengijinkan penulisan sintak dengan <? saja, melainkan harus lengkap <?php. Jika tidak terbiasa dan ingin tetap menggunakan <? saja, silakan edit file /etc/httpd/php.ini. Ubah baris berikut:

——————————————————-
short_open_tag = Off
——————————————————-

rubah menjadi

——————————————————-
short_open_tag = On
——————————————————-

~ Muncul Error di browser, macam “Forbidden, You don’t have permission to access / on this server”
—> jangan lupa untuk merubah permission file di document root server kita,

——————————————————-
# chmod -R 755 /home/httpd/html/*
# _
——————————————————-

Sementara sekian, silakan dicaci maki.. :D

ipv6 Gateway dengan Unix - Part 2

Setelah memiliki mesin Unix yang mendukung ipv6, sekarang bagaimana menjadikannya sebuah gateway?

 

BSD hadir dengan sebuah daemon yang bernama rtadv (router advertisement). Daemon yang akan megirimkan paket data yang berisi informasi prefix ipv6 kepada suatu interface. Rtadv akan melihat routing table dan memeriksa setiap perangkat yang terhubung langsung ke interface yang telah ditentukan. Jika perangkat tersebut tidak memiliki ipv6 static, maka daemon ini akan mengirimkan informasi prefix nya dan akan menunggu response dari klien. Jika klien di set dengan opsi ‘autoconfiguration’ maka dia akan menggunakan satu alamat yang valid dari prefix yang ditawarkan router.

 

Pada artikel sebelumnya telah kita tambahkan opsi untuk mengaktifkan daemon rtadv ini pada file /etc/rc.conf.

 

————————————/etc/rc.conf—————————————-

……

rtadvd_enable=”YES”

rtadvd_interfaces=”vr0″

……

————————————-END————————————————

 

Hal ini berarti rtadvd akan meng-advertise prefixnya ke semua perangkat yang terhubung langsung dengan interface vr0, entah itu mesin Windows ataupun Unix.

 

Ok, sekarang yang harus dilakukan adalah sedikit modifikasi di mesin klien.

 

- Windows:

 

1. Masuk ke Command Promt dan ketikkan “ipv6 install”

2 Ketikkan “ipv6 renew”

3. Periksa dengan ipconfig, apakah sudah memperoleh address ipv6 dari router.

4. Lakukan tes koneksi dengan ping6, tracert6

 

Screen Shoot Windows

 

- Linux

 

Masuk ke /etc/sysconfig/network dan tambahkan baris berikut:

 

————————————/etc/sysconfig/network——————————

……

NETWORKING_IPV6=yes

IPV6AUTOCONF=yes

……

————————————-END————————————————

 

Di /etc/sysconfig/network-scripts/ifcfg-eth0 tambahkan:

 

————————/etc/sysconfig/network-scripts/ifcfg-eth0———————–

……

IPV6INIT=yes

……

————————————-END————————————————

 

Sesudah itu restart service network Anda dan periksa dengan ifconfig eth0, apakah sudah mendapatkan address dari router..

 

Jika masih terjadi kesalahan, periksa kembali pekerjaan Anda dari awal.

Semoga membantu.

 

 

ipv6 Gateway dengan Unix - Part 1

Langsung saja,
Goal projectnya adalah membuat sebuah mesin freeBSD/OpenBSD implemented ipv6.
Asumsi dasar:
- alocated ipv6 2402:aabb:1234::/64
- ptp dengan router 2402:aabb:ab00::2/126
- gateway/router 2402:aabb:ab00::1/126
- nameserver 2402:aabb::131

Kita akan membahas mengenai alokasi ipv6 yang benar2 alocated dari provider maupun alokasi APNIC, untuk setting dengan tunnel broker InsyaAllah saya sampaikan di waktu lain.

- FreeBSD

Pertama periksa config interface nya,
————————————BEGIN———————————————–
# ifconfig
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 33224
groups: lo
inet6 ::1 prefixlen 128
inet6 fe80::1%lo0 prefixlen 64 scopeid 0×6
inet 127.0.0.1 netmask 0xff000000
rl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
lladdr 00:09:3d:00:62:51
groups: egress
media: Ethernet autoselect (1000baseT full-duplex)
status: active
inet6 fe80::209:3dff:fe00:6251%rl0 prefixlen 64 scopeid 0×1
inet 202.190.24.2 netmask 0xfffffffc broadcast 202.190.24.3
vr0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
lladdr 00:09:3d:00:62:52
media: Ethernet autoselect (1000baseT full-duplex)
status: active
inet6 fe80::209:3dff:fe00:6252%vr0 prefixlen 64 scopeid 0×2
inet 10.10.10.1 netmask 0xffffff00 broadcast 10.10.10.255
————————————-END————————————————

OK, urutan commandnya adalah sbb:
1. Edit file /etc/rc.conf
tambahkan opsi2 berikut:

————————————/etc/rc.conf—————————————-
ipv6_enable=”YES”
ipv6_nerwork_interfaces=”auto”
ipv6_defaultrouter=”2402:aabb:ab00::1″
ipv6_router_enable=”YES”
ipv6_router=”/usr/sbin/route6d”
ipv6_gateway_enable=”YES”
rtadvd_enable=”YES”
rtadvd_interfaces=”rl0″
ipv6_ifconfig_rl0=”2402:aabb:ab00::2 prefixlen 126″
ipv6_ifconfig_vr0=”2402:aabb:1234::1 prefixlen 64″
————————————-END————————————————

Edit file /etc/resolv.conf

————————————/etc/resolv.conf————————————
nameserver 202.190.24.131
nameserver 2402:aabb::131
————————————-END————————————————

Simpan setting network Anda dan lihat perbedaannya.

————————————command———————————————
# sh /etc/netstart
# ifconfig
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 33224
groups: lo
inet6 ::1 prefixlen 128
inet6 fe80::1%lo0 prefixlen 64 scopeid 0×6
inet 127.0.0.1 netmask 0xff000000
rl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
lladdr 00:09:3d:00:62:51
groups: egress
media: Ethernet autoselect (1000baseT full-duplex)
status: active
inet6 fe80::209:3dff:fe00:6251%rl0 prefixlen 64 scopeid 0×1
inet6 2402:aabb:ab00::2 prefixlen 126
inet 202.190.24.2 netmask 0xfffffffc broadcast 202.190.24.3
vr0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
lladdr 00:09:3d:00:62:52
media: Ethernet autoselect (1000baseT full-duplex)
status: active
inet6 fe80::209:3dff:fe00:6252%vr0 prefixlen 64 scopeid 0×2
inet6 2402:aabb:1234::1 prefixlen 64
inet 10.10.10.1 netmask 0xffffff00 broadcast 10.10.10.255
# ping6 www.kame.net
PING6(56=40+8+8 bytes) 2402:aabb:ab00::2 –> 2001:200:0:8002:203:47ff:fea5:3085
16 bytes from 2001:200:0:8002:203:47ff:fea5:3085, icmp_seq=0 hlim=48 time=463.088 ms
16 bytes from 2001:200:0:8002:203:47ff:fea5:3085, icmp_seq=1 hlim=48 time=461.918 ms
16 bytes from 2001:200:0:8002:203:47ff:fea5:3085, icmp_seq=2 hlim=48 time=690.285 ms
^C
— www.kame.net ping6 statistics —
3 packets transmitted, 3 packets received, 0.0% packet loss
round-trip min/avg/max/std-dev = 461.918/538.430/690.285/107.379 ms
# _
————————————-END————————————————

- OpenBSD

Dengan asumsi alokasi ipv6 sama dengan contoh sebelumnya, sekarang kita beralih pada OpenBSD.
Ada 3 file konfigurasi utama yang harus diperhatikan di OpenBSD, yaitu:
1. /etc/hostname.<interface> # untuk menambahkan ipv6 address pada interface
2. /etc/mygate # untuk menambahkan default route/gateway
3. /etc/resolv.conf # untuk menambahkan nameserver

Langsung ke file pertama, karena kita memiliki 2 interface, maka ada 2 file yang harus diset, yaitu /etc/hostname.rl0 dan /etc/hostname.vr0.

————————————/etc/hostname.rl0———————————–
inet 202.190.24.2 255.255.255.252 NONE
inet6 alias 2402:aabb:ab00::2 126
————————————-END————————————————

————————————/etc/hostname.vr0———————————–
inet 10.10.10.1 255.255.255.0 NONE
inet6 alias 2402:aabb:1234::1 64
————————————-END————————————————

File kedua adalah /etc/mygate yaitu untuk menambahkan sebuah default router untuk mesin kita.

————————————/etc/mygate—————————————–
202.190.24.1
2402:aabb:ab00::1
————————————-END————————————————

OK, langsung menambahkan nameserver..

————————————/etc/resolv.conf————————————
nameserver 202.190.24.131
nameserver 2402:aabb::131
————————————-END————————————————

Prosedur pengecekan sama dengan FreeBSD..

————————————command———————————————
# sh /etc/netstart
# ifconfig
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 33224
groups: lo
inet6 ::1 prefixlen 128
inet6 fe80::1%lo0 prefixlen 64 scopeid 0×6
inet 127.0.0.1 netmask 0xff000000
rl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
lladdr 00:09:3d:00:62:51
groups: egress
media: Ethernet autoselect (1000baseT full-duplex)
status: active
inet6 fe80::209:3dff:fe00:6251%rl0 prefixlen 64 scopeid 0×1
inet6 2402:aabb:ab00::2 prefixlen 126
inet 202.190.24.2 netmask 0xfffffffc broadcast 202.190.24.3
vr0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
lladdr 00:09:3d:00:62:52
media: Ethernet autoselect (1000baseT full-duplex)
status: active
inet6 fe80::209:3dff:fe00:6252%vr0 prefixlen 64 scopeid 0×2
inet6 2402:aabb:1234::1 prefixlen 64
inet 10.10.10.1 netmask 0xffffff00 broadcast 10.10.10.255
# ping6 www.kame.net
PING6(56=40+8+8 bytes) 2402:aabb:ab00::2 –> 2001:200:0:8002:203:47ff:fea5:3085
16 bytes from 2001:200:0:8002:203:47ff:fea5:3085, icmp_seq=0 hlim=48 time=463.088 ms
16 bytes from 2001:200:0:8002:203:47ff:fea5:3085, icmp_seq=1 hlim=48 time=461.918 ms
16 bytes from 2001:200:0:8002:203:47ff:fea5:3085, icmp_seq=2 hlim=48 time=690.285 ms
^C
— www.kame.net ping6 statistics —
3 packets transmitted, 3 packets received, 0.0% packet loss
round-trip min/avg/max/std-dev = 461.918/538.430/690.285/107.379 ms
# _
————————————-END————————————————

Sip, sekarang Anda telah memiliki sebuah mesin Unix yang enable ipv6. Tinggal sedikit konfigurasi untuk menjadikannya sebuah masin gateway.

Trims,
Dika_

Backup dengan ssh dan scp

Saya memiliki sebuah web server dengan load yang sangat besar karena web saya ini adalah sebuah portal yang sangat besar dan terkenal. Saya ingin setiap akses log dari web page saya tercatat di sebuah server backup, sehingga saya bisa memantau perkembangan situs portal saya serta bisa menjadikannya sebagai daya tarik kepada para pemasang iklan. Bagaimana saya bisa membuat sebuah mesin backup yang bisa mengambil data log dari server web saya tersebut?

Suatu hari, seseorang bertanya kepada Anda dengan pertanyaan seperti di atas. Apa yang sebaiknya dilakukan ?
Anda mulai berpikir untuk melakukan mirroring server dengan rsync atau sejenisnya. efektifkah menggunakan aplikasi mirroring semacam rsync hanya untuk mengambil data seberat file log dari page view sebuah web? Keadaan akan menjadi lain jika kita membicarakan file log dari portal yang benar2 besar macam detik.com misalnya. Jangan salah, file log perhari detik.com bisa mencapai angka 20Gb !!

Kemudian apa yang bisa digunakan untuk membuat sebuah server backup yang handal untuk kebutuhan ini? Coba ikuti cara saya, kemudian silakan beri komentar Anda..

Pertama, siapkan sebuah skenario seperti ini:

[web server]——-//——–[backup server]

Sederhana bukan? Syarat utama yang harus dipenuhi adalah, kedua mesin diatas harus bisa saling berinteraksi. Dan server backup tidak harus ber-IP publik. Bisa saja seperti ini, web server memiliki 2 interface, satu interface dengan ip publik dan terhubung ke internet dan satu interface lagi dengan ip privat dan terhubung ke server backup baik direct (langsung) maupun menggunakan sebuah switch. Jadilah kedua mesin tersebut terhubung..

Saya set kondisi spt ini:
1. Web server dengan OS unix, ip privat 10.10.10.1/24
2. Backup server dengan OS Unix, ip 10.10.10.2/24
3. Secure Shell (ssh) berjalan dengan baik di antara keduanya.

Next, kita langsung login ke Mesin backup-nya.
Langkah pertama yang dilakukan adalah membuat agar mesin server web kita percaya kepada mesin backup untuk melakukan koneksi ssh tanpa harus menyerahkan password. Caranya adalah dengan menciptakan sebuah key dengan generator ssh yang nantinya akan di”tanam” di mesin server target.

———————-<command>—————————

# ssh-keygen -t rsa

———————-<EOC>——————————-

Setelah Anda menekan enter, akan muncul beberapa pertanyaan, tinggalkan saja default dengan menekan enter. Maka Anda akan mendapatkan dua buah key yang masing2 akan diletakkan di mesin server target dan mesin backup. Cara mengirim ke mesin target adalah sbb:

———————-<command>—————————

# scp ~/.ssh/id_rsa.pub 10.10.10.1:.ssh/authorized_keys2
 root at 10.10.10.1\’s password: ********* #masukkan password root mesin target.
id_rsa.pub 100% 225 0.0KB/s 00:00
#

———————-<EOC>——————————-

OK, sejauh ini Anda telah bisa melakukan koneksi ssh ke server target tanpa diminta password, silakan dicoba.

Berikutnya adalah membuat sebuah file yang akan bertugas melakukan peng-copy-an file target dan meletakkan pada sebuah folder di mesin backup. Misal file log berada di folder /var/log/httpd_log/access_log_$tgl di mesin target. Dan akan di letakkan di folder /var/backup/ pada mesin backup.
Caranya, buat sebuah file ssh-scp di mesin backup, yang misalnya berada di /etc/backup.sh sbb:

———————-<code>——————————

#!/bin/bash

tgl=$(date +%Y%m%d)
folder=”/var/backup/”

scp 10.10.10.1:/var/log/httpd_log/access_log_$tgl $folder
exit

———————-<EOC>——————————-

Cobalah skrip di atas dengan mengetikkan :

———————-<command>—————————

# sh /etc/backup.sh
#

———————-<EOC>——————————-

Kemudian periksa folder /var/backup/ Anda, seharusnya telah bertambah sebuah file di sana… jika ternyata belum ada, silahkan periksa kembali pekerjaan Anda dari awal. :)
OK, satu step lagi.. Buat skrip ini dieksekusi setiap pukul 23:59 malam (tepat sebelum berpindah tanggal, sebab script Anda memerintahkan untuk meng-copy log pada tanggal itu). Tentu saja dengan bantuan crontab, si tepat waktu, he he he.

Selesai. Semoga bermanfaat.

Next Page »