Root Jail

Biasanya root jail difunakan untuk meningkatkan keaamanan dari suatu service dengan meubah perspektif dari proses service tersebut. Sehingga root jail terpisah dari root environment. Biasanya juga disebut sebagai root filesystem mini.

contoh sekarang kita akan membuat root jail untuk service httpd:

1.cek file yang berhubungan dengan httpd

[root@localhost ~]# rpm -ql httpd
/etc/httpd
/etc/httpd/conf
/etc/httpd/conf.d
/etc/httpd/conf.d/README
/etc/httpd/conf.d/proxy_ajp.conf
/etc/httpd/conf.d/welcome.conf
/etc/httpd/conf/httpd.conf
/etc/httpd/conf/magic

2. Lihat lokasi daemon httpd

#which httpd

3.Periksa librari yang berhubungan dengan httpd

[root@localhost ~]# ldd /usr/sbin/httpd
linux-gate.so.1 =>  (0×00a22000)
libm.so.6 => /lib/i686/nosegneg/libm.so.6 (0×00e68000)
libpcre.so.0 => /lib/libpcre.so.0 (0×00cfc000)
libselinux.so.1 => /lib/libselinux.so.1 (0×009d7000)
libaprutil-1.so.0 => /usr/lib/libaprutil-1.so.0 (0×00110000)

4. Membuat root file system mini

<!– @page { size: 8.5in 11in; margin: 0.79in } P { margin-bottom: 0.08in } –>

mkdir -p /var/jail/bin

# mkdir -p /var/jail/sbin

# mkdir -p /var/jail/etc

# mkdir -p /var/jail/dev

# mkdir -p /var/jail/tmp

# mkdir -p /var/jail/lib

# mkdir -p /var/jail/proc

# mkdir -p /var/jail/usr/bin

# mkdir -p /var/jail/usr/sbin

# mkdir -p /var/jail/usr/lib

# mkdir -p /var/jail/var/run

# mkdir -p /var/jail/var/lib

# mkdir -p /var/jail/var/log

# mkdir -p /var/jail/home

# mkdir -p /var/jail/etc/init.d

# mkdir -p /var/jail/etc/rc.d/init.d

# mkdir -p /var/jail/var/lock/subsys

5. Mmembuat file yang diperlukan

<!– @page { size: 8.5in 11in; margin: 0.79in } P { margin-bottom: 0.08in } –>

# mknod /var/jail/dev/zero c 1 5

# mknod /var/jail/dev/null c 1 3

# mknod /var/jail/dev/urandom c 1 9

# mknod /var/jail/dev/random c 1 8

# chmod 666 /var/jail/dev/*

6. Menyalin file program httpd dengan dependencynya

Langkah berikutnya adalah menyalin file program daemon httpd beserta dependency nya, serta bebrapa tool lainnya yang dibutuhkan serta file-file konfigurasi yang penting.
Menyalin file httpd dan dependency nya:
# cp /usr/sbin/httpd /var/jail/usr/sbin/
# cp /lib/libm.so.6 /var/jail/lib/
# cp /lib/libpcre.so.0 /var/jail/lib/
# cp /lib/libselinux.so.1 /var/jail/lib/
# cp /usr/lib/libaprutil-1.so.0 /var/jail/usr/lib/
—- lanjutkan penyalinan untuk library lainnya sebagaimana yang terdaftar dari hasil perintah ldd /usr/sbin/httpd —–

<!– @page { size: 8.5in 11in; margin: 0.79in } P { margin-bottom: 0.08in } –>

# cp /etc/services /var/jail/etc/

# cp -rf /etc/ld.so.c* /var/jail/etc/

# cp /sbin/ldconfig /var/jail/sbin/

# cd /var/jail/lib/

# ln -s bash sh

# cp -rf /lib/libnss_* /var/jail/lib/

# cp /etc/fstab /var/jail/etc

# cp /bin/grep /var/jail/bin/

# mkdir /var/jail/etc/init.d

# mkdir -p /var/jail/etc/rc.d/init.d/

# cp /lib/libtermcap.so.2 /var/jail/lib/

# cp /etc/rc.d/init.d/functions /var/jail/etc/rc.d/init.d/

# cp /sbin/consoletype /var/jail/sbin/

# cp /etc/shells /var/jail/etc/

# cp /etc/mime.types /var/jail/etc/

# cp /bin/usleep /var/jail/bincp /etc/passwd /var/jail/etc

# cp /etc/group /var/jail/etc

# cp /etc/shadow /var/jail/etc

# cp /etc/bashrc /var/jail/etc

# cp /etc/profile /var/jail/etc

# cp /etc/profile /var/jail/etc

# cp /etc/localtime /var/jail/etc

# cp /etc/hosts /var/jail/etc

# cp -rf /etc/profile.d /var/jail/etc

# cp /lib/ld-* /var/jail/lib/

# cp /bin/bash /var/jail/bin/

# cp /etc/nsswitch.conf /var/jail/etc/

# cp /usr/bin/getent /var/jail/usr/bin/

# cp /etc/services /var/jail/etc/

# cp -rf /etc/ld.so.c* /var/jail/etc/

# cp /sbin/ldconfig /var/jail/sbin/

# cd /var/jail/lib/

# ln -s bash sh

# cp -rf /lib/libnss_* /var/jail/lib/

# cp /etc/fstab /var/jail/etc

# cp /bin/grep /var/jail/bin/

# mkdir /var/jail/etc/init.d

# mkdir -p /var/jail/etc/rc.d/init.d/

# cp /lib/libtermcap.so.2 /var/jail/lib/

# cp /etc/rc.d/init.d/functions /var/jail/etc/rc.d/init.d/

# cp /sbin/consoletype /var/jail/sbin/

# cp /etc/shells /var/jail/etc/

# cp /etc/mime.types /var/jail/etc/

# cp /bin/usleep /var/jail/bin

<!– @page { size: 8.5in 11in; margin: 0.79in } P { margin-bottom: 0.08in } –>

Menyalin tool lainnya beserta dependency , misal tool ‘ls’ :

[root@localhost]# which ls

/bin/ls

[root@localhost]# cp /bin/ls /var/jail/bin/

[root@localhost]# ldd /bin/ls

linux-gate.so.1 => (0×00110000)

librt.so.1 => /lib/librt.so.1 (0×001a4000)

libacl.so.1 => /lib/libacl.so.1 (0×00681000)

libselinux.so.1 => /lib/libselinux.so.1 (0×00229000)

libc.so.6 => /lib/libc.so.6 (0×004fa000)

libpthread.so.0 => /lib/libpthread.so.0 (0×00668000)

/lib/ld-linux.so.2 (0×004dd000)

libattr.so.1 => /lib/libattr.so.1 (0×002b7000)

libdl.so.2 => /lib/libdl.so.2 (0×00662000)

libsepol.so.1 => /lib/libsepol.so.1 (0×00242000)

[root@localhost]# cp -rf /lib/librt.so.1 /var/jail/lib/

[root@localhost]# cp -rf /lib/libacl.so.1 /var/jail/lib/

[root@localhost]# cp -rf /lib/libselinux.so.1 /var/jail/lib/

[root@localhost]# cp -rf /lib/libc.so.6 /var/jail/lib/

[root@localhost]# cp -rf /lib/libpthread.so.0 /var/jail/lib/

[root@localhost]# cp -rf /lib/libattr.so.1 /var/jail/lib/

[root@localhost]# cp -rf /lib/libdl.so.2 /var/jail/lib/

[root@localhost]# cp -rf /lib/libsepol.so.1 /var/jail/lib/

Ulangi langkah yang hampir sama untuk menyalin beberapa tool lainnya.

<!– @page { size: 8.5in 11in; margin: 0.79in } P { margin-bottom: 0.08in } –>

Setelah chroot environment dibangun langkah berikutnya coba Anda akses chroot environment tersebut dengan perintah sebagai berikut :

#chroot /var/jail

-bash-3.1$ ls

<!– @page { size: 8.5in 11in; margin: 0.79in } P { margin-bottom: 0.08in } –>

Jika akses ke root jail berhasil coba Anda menjalankan daemon httpd :

#chroot /var/jail /usr/sbin/httpd

atau

#chroot /var/jail /etc/init.d/httpd start

biasanya pada saat mencoba perinta di atas jika masih ada kekeurangan librari atau depency akan di beri tahu.

misal yang kurang lib perl.so, maka anda cari dengan perintah:

locate perl.so

/usr/lib/perl.so kemudian kopi lagi ke root jailnya

cp /usr/lib/perl.so /var/jail/usr/lib

kemudian ulanngi menjalan kan perintah chrootnya. kalau sudah tidak ada masalah lagi lakukan perintah:

<!– @page { size: 8.5in 11in; margin: 0.79in } P { margin-bottom: 0.08in } –>

# pgrep httpd

16424

<!– @page { size: 8.5in 11in; margin: 0.79in } P { margin-bottom: 0.08in } –>

[root@labtop1 ~]# ls -al /proc/16424

maka akan ditampilkan pesan

<!– @page { size: 8.5in 11in; margin: 0.79in } P { margin-bottom: 0.08in } –>

lrwxrwxrwx 1 root root 0 Sept 1 04:15 root -> /var/jail



Zimbra CLI

Start, stop, status of the Zimbra servers.
zmcontrol
Performs mailbox management tasks
zmmailbox
Performs all provisioning tasks in Zimbra LDAP,
zmprov
example: zmprov sp adminname@domain.com password
zmprov ca namauser@domain.com password
zmprov sp namauser@domain.com New_Password
When you create an account, you may want to pre-create some tags and folders. You can invoke zmmailbox inside of zmprov by using “selectMailbox(sm)”

root@efrizal-laptop:/opt/zimbra# /opt/zimbra/bin/zmprov
prov> ca efri@mail.fery.ok password
953df672-097f-4b5c-b152-0d6e33232026

prov> sm efri@mail.fery.ok
mailbox: efri@mail.fery.ok, size: 0 B, messages: 0, unread: 0
mbox efri@mail.fery.ok>

To find the mailbox size for an account
zimbra@efrizal-laptop:~$ zmmailbox -z-m imi@mail.fery.ok gms 1.60 MB Start, stop, or find the status of zimbra LDAP ldap Perform a search on an LDAP server ldapsearch Start, stop, or find the status of the MySql logmysql Start, stop the SQL instance for the logger logmysql.server Send myslqadmin commands to the logger mysql logmysqladmin Start, stop, find the status of the mailboxd server mailboxd Enters interactive command-line MySQL session mysql Start, stop the SQL instance for the mailbox mysql.server Send admin commands to MySQL mysqladmin Postfix command to view or modify the postfix postconf Start, stop, reload, flush, check, upgrade- postfix Lists the accounts and gives the status of zmaccts Start, stop, or find the status of the Amavis-D zmamavisdctl Sart, stop, reload, status for anti-spam service zmantispamctl Start, stop, reload, status for the anti-virus service zmantivirusctl Start, stop, status of Apache service (for spell zmapachectl Performs full backups and incremental backups zmbackup Stops a backup that is in process. zmbackupabort Find a specific full backup set zmbackupquery Start, stop, or find the status of Clam AV zmclamdctl Clean iPlanet ICS calendar files zmcleaniplanetics Start, stop, the conversion server or find the zmconvertctl manage self-signed and commercial certificates zmcertmgr General information about the server zmdumpenv Fixes calendar entries with incorrect TZ offset zmfixtz Find the hostname of the Zimbra server zmhostname Start, stop and status of a HSM session. zmhsm Execute Java with Zimbra-specific environment zmjava Changes the LDAP password zmldappasswd View and install your Zimbra license zmlicense testing tool zmlmtpinject Used to set or get the local configuration of a zmlocalconfig Zimbra server Start, stop, reload, or find the status of the Zimbra zmloggerctl Start, stop, status of the swatch that is monitoring zmlogswatchctl logging Start, stop, reload, or find the status of the zmmailboxdctl Used to move selected mailboxes from one zmmailboxmove zibra server to another. Search across mailboxes to find messages and zmmboxsearch example: zmmboxsearch -m user1@yourdomain.com,user2@yourdomain.com -q “in:inbox” -d /var/tmp Trace messages zmmsgtrace Start, stop, or find the status of the MTA zmmtaconfigctl Start, stop, or find the status of the MTA zmmtactl Change logger MySQL password zmmylogpasswd Change MySQL passwords zmmypasswd Status of mailbox SQL instance zmmysqlstatus Start, stop, or find the status of the perdition IMAP zmperditionctl Start or stop IMAP proxy service zmproxyctl Performs full restores and incremental restores zmrestore Restore accounts from the LDAP backup zmrestoreldap Performs full restore when the Zimbra server zmrestoreoffline Start, stop, or find the status of saslauthd zmsaslauthdctl Schedule backups zmschedulebackup Used for other zm scripts, do not use zmshutil Retrieve spam and relocate it to a specified directory zmspamextract Start, stop, or find the status of the spell check zmspellctl server Generate Zimbra’s SSH encryption keys zmsshkeygen



Surveyor Indonesia

Surveyor Indonesia.

Hari ini ngasih tranining Linux networking di surveyor indonesia. Yang ikut hanya 4 orang bagian IT saja. Mereka berharap bulan depan sudah mulai bisa migrasi ke Linux.
Mereka memilih Ubuntu untuk deskto client sedang Server mereka pakai Centos 5. Alhamdulillah training berjalan lancar, cuman kendala waktu sharing printer. Printernya baru kali ini saya lihat HP berapa ya lupa. Ukuranya sebesar meja kerja. Akhirnya bisa juga pakai CUPS.
Minggu ini akan ada dari kita kesana untuk pendampingan migrasi. Semoga sukse migrasinya



Ristek dan Diandidaktita

Bulan ini ada dua proyek pertama tambahan 20 orang dari ristek dengan materi yang sama dengan sebelumnya, tapi ada tambahan beberapa materi dari ristek. Kemudian dari dian didaktita dengan materi system adminitrator dan networking semoga berjalan lancar.


Ristek

Bulan ini ada proyek dari Ristek untuk training sekitar 60 orang. Jadwalnya dibagi tiga yakni 20 orang bulan juni 20 awal juli dan 20 akhir juli. Kali ini mereka yang ikut serta diharapkan dapar lulus sertifikasi yang dikeluarkan oleh BNSP.
Materinya adalah Helpdesk, dengan menggunakan distro IGOS, materi untuk helpdek biasanya dari instalasi, perintah dasar, koneksi internet, dan email client.


network monitoring

Dilinux sekarang sudah banyak tersedia tools untuk memonitor jaringan, sebut saja MRTG (http://oss.oetiker.ch/mrtg), Cactis (www.cactis.net), Munim (http://munim.project.linpro.no), Nagios (www.nagios.org), ZABBIX (www.zabbix.org) dan Zennos (www.zennos.com). Semuanya merupakan aplikasi untuk memonitor jaringan yang berbasis web. Sebenarnya aplikasi ini banyak mengunakan aplikasi berbasis terminal seperti SNMP, RDDTool serta ping. Jadi tanpa mengunakan aplikasi di atas sebenarnya kita sudah bisa langsung memonitoring dengan mengunakan perintah yang ada, tapi tentu saja tidak sebagus yang sudah di bundel dalam sebuah aplikasi. contoh: 1.iptraf iptraf merupakan perintah yang dapat memonitor IP pada jaringan dengan berbagai macam jenis statistic. Termasuk diantaranya yang dapat di monitoring TCP info, UDP counts, ICMP dan OSPF information, Ethernet load info, node stats, IP checksum errors, dan beberapa yang lainya. Tampilanya cukup bagus sehingga akan memudahkan orang untuk membacanya. Untuk memulainya anda cukup ketikan diprompt “iptraf” kemudian anda pilihan: IP traffic monitor General interface statistic Statistical breakdown Lan station monitor Filter configure exit Silahkan dicoba menu mana yang akan anda mulai gunakan. 2.


Samba Backend

Data base yang digunakan Samba

Pada rilis terakhir yang di keluarkan samba, terdapat beberapa fitur baru, termasuk password baru yang menjadi backend.
Ada beberapa backend yang digunakan, diantaranya :

Plain Text

Plain text backends mirip dengan /etc/passwd backends. Dengan plain text backend, semua username dan password dikirimat unencrypted (tidak dienkripsi) antara client dan Samba server. Metode ini sangat tidak aman dan tidak di rekomendasikan untuk memakainya.

smbpasswd

smbpasswd merupakan backend yang paling popular digunakan, smbpasswd backend mempunyai kemampuan untuk mengetahui ASCII text, termasuk MS Windows LanMan and NT account, serta password di enkripsi. smbpasswd backend kurang mampu meyimpan Windows NT/2000/2003 SAM extended controls. smbpasswd backend ini tidak di rekomendasikan karena tidak mampu menangani keseluruhan informasi Windows, seperti RIDs pada NT-based groups. Untuk pemecahan masalah ini anda bisa mengunakan tdbsam backend untuk database (250 user).

ldapsam_compat

ldapsam_compat backend bisa digunakan untuk di kembangankan ke OpenLDAP. Ini biasa digunakan untuk samba versi 3.0.

tdbsam

tdbsam backend sangat ideal untuk database backend server local, dimana server tidak harus membuat replikasi, dan server tidak harus mampu seperti komplesitas LDAP. tdbsam backend sudah termasuk semua smbpasswd database.
tdbsam backend direkomendasikan 250 user atau lebih.

ldapsam

ldapsam backend menyediakan optimasi instalasi account samba. LDAP lebh optimal karena mempunyai kemampuan untuk meriplikasi database bagi server yang mengunkan OpenLDAP. Jika anda ingin mengupgeade versi samaba biasanya catatanya ada di /usr/share/doc/samba-/LDAP/samba.schema. File ini berisi attribute ,defenisi perintah dan defenisi objectclass. Jika anda mengunakana ldapsam backend untuk server, anda akan harus mengkonfigurasi slapd untuk masuk ke schema file ( /etc/openldap/schema/ ).

mysqlsam

mysqlsam backend mengunakan MySQL-based database backend. Ini digunakan untuk yang telah siap mengimplementasikan MySQL. mysqlsam sekarang ini mempunyai module yang terpisah dari samba dan tidak hanya support untuk samba saja.



Fasilkom UI

Minggu ini training untuk orang jaringan fasilkom UI ada fasnul, neneng, yuli, hadi dan karwan mereka belajar dari basic sampai nertworking, sekitar 32 jam.
Dikantor mereka sudah mengunakan linux dengan base Ubuntu, Satu kali pertemuan cuma 4 jam.


amavis,clamav dan postfix admin pada email server postfix

 Amavisd

Amavisd-New adalah content filter yang ditulis menggunakan perl (Net::Server) dan berjalan secara daemonizedsehingga memungkinkan penanganan lalu lintas email besar tanpa harus banyak memakan resource komputer yang tersedia. Selain itu, amavisd-new dapat menerima email yang akan diperiksa melalui SMTP sehingga dapat dipadukan dengan mudah dengan hampir semua MTA yang ada.

Dalam memeriksa email, amavisd-new menyimpan hashtiap email yang masuk. Bila hash email yang masuk belum tersimpan maka amavis akan memeriksa email tersebut secara utuh. Bila hashnya sudah ditemukan maka email tersebut tidak akan diperiksa, dan keputusan terima/tolaknya diambil sesuai dengan hasil hash yang sudah ada. Bila sebelumnya email dengan jenis hash itu didrop, maka email baru ini akan didrop, dan sebaliknya.

Amavisd-New memerlukan beberapa modul perl yaitu:

  1. Archive::Tar

  2. Archive::Zip

  3. Compress::Zlib

  4. Convert::TNEF

  5. Convert::UUlib

  6. MIME::Base64

  7. MIME::Parser

  8. Mail::Internet

  9. Net::Server

  10. Net::SMTP

  11. Digest::MD5

  12. IO::Stringy

  13. Time::HiRes

  14. Unix::Syslog

Selain itu amavisd-new juga dapat menggunakan beberapa program kompresi, seperti unarj, unzip, unrar, dan sejenisnya digunakan untuk memeriksa virus yang dibawa oleh attachment yang dikompres.

Instalasi amavisd

Aplikasi amavisd-new membutuhkan dukungan modul perl. Secara default instaler TSL 2.0 tidak memberikan dukungan kepada modul-modul ini. Jadi harus mengambil secara langsung dari internet.

Amavisd-New memerlukan beberapa modul perl jadi cek terlebih dahulu apakah perl-devel dan modul – modul yang dibutuhkan sudah terinstall disistem.

[root@bugihlamo]# rpm -qa | grep perl

perl-5.8.0-10tr

perl-devel-5.8.0-10tr

module Archive::Zip membutuhkan binary zip dan unzip, pastikan sudah terinstall sebelumnya. bila tidak pada waktu make test akan terlihat pesan error
warning: unzip -t doesn’t seem to work,…

Cara yang paling mudah mendownload dan instalasi modul yang dibutuhkan adalah dengan menggunakan shell dari program perl dan konfigurasikan dengan sistem anda, bila shell perl sudah siap, maka mulailah mendownlot (serta instalasi) modul perl dengan perintah perintah :

[root@bugihlamo]# perl -MCPAN -e shell ‘install Archive::Tar’

Ulangi perintah diatas sampai semua modul perl terinstall

Sekarang kita akana memulai instalasi amavis.

  1. Ambil/download amavisd-new terbaru di

#wget –c http://www.ijs.si/software/amavisd/amavisd-new- /s

  1. lalu extrak dan masuk kedalam direktorynya

[root@bugihlamo]# tar -zxvf amavisd-new-20030616-p6.tar.gz

[root@bugihlamo]# cd amavisd-new-20030616

  1. Kopikan script amavisd ke /usr/local/sbin dan set ijin akses

[root@bugihlamo# amavisd-new-20030616]# cp amavisd /usr/local/sbin/

  1. Siapkan direktory untuk amavisd, disini saya pilih user yang menjalankan amavis sama dengan user clamav, agar tidak bermasalah dengan daemon clamd.

[root amavisd-new-20030616]# mkdir /amavis

[root amavisd-new-20030616]# chown clamav:clamav /amavis/.

[root amavisd-new-20030616]# chmod 750 /amavis/

[root amavisd-new-20030616]# mkdir /var/virusmails

[rootamvidd-new-20030616]# chown clamav.clamav var/virusmails

[root amavisd-new-20030616]# chown root

/usr/local/sbin/amavisd

[root amavisd-new-20030616]# chmod 755 /usr/local/sbin/amavisd

  1. Kopikan file configurasi

[root amavisd-new-20030616]# cp amavisd.conf /etc/

[root amavisd-new-20030616]# chown root /etc/amavisd.conf

[root amavisd-new-20030616]# chmod 644 /etc/amavisd.conf

  1. .Edit beberapa bagian amavisd.conf dan edit seperti contoh :

[root amavisd-new-20030616]# vim /etc/amavisd.con

hilangkan tanda #

$mydomain =’bugihlamo.com’; (sesuaikan dengan domain anda)

$daemon_user =’clamav’;

$daemon_group =’clamav’;

$max_servers = 2;

@bypass_spam_checks_acl = qw( . ); hilangkan tanda # untuk

mematikan dukungan spamassin

@local_domains_acl = ( “.$mydomain” );

@inet_acl = qw( 127.0.0.1 );

$LOGFILE = “$MYHOME/amavis.log”;

$virus_admin = ‘virus-admin@bugihlamo.com’;

$spam_admin = ‘virus-admin@bugihlamo.com’;

$QUARANTINEDIR = ‘/var/virusmails’;

#$unix_socketname = “$MYHOME/amavisd.sock”;matikan baris

203, postfix tdk pakai sock helper hilangkan tanda #, untuk
dukungan daemon clamd, agar proses scanning lebih cepat

['Clam Antivirus-clamd',
    &ask_daemon, ["CONTSCAN {}n", '/var/amavis/clamd'],

qr/bOK$/, qr/bFOUND$/,

qr/^.*?: (?!Infected Archive)(.*) FOUND$/ ],


terlihat amavisd akan memakai local socket
/var/amavis/clamd,maka ubah /usr/local/etc/clamd.confsesuaikan dengan local socket yang diperlukan. Selain itu matikan semua antivirus yang tidak dipakai agar waktu startup amavisd bisa lebih cepat

  1. Bila file amavisd.conf dan clamd.conf sudah diedit dan disesuaikan, maka dicoba dengan test

[root amavisd-new-20030616]# /usr/local/sbin/amavisd debug ..starting. amavisd at mizuno.redkurawa.com..

..Perl version 5.008

..Module Amavis::Conf 1.15

..Net::Server: Beginning prefork (2 processes)

..Net::Server: Starting “2″ children

..Net::Server: Child Preforked (3061)

..Net::Server: Parent ready for children.

..Net::Server: Child Preforked (3062)

buka console/terminal baru, test port 10024 dan user yang menjalankan amavisd

[root@PPST-13 amavisd-new-20030616]# netstat -tpan | grep 10024

tcp 0 0 127.0.0.1:10024 0.0.0.0:* LISTEN 3063/perl

  1. Agar bisa langsung start pada saat server berjalan kopikan file init script dari amavis ke init.d

[root amavisd-new-20030616# cp amavisd_init.sh /etc/init.d/amavisd

[root amavisd-new-20030616# chmod 755 /etc/init.d/amavisd

[root]# /etc/init.d/amavisd start

Starting amavisd: [ OK ]

Konfigurasi pada Postfix

Setelah selesai mengkonfigurasi amavisd-new, sekarang kita harus mengkonfigurasi postfix untuk menggunakan amavisd-new sebagai content-filter. Konfigurasi yang perlu dilakukan terdapat pada file main.cfdan master.cf.

A. main.cf

# vim /etc/postfix/main.cf

Tambahkan baris di bawah ini untuk menentukan ke mana postfix harus mengirimkan email yang akan diperiksa.


content_filter = smtp-amavis:[127.0.0.1]:10024             smtp-amavis_destination_concurrency_limit=10

B. master.cf

# vim /etc/postfix/master.cf

Tambahkan beberapa baris di bawah ini agar service “smtp-amavis” dapat digunakan oleh postfix.

smtp-amavis unix - - n - 2 smtp
       -o smtp_data_done_timeout=1200
       -o disable_dns_lookups=yes

127.0.0.1:10025 inet n - n - - smtpd

        -o content_filter=
        -o local_recipient_maps=
        -o relay_recipient_maps=
        -o smtpd_restriction_classes=
        -o smtpd_client_restrictions=
        -o smtpd_helo_restrictions=
        -o smtpd_sender_restrictions=
        -o smtpd_recipient_restrictions=permit_mynetworks,reject
        -o mynetworks= 192.168.1.0/24 127.0.0.0/8
        -o strict_rfc821_envelopes=yes

Pada baris pertama dapat anda lihat bahwa smtp-amavis dikonfigurasikan untuk dapat menerima dua email sekaligus dalam satu waktu. Angka yang terdapat di sini harus sama dengan angka yang terdapat pada variabel $max_serversyang terdapat pada konfigurasi amavisd-new.

Setelah itu jangan lupa untuk merestart postfix.

# /etc/init.d/postfix restart
Stopping amavisd: [ OK ].

Starting amavisd: [ OK ]

Anda dapat mengujinya dengan mengirimkan file berVirus(sample) yang terdapat pada paket clamav atau dengan telnet

# telnet 127.0.0.1 10024

Trying 127.0.0.1…

Connected to 127.0.0.1.

Escape character is ‘^]’.

220 [127.0.0.1] ESMTP amavisd-new service ready

MAIL FROM:root

250 2.1.0 Sender root OK

RCPT TO:

250 2.1.5 Recipient postmaster OK

DATA

354 End data with .

Subject: virus tes

tekan enter disini 1x

X5O!P%@AP[4PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*

250 2.5.0 Ok, id=00663-01, BOUNCE << respon dari amavis

quit

221 2.0.0 [127.0.0.1] (amavisd) closing transmission channel

Connection closed by foreign host.

Bila percobaan sukses anda akan menerima email warning dari virusalert@domain anda.com.

Installasi Clamav

Paket program yang dibutuhkan untuk instalasi clamav ada tiga yaitu clamav, clamav-daemon, dan clamav-freshclam.

Download, ekstrak dan ganti direktori ke source clam antivirus :


NOTE: sesuaikan dengan versi CLAMAV anda!

# tar -xzvf clamav-0.90.tar.gz

# cd clamav-0.90

Buat user dan group yang akan menjalankan daemon clam anvirus :


 

# groupadd clamav

# useradd -g clamav -s /bin/false -c “Clam AntiVirus” clamav

Lakukan kompilasi dan install :


 

# ./configure

# make

# make install

Pindah file konfigurasi standar dari clam antivirus, karena kita akan mengedit file konfigurasi tersebut :


 

# cd /usr/local/etc/clamd.conf

Editlah file clamd.conf


 

LogFile /var/log/clamav/clamd.log

LogFileUnlock yes

LogFileMaxSize 2M

LogVerbose

LogTime yes

LogClean yes

LogSyslog yes

LogVerbose yes

PidFile /var/run/clamd.pid

DatabaseDirectory /usr/src/clamav-0.90

LocalSocket /var/amavis/clamd

TCPSocket 3310

StreamMaxLength 20M

User clamav

Debug yes

ScanPE yes

ScanOLE2 yes

ScanMail yes

ScanHTML yes

ScanArchive

ArchiveMaxFileSize 15M

ArchiveMaxRecursion 10

ArchiveMaxFiles 1500

ArchiveMaxCompressionRatio 300

ArchiveBlockEncrypted no

ArchiveBlockMax no

Jalankan daemon clam antivirus (clamd ) :


 

# clamd

Periksa apakah daemon tersebut sudah berjalan seperti yang kita inginkan :


 

# ps aux grep clamd

clamav 8989 0.0 4.8 9340 6188 ? S 16:31 0:00 clamd

clamav 8990 0.0 4.8 9340 6188 ? S 16:31 0:00 clamd

clamav 8991 0.0 4.8 9340 6188 ? S 16:31 0:00 clamd

Untuk menjalankan daemon clamd setiap server di reboot :


 

# echo /usr/local/sbin/clamd >> /etc/rc.d/rc.local

Tanpa berpindah dari direktori source clam antivirus, lakukan test dengan cara menscan misalkan, direktori test:


 

# clamscan -r test

Kemudian download update database virus yang paling baru :


 

# freshclam

Jika sudah selesai kemudian kita jalankan daemon proses update database virus tersebut secara otomatis (akan dilaksanakan

pengecekan database virus yang paling baru 2 kali dalam sehari ) :


 

# touch /var/log/clamav/clam-update.log

# chmod 644 /var/log/clamav/clam-update.log

# chown clamav /var/log/clamav/clam-update.log

Jalankan daemonnya (freshclam):


 

    Postfix admin

Requirements:
- Postfix 2.0 atau Lebih tinggi.
- Apache 1.3.27 atau lebih Tinggi
- PHP 4.1 atau lebih Tinggi
- MySQL 3.23.55 atau lebih tinggi

Saya Asumsikan anda sudah menginstal Apache, PHP, dan MySQL pada
system komputer anda. Untuk Selanjutnya mari kita Instal postfix yg support MySQL.

Instalasi postfix admin

Download sourcenya di http://www.high5.net/postfixadmin/
[root]# tar xzvf postfixadmin-2.1.0.tgz

Baca dulu DATABASE_MYSQL.TXT, anda pelu mengubah password yg akan mengakses database anda misal user adalah postfix dan passwordnya adalah ‘ratna’, maka pada bagian ini di edit:
INSERT INTO user (Host, User, Password) VALUES (’localhost’,'postfix’,password(’postfix’));
Menjadi :
INSERT INTO user (Host, User, Password) VALUES (’localhost’,'postfix’,password(’ratna’));
dan :
INSERT INTO user (Host, User, Password) VALUES (’localhost’,'postfixadmin’,password(’postfixadmin’));
Menjadi :
INSERT INTO user (Host, User, Password) VALUES (’localhost’,'postfix’,password(’ratna));

Kemudian anda save ,setelah itu kita buat databasenya
[root postfixadmin-2.1.0# mysql -u root < DATABASE_MYSQL.TXT
Enter password:

untuk memastikan kalo databasenya sudah ada kita coba liat databasenya
[root] # /usr/bin/mysql -u postfix -p postfix
Enter password:

Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 1439 to server version: 3.23.58-kepet-log
Type ‘help;’ or ‘h’ for help. Type ‘c’ to clear the buffer.

mysql> show tables;
+——————-+
| Tables_in_postfix |
+——————-+
| admin |
| alias |
| domain |
| domain_admins |
| log |
| mailbox |
| vacation |
+——————-+
7 rows in set (0.04 sec)

mysql> desc admin;
+———-+————–+——+—–+———————+——-+
| Field | Type | Null | Key | Default | Extra |
+———-+————–+——+—–+———————+——-+
| username | varchar(255) | | PRI | | |
| password | varchar(255) | | | | |
| created | datetime | | | 0000-00-00 00:00:00 | |
| modified | datetime | | | 0000-00-00 00:00:00 | |
| active | tinyint(4) | | | 1 | |
+———-+————–+——+—–+———————+——-+
5 rows in set (0.04 sec)

mysql> desc alias;
+———-+————–+——+—–+———————+——-+
| Field | Type | Null | Key | Default | Extra |
+———-+————–+——+—–+———————+——-+
| address | varchar(255) | | PRI | | |
| goto | text | | | | |
| domain | varchar(255) | | | | |
| created | datetime | | | 0000-00-00 00:00:00 | |
| modified | datetime | | | 0000-00-00 00:00:00 | |
| active | tinyint(4) | | | 1 | |
+———-+————–+——+—–+———————+——-+
6 rows in set (0.00 sec)

mysql> desc domain;
+————-+————–+——+—–+———————+——-+
| Field | Type | Null | Key | Default | Extra |
+————-+————–+——+—–+———————+——-+
| domain | varchar(255) | | PRI | | |
| description | varchar(255) | | | | |
| aliases | int(10) | | | -1 | |
| mailboxes | int(10) | | | -1 | |
| maxquota | int(10) | | | -1 | |
| created | datetime | | | 0000-00-00 00:00:00 | |
| modified | datetime | | | 0000-00-00 00:00:00 | |
| active | tinyint(4) | | | 1 | |
+————-+————–+——+—–+———————+——-+
8 rows in set (0.00 sec)

mysql> desc domain_admins;
+———-+————–+——+—–+———————+——-+
| Field | Type | Null | Key | Default | Extra |
+———-+————–+——+—–+———————+——-+
| username | varchar(255) | | MUL | | |
| domain | varchar(255) | | | | |
| created | datetime | | | 0000-00-00 00:00:00 | |
| active | tinyint(4) | | | 1 | |
+———-+————–+——+—–+———————+——-+
4 rows in set (0.01 sec)

mysql> desc log;
+———–+————–+——+—–+———————+——-+
| Field | Type | Null | Key | Default | Extra |
+———–+————–+——+—–+———————+——-+
| timestamp | datetime | | MUL | 0000-00-00 00:00:00 | |
| username | varchar(255) | | | | |
| domain | varchar(255) | | | | |
| action | varchar(255) | | | | |
| data | varchar(255) | | | | |
+———–+————–+——+—–+———————+——-+
5 rows in set (0.00 sec)

mysql> desc mailbox;
+———-+————–+——+—–+———————+——-+
| Field | Type | Null | Key | Default | Extra |
+———-+————–+——+—–+———————+——-+
| username | varchar(255) | | PRI | | |
| password | varchar(255) | | | | |
| name | varchar(255) | | | | |
| maildir | varchar(255) | | | | |
| quota | int(10) | | | -1 | |
| domain | varchar(255) | | | | |
| created | datetime | | | 0000-00-00 00:00:00 | |
| modified | datetime | | | 0000-00-00 00:00:00 | |
| active | tinyint(4) | | | 1 | |
+———-+————–+——+—–+———————+——-+
9 rows in set (0.01 sec)

mysql> desc vacation;
+———+————–+——+—–+———————+——-+
| Field | Type | Null | Key | Default | Extra |
+———+————–+——+—–+———————+——-+
| email | varchar(255) | | PRI | | || subject | varchar(255) | | | | |
| body | text | | | | |
| cache | text | | | | |
| domain | varchar(255) | | | | |
| created | datetime | | | 0000-00-00 00:00:00 | |
| active | tinyint(4) | | | 1 | |
+———+————–+——+—–+———————+——-+
7 rows in set (0.06 sec)

mysql> q
Bye

Pindahkan direktory postfixadmin-2.1.0 ke home direktori dari apache anda misalkan ada di /var/www/html/postfixadmin-2.1.0

[root@PPST-13 /src# mv postfixadmin-2.1.0 /var/www/html/postfix

pindah ke diretory /var/www/html/postfix
[root@PPST-13 /src# cd /var/www/html/postfix

Copy file config.inc.php.sample menjadi config.inc.php
[root@PPST-13 postfixadmin-2.1.0 # cp config.inc.sample config.inc.php

Edit file config.inc.php dan sesuaikan dengan user postfixadmin di MySQL.
//
$db_host = “localhost”;
$db_name = “postfix”;
$db_user = “postfix”;
$db_pass = “ratna”;
dst …

Tentukan user dan group yang menjalankan proses apache :
[root postfixadmin-2.1.0 # egrep ‘^(User|Group)’ /etc/httpd/conf/httpd.conf

User apache
Group apache

Dari perintah diatas kita peroleh user apache dan group apache, kemudian ganti kepemilikan direktori /var/www/postfix menjadi user apache dan group apache :
[root postfixadmin-2.1.0 # chown -R apache:apache /var/www/html/postfix/

ubah permisionnya (opsional)
[root postfixadmin-2.1.0 # chmod 640 *.php *.css
[root@PPST-13 postfixadmin-2.1.0 # chmod 640 admin/*.php.ht*
[root@PPST-13 postfixadmin-2.1.0 # chmod 640  images/*.png [root@PPST-13 postfixadmin-2.1.0 # chmod 640 languages/*.lang
[root postfixadmin-2.1.0 # chmod 640  users/*.php
[root  postfixadmin-2.1.0 # chmod 640 templates/*.tpl

Edit file .htaccess di /var/www/html/postfix/admin, dan sesuaikan dengan keberadaan file .htpasswd. Anda bisa menggunakan .htpasswd bawaan postfixadmin dengan user admin dan password juga admin. Sehingga baris pertama dari file .htaccess sebagai berikut.
AuthUserFile /var/www/html/postfix/admin

Buka Browser Anda, dan isikan pada kotak address dengan
http://host.domain_anda.com/admin
Anda akan diminta mengisikan user name dan password.. Jika Anda menggunakan file passwd bawaan postfixadmin, user dan passwordnya adalah admin.

Setelah Anda login yang harus Anda lakukan adalah:
-  Menambah Virtual Domain dengan New Domain

-  Menambahkan Admin Virtual Domain berupa alamat email dengan New Domain Admin

Berikutnya pada kotak address ganti dengan http://host.domain_anda.com/
Anda akan ditanya username untuk admin virtual domain. Isikan user dengan email dari admin dan passwordnya.

Setelah Anda login yang harus Anda lakukan adalah:
- Login dengan email admin domain yang sudah dibuat

- Menambah account untuk virtual domain dengan Add Mailbox

- Menambah alias yang akan diforward ke account di mailbox dengan Add Alias

- Melihat data alias dan mailbox dengan Overview

- Setelah itu Anda bisa mengirim pesan dengan memilih Send Email.

 [root posfixadmin-2.1.0 # tail –f /var/log/maillog

Jika proses pengiriman pesan berhasil, lihatlah isi dari direktori /home/vmail. Di dalam direktori tersebut akan terdapat sebuah direktori yang sama dengan domain virtual yang sudah ditambahkan. Dan di dalam direktori domain akan terdapat direktori mailbox dari account yang
sudah Anda tambahkan. Untuk itu lihatlah isi direktori “new” dari account yang sudah dikirimi pesan. Jika benar, maka akan terdapat file yang berisi
pesan.
Sampai di sini maka SMTP, MySQL, dan Potfixadmin sudah bekerja dengan baik…



setup dan kontrol loop devices

Untuk melakukan setup dan kontrol loop device bisa dengan mengunakan losetup, yang digunakan untuk mengabungkan loop device dengan file biasa atau block devices. Biasanya digunakan untuk meng-enkripsi pada sebuah media penyimpanan (misal flashdisk).
Bentuk perintah yang digunakan oleh losetup adalah:


losetup [{-e|-E} encryption] [-o offset] [-p pfd] {-f[-s]|loop_device} file

OPTIONS
-a, –all
lihat semua status dari devices

-d, –detach
menugaskan file atau device untuk bergabung dengan cara loop device

-e, -E, –encryption encryption_type
menyediakan data enkripsi dengan nama atau nomor yang khusus.

-f, –find
Temukan pertama loop device yang tidak digunakan. jika file argument disediakan gunakan device ini.

-h, –help
print help

-k, –keybits num
set the number of bits to use in key to num.

-N, –nohashpass
Do not hash the password. By default, Debian systems run the password through a hash function, non-Debian systems tend not to.

-o, –offset offset
The data start is moved offset bytes into the specified file or device.

-p, –pass-fd num
Read the passphrase from file descriptor with number num instead of from the terminal

-r, –read-only
setup read-only loop device

-s, –show
print device name if the -f option and a file argument are present

-v, –verbose
verbose mode

contoh perintah :

# dd if=/dev/zero of=/file bs=1k count=100
#losetup -e aes /dev/loop0 /dev/sda1

opsi -e digunakan untuk memilih metode enkripsi anda bisa mengunakan des,aes,blowfish dan chips. Kemudian anda akan diminta untuk mengisikan password, silahkan isi password ini.

# losetup -e des /dev/loop0 /file
Password:
Init (up to 16 hex digits):

# mkfs -t ext2 /dev/loop0 100
# mount -t ext2 /dev/loop0 /mnt
# umount /dev/loop0
# losetup -d /dev/loop0