Lokasi Ardelindo Aples Depok


View Ardelindo Aples in a larger map

Kamis, 18 Februari 2010

Konfigurasi OpenLDAP pada Ubuntu Jaunty 9.04

Untuk merubah parameter pada LDAP versi terbaru di distro Ubuntu Jaunty dan Karmic. Admin perlu merubah settingan di file:

root@ubuntu:~# vim /usr/share/slapd/slapd.init.ldif

kemudian tambahkan samba.ldif dan misc.ldif

include: file:///etc/ldap/schema/core.ldif
include: file:///etc/ldap/schema/cosine.ldif
include: file:///etc/ldap/schema/nis.ldif
include: file:///etc/ldap/schema/inetorgperson.ldif
include: file:///etc/ldap/schema/samba.ldif
include: file:///etc/ldap/schema/misc.ldif
include: file:///etc/ldap/schema/openldap.ldif

dan tambahkan parameter pada access list

olcAccess: to attrs=userPassword,shadowLastChange by dn="@ADMIN@" write by anonymous auth by self write by * none

menjadi::

olcAccess: to attrs=userPassword,shadowLastChange,sambaNTPassword,sambaLMPassword by dn="@ADMIN@" write by anonymous auth by self write by * none


Langkah terakhir jalankan perintah

dpkg-reconfigure slapd


Edited by Budi Santoso

Sabtu, 03 Oktober 2009

Spamassassin Postfix Virtual Domain

Instalasi Spamassassin
apt-get install perl spamass-milter spamc spamassassin

Penambahan User
groupadd -g 5005 spamd
useradd -u 5005 -g spamd -s /sbin/nologin -d /var/lib/spamassassin spamd
mkdir /var/lib/spamassassin
chown spamd:spamd /var/lib/spamassassin

Konfigurasi Filter Spam
vim /etc/spamassassin/local.cf
required_score 3.0
use_bayes 1
bayes_auto_learn 1

Konfigurasi Postfix master.cf
vim /etc/postfix/master.cf

smtp inet n - - - - smtpd
-o content_filter=spamassassin

spamassassin unix - n n - - pipe
user=spamd argv=/usr/bin/spamc -f -e
/usr/sbin/sendmail -oi -f ${sender} ${recipient}

Selasa, 15 September 2009

Proftpd FTP OpenLDAP

Instalasi ProFTPD
apt-get install proftpd proftpd-ldap

Konfigurasi ProFTPD
vim /etc/proftpd/proftpd.conf

DefaultRoot ~
RequireValidShell off
#
# Alternative authentication frameworks
#
Include /etc/proftpd/ldap.conf
#Include /etc/proftpd/sql.conf


Konfigurasi ProFTPD
vim /etc/proftpd/ldap.conf


LDAPServer localhost
LDAPDNInfo "cn=admin,dc=ardelindo,dc=com" "1111"
#LDAPDoAuth on "ou=Users,dc=ardelindo,dc=com"
LDAPDoAuth on "ou=Users,dc=ardelindo,dc=com" (&(uid=%v)(objectclass=posixAccount))
LDAPDoUIDLookups on "ou=Users,dc=ardelindo,dc=com"
LDAPDoGIDLookups on "ou=Groups,dc=ardelindo,dc=com"


Powered By Ardelindo Aples (www.ardelindo.com)

Rabu, 29 Juli 2009

Nginstall Chat Server Jabber di (K)Ubuntu

Ejabberd

Enak lho bisa chatting sama orang2 sekantor kalo lokal. Gak ngaruh sama lingkungan luar. Jadi kalo internet mati kayak waktu itu (kasus gempa Taiwan), gak bakal jadi masalah besar. Berikut ini adalah how to install ejabberd chat server yang mendukung banyak protokol termasuk jabber.

1) Install paket ejabberd

sudo apt-get install ejabberd

2) Edit domain di /etc/ejabberd/ejabberd.cfg. Pasang komen pada localhost dengan menggunakan % (PERHATIKAN ADA TITIK SETELAH “}”)

%{hosts, ["localhost"]}.
{hosts, ["kerenabis.com"]}.

3) Restart untuk mengaktifkan chat kerenabis.com

sudo /etc/init.d/ejabberd restart

4) Tambah user untuk mengatur segalanya (jika Anda memiliki sistem LDAP, langsung lompat ke tahap 5)

sudo ejabberdctl register penguasa kerenabis.com penguasaPassword

Untuk menjadikan ia admin, tambah edit file /etc/ejabberd/ejabberd.cfg. Tambahkan

{acl, admin, {user, “penguasa”}}

5) Jika Anda pakai LDAP.

% sancho21: kita pakai LDAP
%{auth_method, internal}.

% For LDAP authentication use these lines instead of above one:
{auth_method, ldap}.
{ldap_servers, ["localhost"]}. % List of LDAP servers
{ldap_uidattr, “uid”}. % LDAP attribute that holds user ID
{ldap_base, “ou=People,dc=kerenabis,dc=com”}. % Search base of LDAP directory
{ldap_rootdn, “cn=admin,dc=kerenabis,dc=com”}. % LDAP manager
{ldap_password, “password sang admin”}. % Password to LDAP manager

6) Buka web administrasi http://localhost:5280/admin. Masukkkan secara lengkap penguasa@kerenabis.com dan isi passwordnya

7) Untuk klien bisa memasukkan di Gaim sebagai Jabber. Servernya jangan lupa dioverride ke ip server. Karena kerenabis.com itu hanya nama virtual untuk chat saja.

Sebenarnya protokol lain juga didukung. Tapi saya belum tahu saja caranya. Oh, ya selamat mencoba!

Referensi:

http://michsan.wordpress.com/2007/01/30/nginstall-chat-server-jabber-di-kubuntu/

Selasa, 28 Juli 2009

SASL2 mod-LDAP

Kamas Muhammad


Tidak ada copyright apapun dalam dukumen ini, anda bebas menyalin, mencetak, maupun memodifikasi. Saran, koreksi, kritik, kesalahan ketik, maupun ucapan silakan dikirimkan ke email tersebut diatas. Terima Kasih.


Latar Belakang

Selama ini saya menggunakan librari Cyrus-SASL2 pada postfix untuk menyediakan layanan SMTP Authentication. Ya, memang biasa saja, tapi biasanya saya harus melakukan kompilasi terlebih dahulu walau toh pada akhirnya hasil yang saya dapat adalah file deb-installer. Tidak ada hal khusus yang saya lakukan terhadap source code, hanya mengubah opsi pada proses configure agar menyertakan mekanisme authdaemon.

Saya menggunakan cara kompilasi karena by default paket pustaka sasl yang dibuat oleh Debian tidak mendukung penggunaan courier-authdaemon sebagai authentication backend. Data username dan password biasanya saya simpan menggunakan MySQL. Apakah sasl tidak bisa membaca data pada database? Bisa. Hanya saja menurut apa yang telah saya coba, pustaka itu (menggunakan modul auxprop) tidak dapat melakukan validasi bila passwordnya tersimpan dalam bentuk hashed. Kebetulan data password yang saya punya biasanya berbentuk Crypt-MD5. Mungkin saja saya yang tidak tahu bagaimana caranya, tapi untuk singkatnya: Saya tidak bisa.

Kebetulan data akun email pada server terakhir yang saya bangun disimpan menggunakan OpenLDAP. Sekilas lihat ternyata ada paket libsasl2-modules-ldap. Saya sempat berprasangka bahwa dengan modul itu sasl tidak melakukan pencocokan data sendiri. Proses pemeriksaan diserahkan pada pustaka OpenLDAP. Kalau memang benar begitu, seharusnya apa pun bentuk hash-nya asal jenis hash itu bisa ditangani oleh OpenLDAP, proses otentikasi tetap bisa dilakukan.

Kalau ternyata memang benar-benar bisa, manfaat yang saya dapat adalah pengurangan proses kompilasi ketika melakukan upgrade. Apa prosesnya sulit? Tidak juga. Keseluruhan proses bisa dijalankan dalam waktu kurang dari 5 menit :-) Lalu kenapa coba diubah? Namanya juga iseng. Boleh kan? He..he..he..

Gambaran Sistem

Saya menggunakan postfix 2.5 di mana data user disimpan pada direktori LDAP. Pengiriman email menggunakan mail client dapat dilakukan setelah melalui proses otentikasi. Atribut yang menyimpan username adalah uid, sedangkan password disimpan pada atribut userPassword dalam bentuk Crypt-MD5 hashed.

dn: uid=kamas,o=users,dc=sokam,dc=or,dc=id
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
objectClass: qmailUser
uid: kamas
o: users
sn: kamas
accountStatus: active
mail: kamas@sokam.or.id
mailMessageStore: sokam.or.id/k/kamas/Maildir/
cn: Kamas Muhammad
mailQuotaSize: 0
userPassword: {crypt}$1$B8RKHiNI$XPXIhmMReW6PpfpWOw2Y3.

Sebelumnya, inilah isi file /etc/postfix/sasl/smtpd.conf:

pwcheck_method: authdaemond
log_level: 3
mech_list: PLAIN LOGIN
authdaemond_path: /var/run/courier/authdaemon/socket

Instalasi & Konfigurasi

Saya menggunakan Debian Lenny. Proses instalasi dilakukan seperti biasa yaitu dengan menggunakan apt-get.

[root@host]# apt-get install libsasl2-modules-ldap
...
...
Setting up sasl2-bin (2.1.22.dfsg1-23) ...
To enable saslauthd, edit /etc/default/saslauthd and set START=yes (warning).
Setting up libsasl2-modules-ldap (2.1.22.dfsg1-23) ...

Setelah instalasi selesai ubah beberapa bagian file /etc/default/saslauthd mengikuti panduan dari Debian[1]. Beberapa parameter yang diubah adalah:

  1. START=yes
  2. MECHANISMS="ldap"
  3. OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd"

Penjelasan tentang mengapa direktori soket saslauthd ditempatkan pada direktori seperti yang disebutkan pada konfigurasi OPTIONS dapat ditemukan di README sasl2-bin yang disertakan oleh Debian[1].

Setelah itu buat file /etc/saslauthd.conf dengan isi seperti berikut, mengacu sebagian info dari halaman mail archive[2] yang penjelasan lengkapnya dapat dilihat pada daftar konfigurasi saslauthd[3].

ldap_servers: ldaps://ldap.sokam.or.id
ldap_password_attr: userPassword
ldap_filter: uid=%U
ldap_search_base: o=users,dc=sokam,dc=or,dc=id

Ubah pula file /etc/postfix/sasl/smtpd.conf seperti berikut:

pwcheck_method: saslauthd
mech_list: LOGIN

Dicoba

Jalankan dulu saslauthd, kemudian cobalah melakukan otentikasi menggunakan testsaslauthd.

[root@host]# /etc/init.d/saslauthd start
Starting SASL Authentication Daemon: saslauthd.
[root@host]# testsaslauthd -u kamas -p iniPassWordNyah
0: OK "Success."

Kalau sudah keluar 0: OK "Success" seperti di atas berarti proses otentikasi berjalan lancar. Kalau keluar teks 0: NO "authentication failed" tampaknya anda belum beruntung. Kalau keluar tulisan connect() : No such file or directory coba tambahkan parameter -f diikuti dengan lokasi soket saslauthd.

[root@host]# testsaslauthd -f /var/spool/postfix/var/run/saslauthd/mux -u kamas -p iniPassWordNyah

Setelah itu cobalah melakukan otentikasi pada postfix. Saya menggunakan proses telnet sehingga tidak perlu mencoba menggunakan program mail client apa pun. Contohnya ditunjukkan pada bagian berikut:

[root@host]# telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 mail.sokam.or.id ESMTP Postfix (Debian/GNU)
HELO imutlucu
250 mail.sokam.or.id
AUTH LOGIN
334 VXNlcm5hbWU6
a2FtYXM=
334 UGFzc3dvcmQ6
aW5pUGFzc1dvcmROeWFo
235 2.7.0 Authentication successful
QUIT
221 2.0.0 Bye
Connection closed by foreign host.

Bagian yang dicetak tebal adalah username dan password dalam bentuk base64-encoded. Tulisan "Autentication successful" menunjukkan bahwa username dan password yang dimasukkan benar.

Referensi

  1. http://www.sokam.or.id/artikel/SASL2-LDAP.html
  2. file:///usr/share/doc/sasl2-bin/README.Debian.gz
  3. http://www.imc.org/ietf-sasl/mail-archive/msg01862.html
  4. http://www.irbs.net/internet/info-cyrus/0207/att-0599/LDAP_SASLAUTHD

Senin, 27 Juli 2009

Authentifikasi FreeRadius OpenLDAP

Konfigurasi SLAPD
cd freeradius-1.1.6
cp doc/examples/openldap.schema /etc/ldap/schema/
vim /etc/ldap/slapd.conf
##########################################
include /etc/ldap/schema/openldap.schema
##########################################

Konfigurasi FreeRadius
vim /usr/local/etc/raddb/radiusd.conf

ldap {
server = "127.0.0.1"
identity = "cn=budi,dc=ardelindo,dc=com"
password = rahasia
basedn = "dc=ardelindo,dc=com"
filter = "(uid=%{Stripped-User-Name:-%{User-Name}})"
# base_filter = "(objectclass=radiusprofile)"
#access_attr = "dialupAccess"
edir_account_policy_check=yes
dictionary_mapping = ${raddbdir}/ldap.attrmap
}


authorize {
preprocess
chap
mschap
#digest
#IPASS
suffix
#ntdomain
#eap
#files
#sql
#etc_smbpasswd
ldap
#daily
#checkval
#pap
}

authenticate {
#Auth-Type PAP {
#pap
#}
#Auth-Type CHAP {
#chap
#}
# MSCHAP authentication.
#Auth-Type MS-CHAP {
#mschap
#}
#digest
#pam

#unix

Auth-Type LDAP {
ldap
}
#eap
}

Test Authentifikasi Radius

Sisi Klien
root@ubuntu:~/hotspot/freeradius-1.1.6# radtest budi 23 localhost 0 testing123
Sending Access-Request of id 95 to 127.0.0.1 port 1812
User-Name = "budi"
User-Password = "23"
NAS-IP-Address = 255.255.255.255
NAS-Port = 0
rad_recv: Access-Accept packet from host 127.0.0.1:1812, id=95, length=20

Log Server Radius
rad_check_password: Found Auth-Type ldap
auth: type "LDAP"
Processing the authenticate section of radiusd.conf
modcall: entering group LDAP for request 2
rlm_ldap: - authenticate
rlm_ldap: login attempt by "budi" with password "23"
rlm_ldap: user DN: uid=budi,ou=Users,dc=ardelindo,dc=com
rlm_ldap: (re)connect to 127.0.0.1:389, authentication 1
rlm_ldap: bind as uid=budi,ou=Users,dc=ardelindo,dc=com/23 to 127.0.0.1:389
rlm_ldap: waiting for bind result ...
rlm_ldap: Bind was successful
rlm_ldap: user budi authenticated succesfully
modcall[authenticate]: module "ldap" returns ok for request 2
modcall: leaving group LDAP (returns ok) for request 2
Sending Access-Accept of id 129 to 127.0.0.1 port 44721
Finished request 2
Going to the next request
--- Walking the entire request list ---

Minggu, 26 Juli 2009

Authentifikasi SMTP postfix TLS

Setup Postfix TLS Encryption
mkdir /etc/postfix/ssl
cd /etc/postfix/ssl
openssl genrsa -des3 -rand /etc/hosts -out smtpd.key 1024
chmod 600 smtpd.key
openssl req -new -key smtpd.key -out smtpd.csr
openssl x509 -req -days 3650 -in smtpd.csr -signkey smtpd.key -out smtpd.crt
openssl rsa -in smtpd.key -out smtpd.key.unencrypted
mv -f smtpd.key.unencrypted smtpd.key
openssl req -new -x509 -extensions v3_ca -keyout cakey.pem -out cacert.pem -days 3650

nano /etc/postfix/main.cf
smtpd_tls_auth_only = no
smtp_use_tls = yes
smtpd_use_tls = yes
smtp_tls_note_starttls_offer = yes
smtpd_tls_key_file = /etc/postfix/ssl/smtpd.key
smtpd_tls_cert_file = /etc/postfix/ssl/smtpd.crt
smtpd_tls_CAfile = /etc/postfix/ssl/cacert.pem
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
tls_random_source = dev:/dev/urandom
/etc/init.d/postfix restart

Konfigurasi Dovecot TLS
vim /etc/dovecot/dovecot.conf

ssl_disable = no
ssl_key_file = /etc/postfix/ssl/smtpd.key
ssl_cert_file = /etc/postfix/ssl/smtpd.crt
ssl_key_password = admin
ssl_ca_file = /etc/postfix/ssl/cacert.pem



Konfigurasi Mail Client Evolution