seting squid transparent https

February 16, 2012 by gregor · Leave a Comment
Filed under: internet, linux, security, slow internet connection 

Belum lama berselang seorang teman mengeluh karena usahanya untuk membatasi akses ke situs jejaring sosial seperti facebook dan twitter kurang berhasil. Pembatasan dilakukan dengan filtering di squid. Untuk akses ke port http sudah berhasil dibatasi. Karyawan yang mengakses http://www.facebook.com pada browsernya akan ditampilkan halaman pemberitahuan bahwa dilarang mengakses situs tersebut pada jam kerja. Namun rupanya karyawan tak kalah cerdik.  Mereka mengakses melalui https://www.facebook.com yang ternyata berhasil dengan lancar.

Saya mencoba untuk membantu teman tersebut dengan bertanya pada mbah google. Si mbah menyarankan untuk mencoba situs ini namun setelah saya coba ternyata ada beberapa typo sehingga saya harus mencari-cari supaya dapat berhasil. Setelah berhasil, saya putuskan untuk mendokumentasikan kembali di tulisan ini dengan harapan orang yang membutuhkan info yang sama bisa lebih menghemat waktu.

Kondisi yang saya alami sedikit berbeda dari apa yang ada pada tulisan Rahul. Jika pada Rahul linux router dan squid berada pada satu mesin maka pada saya linux router dan server proxy squid ada di mesin yang terpisah. Tulisan ini mengasumsikan bahwa squid proxy sudah terinstal dan berjalan dengan baik, hanya belum mampu menerima koneksi https. Openssl juga sudah terinstal dengan baik. Perlu saya sampaikan bahwa ketika melakukan proses seting saya mengalami keanehan/anomali yang sampai sekarang belum saya pahami. Karena keterbatasan waktu saya tidak coba untuk explorasi lebih jauh.

Anomali tersebut terkait dengan mengapa saya gunakan port 443 pada  IPTABLES DNAT. Sebelum menggunakan port 443 saya mencoba menggunakan port 3130 seperti tulisan Rahul namun paket tidak mau dialihkan ke mesin squid. Saya ganti menggunakan port 3333 dan 8080 juga tidak berhasil. Saya menggunakan bantuan tcpdump di mesin squid untuk mengetahui apakah paket dialihkan atau tidak. Ketika menggunakan port 80 dan 443 tcpdump mengindikasikan bahwa paket berhasil dialihkan. Maka kemudian saya putuskan untuk memakai port 443.

Urutan pengerjaannya adalah sebagai berikut :

pada mesin squid :

$ su -

$ cd /etc/squid

$ openssl genrsa -des3 -out server.Key 1024

$ openssl req -new -keyout server.csr

$ openssl req -new -key server.Key -out server.csr

$ cp server.Key server.Key.old

$ openssl rsa -in server.Key.old -out server.Key

$ openssl x509 -req -days 7305 -in server.csr -signkey server.Key -out server.crt

$ vi /etc/squid/squid.conf

tambahkan/edit baris :

http_port 3128 transparent
https_port 443 transparent cert=/etc/squid/server.crt key=/etc/squid/server.Key

simpan dan keluar dari vi

pada mesin linux router :

untuk mengalihkan semua permintaan https dari semua subnet, berikan perintah :

$ iptables -t nat -A PREROUTING -p tcp –dport 443 -j DNAT –to 172.16.10.2:443

untuk mengalihkan hanya subnet tertentu, misalnya 172.16.14.0/24 berikan perintah :

$ iptables -t nat -A PREROUTING -p tcp -s 172.16.14.0/255.255.255.0 –dport 443 -j DNAT –to 172.16.10.2:443

untuk menyisipkan aturan ini diantara aturan yang sudah ada maka perlu mengetahui nomer-nomer baris aturan yang sudah dengan perintah :

$ iptables –line-number -t nat -nVL PREROUTING

misalnya jika ingin menyisipkan aturan pada baris 80 berikan perintah :

iptables -t nat -I PREROUTING 80 -p tcp -s 172.16.14.0/255.255.255.0 –dport 443 -j DNAT –to 172.16.10.2:443

demikian semoga bermanfaat.

setting qmail agar support ssl dan tls

October 25, 2011 by gregor · Leave a Comment
Filed under: Open mail relay, Qmail, Spam Filtering, linux, security, vpopmail 

Tujuan instalasi ini adalah agar pengguna dapat login ke mail server untuk mengirimkan email menggunakan email client non webmail. Di era personal computing yang saat ini makin personal, banyak pengguna yang ingin dapat menerima dan mengirimkan email langsung dari gadgetnya seperti blackberry, iphone, android, dll yang didalamnya terdapat aplikasi email client. Khusus pada smartphone android, seting outgoing email biasanya menggunakan ssl port 465 dan tls port 587, sehingga mail server harus menyiapkan port tersebut. Dan lebih baik kalau ssl dan tls tidak di port 25 agar tidak terkena filtering seperti rblsmtpd.

Bagi mail server yang proses instalasinya dahulu mengacu ke qmailrocks, harus mengkompilasi ulang qmail dengan menggunakan patch dari john simpson dengan proses sebagai berikut :

$ cd /home/gregor

$ wget http://cr.yp.to/software/qmail-1.03.tar.gz

$ wget http://qmail.jms1.net/patches/qmail-1.03-jms1.7.08.patch

$ tar xvzf qmail-1.03.tar.gz

$ cd qmail-1.03

$ patch < ../qmail-1.03-jms1.7.08.patch

$ make

$ qmailctl stop

$ make setup check

jika muncul pesan error seperti ini :

install: fatal: unable to write …/bin/qmail-lspawn: text busy

itu artinya qmail-send masih aktif. berikan perintah :

$ ps ax | grep qmail-send

lalu kill -9 pid nya. jika tidak ada pesan error berarti instalasi qmail berjalan lancar.

$ cd /service/qmail-smtpd/

$ cp run bak_run

$ wget http://qmail.jms1.net/scripts/service-qmail-smtpd-run

$ vi service-qmail-smtpd-run

lakukan penyesuaian sebagai berikut :

IP=127.0.0.1
PORT=25
SSL=0
SMTP_CDB=/etc/tcp/smtp.cdb
FORCE_TLS=0
DENY_TLS=0
AUTH=1
REQUIRE_AUTH=0
RBLSMTPD_PROG=”rblsmtpd”
RBLSMTPD_TIMEOUT=5

RBL_BAD=”zen.spamhaus.org bl.spamcop.net”

QMAILQUEUE=”$VQ/bin/qmail-scanner-queue”

lalu simpan dan keluar dari vi.

$ cp service-qmail-smtpd-run run

$ chmod 755 run

$ chmod 6711 ~vpopmail/bin/vchkpw

$ chmod 4711 /var/qmail/bin/qmail-scanner-queue

selanjutnya menyesuaikan akses kontrol tcpserver yang mengalami sedikit perubahan. biasanya /etc/tcp.smtp.cdb menjadi /etc/tcp/smtp.cdb  :

$ mkdir -m 755 /etc/tcp
$ cd /etc/tcp
$ wget http://qmail.jms1.net/etc-tcp-makefile
$ mv etc-tcp-makefile Makefile

$ vi smtp

isi dengan :

127.:allow,RELAYCLIENT=”",RBLSMTPD=”"

:allow

simpan dan keluar dari vi

$ make

$ qmailctl start

$ qmailctl stat

pastikan qmail-smtpd up lebih dari 5 detik. jika tidak, lihat log file untuk mengetahui pesan error yang muncul:

$ tail -f /var/log/qmail/qmail-smtpd/current | tai64nlocal

jika terdapat pesan error :

421 unable to read controls #4.3.0

berikan perintah :

$ touch /var/qmail/control/validrcptto.cdb

untuk membuat dummy file. namun jika ingin sungguh-sungguh memanfaatkan patch validrcptto dari john simpson maka harus membuat file validrcptto.cdb yang sesungguhnya menggunakan script mkvalidrcptto.

Selanjutnya seting TLS di port 587 lakukan sebagai berikut :

$ cd /var/qmail/supervise
$ mkdir -m 1755 qmail-smtpd-tls
$ cd qmail-smtpd-tls
$ wget http://qmail.jms1.net/scripts/service-qmail-smtpd-run
$ vi service-qmail-smtpd-run

lakukan penyesuaian sebagai berikut :

IP=192.168.10.25 (sesuaikan dengan ip server)
PORT=587
SSL=0
FORCE_TLS=1
DENY_TLS=0
AUTH=1
REQUIRE_AUTH=1
SMTP_CDB=/etc/tcp/smtptls.cdb
QMAILQUEUE=”$VQ/bin/qmail-scanner-queue.pl”

simpan lalu keluar dari vi

$ mv service-qmail-smtpd-run run

$ chmod 755 run

$ mkdir -m 755 log

$ cd log

$ wget http://qmail.jms1.net/scripts/service-any-log-run

$ vi service-any-log-run

lakukan penyesuaian menjadi :

exec env - PATH=”$VQ/bin:/usr/local/bin:/usr/bin:/bin” \
multilog t n10 s1048576 /var/log/qmail/qmail-smtpd-tls \
‘-*’ ‘+*ver: status:*’ =lstatus

simpan lalu keluar dari vi

$ mv service-any-log-run run

$ chmod 755 run

$ mkdir /var/log/qmail/qmail-smtpd-tls

$ chmod 750 /var/log/qmail/qmail-smtpd-tls

$ chown qmaill.root /var/log/qmail/qmail-smtpd-tls

$ cd /etc/tcp

$ vi smtptls

tambahkan :

127.:allow,RELAYCLIENT=”"
:allow

simpan lalu keluar dari vi

$ vi Makefile

sesuaikan menjadi :

all: smtp.cdb smtptls.cdb

simpan dan keluar dari vi

$ make

$ cd /usr/local/bin

$ wget http://qmail.jms1.net/scripts/vfixpermissions

$ chmod 755 vfixpermissions

$ ./vfixpermissions -s

$ chmod 0755 /var/qmail/bin/qmail-scanner-queue.pl

$ ln -s /var/qmail/supervise/qmail-smtpd-tls /service/

$ svstat /service/qmail-smtpd-tls

pastikan qmail-smtpd-tls up lebih dari 5 detik. jika tidak, lihat log file untuk mengetahui pesan error yang muncul:

$ tail -f /var/log/qmail/qmail-smtpd-tls/current | tai64nlocal

jika ada error “YOU HAVEN’T DISABLED SET-ID SCRIPTS IN THE KERNEL YET!” pastikan perubahan permission qmail-scanner:

$ chmod 0755 /var/qmail/bin/qmail-scanner-queue.pl

Selanjutnya seting SSL di port 465 lakukan sebagai berikut :

instalasi ucspi-ssl:

$ mkdir /package
$ chmod 1755 /package
$ cd /package

$ wget http://www.superscript.com/ucspi-ssl/ucspi-ssl-0.70.tar.gz

$ tar xzfv ucspi-ssl-0.70.tar.gz

$ cd host/superscript.com/net/ucspi-ssl-0.70

$ package/compile

jika muncul pesan error :compile:fatal: cannot make it-base it-sslperl lakukan :

$ package/compile base

$ package/rts base

$ package/install base

$ cd /var/qmail/supervise
$ mkdir -m 1755 qmail-smtpd-ssl
$ cd qmail-smtpd-ssl
$ wget http://qmail.jms1.net/scripts/service-qmail-smtpd-run
$ vi service-qmail-smtpd-run
lakukan penyesuaian :

IP=192.168.10.25 (sesuaikan dengan ip server)
PORT=465
SSL=1
FORCE_TLS=0
DENY_TLS=0
AUTH=1
REQUIRE_AUTH=1
SMTP_CDB=/etc/tcp/smtpssl.cdb
QMAILQUEUE=”$VQ/bin/qmail-scanner-queue.pl”

simpan lalu keluar dari vi

$ mv service-qmail-smtpd-run run

$ chmod 755 run

$ mkdir -m 755 log

$ cd log

$ wget http://qmail.jms1.net/scripts/service-any-log-run

$ vi service-any-log-run

lakukan penyesuaian menjadi :

exec env - PATH=”$VQ/bin:/usr/local/bin:/usr/bin:/bin” \
multilog t n10 s1048576 /var/log/qmail/qmail-smtpd-ssl \
‘-*’ ‘+*ver: status:*’ =lstatus

simpan lalu keluar dari vi

$ mv service-any-log-run run

$ chmod 755 run

$ mkdir /var/log/qmail/qmail-smtpd-ssl

$ chmod 750 /var/log/qmail/qmail-smtpd-ssl

$ chown qmaill.root /var/log/qmail/qmail-smtpd-ssl

$ cd /etc/tcp

$ vi smtpssl

tambahkan :

127.:allow,RELAYCLIENT=”"
:allow

simpan lalu keluar dari vi

$ vi Makefile

sesuaikan menjadi :

all: smtp.cdb smtptls.cdb smtpssl.cdb

simpan dan keluar dari vi

$ make

membuat file SSL key :

$ cd /var/qmail/control
$ openssl req -newkey rsa:1024 -x509 -nodes -days 3650 -out servercert.pem -keyout servercert.pem

isi dengan data yang sesuai.

$ chown root:nofiles servercert.pem
$ chmod 640 servercert.pem

$ cp servercert.pem clientcert.pem
$ chown root:qmail clientcert.pem
$ chmod 640 clientcert.pem

$ ln -s /var/qmail/supervise/qmail-smtpd-ssl /service/

$ svstat /service/qmail-smtpd-ssl

pastikan qmail-smtpd-tls up lebih dari 5 detik. jika tidak, lihat log file untuk mengetahui pesan error yang muncul:

$ tail -f /var/log/qmail/qmail-smtpd-ssl/current | tai64nlocal

chroot dengan jailkit di centos 5.5

October 7, 2011 by gregor · Leave a Comment
Filed under: linux, putty, security, ssh 

Sistem operasi yang digunakan dalam kasus ini adalah centos 5.5 64 bit dan jailkit versi 2.14. Tujuannya adalah agar user tertentu (eg. testuser) di chroot dengan hanya diberi permission shell yang minimal serta boleh menggunakan text editor vi.

sebagai user biasa :

$ wget http://olivier.sessink.nl/jailkit/jailkit-2.14.tar.bz2

$ tar jxvf jailkit-2.14.tar.bz2

$ cd jailkit-2.14
$ ./configure
$ make
$ su -

cd /home/gregor/jailkit-2.14

sebagai root :

$ make install

$ cp /etc/jailkit/jk_init.ini /etc/jailkit/jk_init.ini.orig
$ vi /etc/jailkit/jk_init.ini

tambahkan baris berikut :

[ldconfig]
executables = /sbin/ldconfig
regularfiles = /etc/ld.so.conf

cari section [editors] sesuaikan menjadi :

includesections = terminfo, ldconfig

cari section [basicshell] sesuaikan menjadi :

includesections = uidbasics, ldconfig

simpan lalu keluar dari vi

$ mkdir /home/jail
$ chown root:root /home/jail

inisisasi jail dengan perintah :

$ jk_init -v -j /home/jail basicshell editors

copy beberapa file ke jail

$ jk_cp -j /home/jail /usr/sbin/jk_lsh
$ jk_cp -j /home/jail /usr/bin/id

tambahkan user :

$ useradd testuser
$ passwd testuser

pindahkan user ke jail :

$ jk_jailuser -m -j /home/jail testuser

berikan direktori tmp untuk user dalam jail :

$ mkdir /home/jail/tmp
$ chmod a+rwx /home/jail/tmp

berikan bash shell untuk user dalam jail dengan menyesuaikan file passwd menjadi :

$ vi /home/jail/etc/passwd

testuser:x:501:501::/home/testuser:/bin/bash

cobalah untuk login dengan testuser dari komputer lain via ssh dan perhatikan bahwa testuser sudah di chroot.

blokir situs porno dengan nawala DNS

June 17, 2010 by gregor · Leave a Comment
Filed under: Society and Culture, indonesia, security 

Saya ingin mengucapkan terima kasih kepada nawala project yang menyediakan secara gratis layanan blokir konten porno sehingga kita bisa menggunakan internet sehat dan aman. Dalam tulisan ini saya ingin menginformasikan berdasarkan pengalaman hari ini bahwa ip DNS yang benar yang digunakan oleh nawala project adalah :

180.131.144.144 dan 180.131.145.145

di beberapa situs diinformasikan bahwa ip DNS nawala adalah :

203.34.118.10 dan 203.34.118.12 yang setelah saya coba ternyata tidak benar.

Celah Keamanan Pada BlackBerry

February 11, 2009 by gregor · 1 Comment
Filed under: security 

Research In Motion (RIM), perusahaan perangkat wireless asal Kanada yang lebih dikenal sebagai developer handheld BlackBerry belum lama ini mengumumkan kepada para pengguna BlackBerry mengenai adanya celah keamanan khususnya bagi yang menggunakan BlackBerry Application Web Loader versi 1.0 dan Microsoft Internet Explorer (MSIE).

Kelemahan ini secara spesifik terdapat pada ActiveX control pada BlackBerry Application Web Loader yang dapat mengakibatkan kondisi buffer overflow. Kondisi ini dapat dieksploitasi oleh cracker sehingga memungkinkan untuk mengeksekusi suatu kode program dari jarak jauh atau memacetkan MSIE. ActiveX control tersebut digunakan oleh MSIE untuk menginstal aplikasi-aplikasi pada BlackBerry.
Kelemahan ini akan dialami oleh pengguna BlackBerry yang browsing ke website yang didesain untuk menginstall BlackBerry Application Web Loader ActiveX control melalui koneksi USB. Jika pengguna memilih “Yes” untuk menginstal dan menjalankan ActiveX control maka akan mengakibatkan terjadinya celah keamanan ini.

Disamping RIM, pihak Microsoft pada websitenya juga telah mengeluarkan pengumuman mengenai hal ini.
Celah keamanan ini dapat diatasi dengan mengistall versi BlackBerry Application Web Loader terbaru yang dapat diperoleh pada website blackberry.

Next Page »