Artdico\\ Kotabaru Yogyakarta\\ 05:56 pm WIT ====== Setting oidentd + tircproxy pada OpenBSD ====== ''$Id: oidentd+tircproxy.txt,v 1.2 2003/09/27 03:25:16 ferywu Exp $'' Tujuan disini adalah agar pemakaian irc client bisa melakukan DCC secara lengkap. DCC biasanya hanya bisa get tapi untuk DCC {Chat,Send, dll} tidak bisa. Untuk itu kita perlu menjalankan layanan oidentd beserta tircproxy. Tircproxy sebagai proxy irc ke klien agar support DCC secara lengkap. Oidentd menggantikan layanan identd yang listening pada port 113. Saya memilih oidentd karena bisa mengatur respon ident sesuai keinginan kita. :) Ip Gateway tempat dijalankannya oidentd dan tircproxy dipakai 192.168.0.1 atau menurut kondisi di tempat masing-masing. ===== Langkah kerja: ===== 1. Disini diasumsikan anda telah mempunyai struktur port OpenBSD di mesin anda. Kalaupun belum perlu mendapatkan struktur port tersebut bisa dengan : #ftp ftp.openbsd.org/pub/OpenBSD/3.3/ports.tar.gz tapi kalau hasilnya corrupt, bisa digunakan alternatif lain anda download dulu dari klien ms win lalu baru ditransfer ke mesin OpenBSD anda atau dengan mesin Unix lain yang sudah terpasang ncftp maupun wget. Jika anda mempunyai offcial CD sudah disertakan didalamnya. $wget -c -t0 -b ftp.openbsd.org/pub/OpenBSD/3.3/ports.tar.gz wget diatas akan auto resume , tidak ada batasan re-get dan background, untuk mengikut perkembangan download anda ketik berikut dengan asumsi tidak ada berkas log wget lain di direktori tempat download tersebut $tail -f wget.log dengan ncftp $ncftpget ftp.openbsd.org ./ pub/OpenBSD/3.3/ports.tar.gz 2. mekarkan file tersebut #tar pzxfv ports.tar.gz -C /usr 3. masuk ke direktori struktur port oidentd berada dan install #cd /usr/ports/net/oidentd ; make install clean 4. baca manual oidentd.conf dan oidentd_masq.conf #man oidentd.conf #man oidentd_masq.conf 5. buat berkas /etc/oidentd.conf dan /etc/oidentd_masq.conf #touch /etc/oidentd.conf #touch /etc/oidentd_masq.conf 6. edit berkas /etc/oidentd.conf untuk menentukan sejumlah kendali pada klien saat respon identd untuk setiap koneksi irc yang dilakukan, misal #vi /etc/oidentd.conf #mulai berkas /etc/oidentd.conf #perbolehkan semua klien membuat respon identd angka acak, menyembunyikan ident #dan menolak spoof ident default { default { deny spoof deny spoof_all deny spoof_privport allow random_numeric allow numeric allow hide } } #memasukkan aturan default dan mengatur respon ident klien01 user klien01 { default { force reply "si^cantik" } } #akhir berkas /etc/oidentd.conf diatas hanya diberikan satu contoh, untuk klien lain tambahkan dengan aturan yang sama. 7. edit berkas /etc/oidentd_masq.conf untuk kondisi dimana anda menjalankan masquerading atau NAT #vi /etc/oidentd_masq.conf #mulai berkas /etc/oidentd_masq.conf 192.168.1.1 netbsd UNIX 192.168.1.2 noone WINDOWS 192.168.4.1/32 slackware UNIX 192.168.3.0/24 redhat UNIX 192.168.0.0/16 debian UNIX myboxopenbsd UNIX 192.168.5.0/255.255.255.0 mandrake UNIX #akhir berkas /etc/oidentd.conf 8. install tircproxy #cd /usr/ports/net/tircproxy ; make install clean 9. tambahkan group khusus untuk layanan ini #groupadd -g 3000 dcclient 10. buat entry user nyata untuk setiap klien yang akan dienable DCC di /etc/master.passwd bisa dengan vipw lalu anda masukkan secara manual entry lengkap setiap klien, dengan cara editor vi untuk cara mengunakan vi bisa dilihat di artikel lain yang telah saya tulis tentang Dial GPRS dengan ppp(8) OpenBSD, tapi anda harus hati-hati dengan cara ini. #vipw lalu masukkan entry seperti berikut, 2000,.. merujuk pada uid dan 3000 pada gid yang telah kita buat klien01:*:2000:3000::0:0::/home/klien/01:/sbin/nologin klien02:*:2000:3000::0:0::/home/klien/02:/sbin/nologin disini uid tersebut tidak kita perkenankan login ke sistem (shell nya /sbin/nologin) untuk amannya anda gunakan, mengurangi resiko merusak berkas /etc/master.passwd #adduser lalu ikuti semua prosedur pembuatan user dari skrip adduser tersebut, untuk jelasnya lihat di http://openbsd.org/faq/faq10.html#AddDelUser :) 11. lalu buat direktori tempat dimana oidentd bekerja #mkdir /var/log/oidentd 12. buat berkas konfigurasi yang bersesuaian dengan nomor IP dan nama host klien #echo "netbsd" > /var/log/oidentd/user-192.168.1.1 dan seterusnya untuk semua klien 13. jalankan oidentd sebelumnya baca oidentd.manual page #man oidentd lalu #/usr/local/sbin/oidentd -m -a -g kmem -u nobody atau #/usr/local/sbin/oidentd -m -f perintah pertama berjalan pada modus masquerade, outgoing IP ditentukan , dan berjalan dengan group kmem serta user nobody. perintah kedua lebih singkat tapi bisa juga dipakai, berjalan dalam modus masquerade/nat/forwarding. perintah tersebut agar otomatis berjalan, anda masukkan dalam /etc/rc.local 14. edit /etc/pf.conf, tambahkan baris berikut rdr on rl1 proto tcp from 192.168.0.0/24 to any \ port { 6660:6670, 7000:7004, 7777, 8000, 8888 } -> 192.168.0.1 \ port 7667 perintah diatas akan memforward semua koneksi klien ke port 7667 dari gateway yang menjalankan tircproxy , pada network kita 192.168.0.0/24 yang melakukan koneksi ke port-port umum irc server. 15. reload/flush rule firewall untuk aturan NAT yang kita tambahkan ( untuk jelasnya lihat di http://www.openbsd.org/cgi-bin/man.cgi?query=pfctl&sektion=8&arch=i386&apropos=0&manpath=OpenBSD+3.3 ) #pfctl -F nat -f /etc/pf.conf lalu periksa #pfctl -sn | grep 7667 rdr on rl1 inet proto tcp from 192.168.0.0/24 to any port 6660:6670 -> 192.168.0.1 port 7667 rdr on rl1 inet proto tcp from 192.168.0.0/24 to any port 7000:7004 -> 192.168.0.1 port 7667 rdr on rl1 inet proto tcp from 192.168.0.0/24 to any port = 7777 -> 192.168.0.1 port 7667 rdr on rl1 inet proto tcp from 192.168.0.0/24 to any port = 8000 -> 192.168.0.1 port 7667 rdr on rl1 inet proto tcp from 192.168.0.0/24 to any port = 8888 -> 192.168.0.1 port 7667 16. jalankan tircproxy rdr on rl1 #/usr/local/sbin/tircproxy -s 7667 -i 192.168.0.1 17. cek berkas di /var/log/oidentd setelah anda menjalankan program mirc atau bitchx dari klien-klien anda, akan terlihat sebagai berikut. #ls -al /var/log/oidentd -rw-r--r-- 1 art23 kmem 5 Apr 24 08:20 ident:7565-209.82.160.49:6667 -rw-r--r-- 1 nobody kmem 5 Apr 19 15:32 ident:7581-195.50.191.12:6667 -rw-r--r-- 1 nobody kmem 5 Apr 19 15:32 ident:7666-195.50.191.12:6665 -rw-r--r-- 1 billing kmem 7 Apr 24 08:11 ident:7729-209.82.160.49:6667 -rw-r--r-- 1 art04 kmem 5 Jun 21 13:28 ident:7762-61.6.39.100:7000 -rw-r--r-- 1 nobody kmem 5 Apr 19 15:32 ident:7864-65.122.104.42:6667 -rw-r--r-- 1 nobody kmem 5 Apr 19 15:32 ident:7867-195.50.191.14:7000 -rw-r--r-- 1 nobody kmem 5 Apr 19 15:32 ident:8685-212.74.101.21:8888 18. Happy DCC-ing Tircproxy bersama dengan groupped NAT, juga bisa digunakan untuk monitoring masalah irc client, misal terkena trojan, cloning dll. ''Thanks to:''\\ - StevenChen for suggestion and care. ''Referensi :''\\ * http://ojnk.sourceforge.net :)\\ * http://bre.klaki.net/programs/tircproxy :)\\ * http://google.com :)\\ * http://openbsd.org ''Contact :''\\ Yosep Fery Wibowo\\ http://ferywu.sysadmin.or.id :)\\ ferywu at artdico.or.id :)