CoreBSD Wiki

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 <outgoing ip gateway> -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 :

Contact :
Yosep Fery Wibowo
http://ferywu.sysadmin.or.id :)
ferywu at artdico.or.id :)

coreartikel/oidentdtircproxy.txt · Last modified: by 127.0.0.1