July 3, 2009 - Posted by efrizal - 0 Comments
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
March 20, 2009 - Posted by efrizal - 0 Comments
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
April 12, 2008 - Posted by efrizal - 1 Comment
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:
-
Archive::Tar
-
Archive::Zip
-
Compress::Zlib
-
Convert::TNEF
-
Convert::UUlib
-
MIME::Base64
-
MIME::Parser
-
Mail::Internet
-
Net::Server
-
Net::SMTP
-
Digest::MD5
-
IO::Stringy
-
Time::HiRes
-
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.
-
Ambil/download amavisd-new terbaru di
#wget –c http://www.ijs.si/software/amavisd/amavisd-new- /s
-
lalu extrak dan masuk kedalam direktorynya
[root@bugihlamo]# tar -zxvf amavisd-new-20030616-p6.tar.gz
[root@bugihlamo]# cd amavisd-new-20030616
-
Kopikan script amavisd ke /usr/local/sbin dan set ijin akses
[root@bugihlamo# amavisd-new-20030616]# cp amavisd /usr/local/sbin/
-
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
-
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
-
.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
-
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
-
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 ) :
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:
Kemudian download update database virus yang paling baru :
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…
|
April 11, 2008 - Posted by efrizal - 0 Comments
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