Category Archives: Postfix

Backup Database MYSQL

backup database mysql

Mengecek dulu isi database yang sudah terdaftar

# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 782 to server version: 5.0.22

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.

mysql> show database;
+——————–+
| Database |
+——————–+
| information_schema |
| mysql |
| postfix |
| test |
+——————–+
4 rows in set (0.00 sec)
mysql>
mysql> exit
Bye

Selanjutnya keluar dari mysql dan lakukan command dibawah ini untuk melakukan backup database

#mysqldump -u root -p postfix > /home/backupdb-27082015/db-27082015.sql
Enter password:
#

selesai sudah, maka db-27082015.sql disimpan dalam folder /home/backupdb-27082015/

Broadcast Email Spam

Email adimaulana@adimaulana.com telah mengirimkan spam yang berdampak melakukan broadcast email keluar domain. Kondisi tersebut diduga karena terserang virus atau ditumpangi spammer.

Action yang dilakukan adalah :
1. Ganti password email adimaulana@adimaulana.com lakukan lebih dari 10 digit campuran antara angka dan huruf.

2. Lakukan update dan scan pada PC yang menggunakan email tersebut, menggunakan antivirus yang update.

Jika tahap diatas masih belum mempan, maka tindakan selanjutnya adalah mendisable alamat email tersebut atau menghapus untuk sementara.

dan berikut ini adalah informasi yang menjelaskan email adimaulana@adimaulana.com melakukan spaming.

[root@mailserver log]# postcat -q 5DBED4281D5 |more
*** ENVELOPE RECORDS deferred/5/5DBED4281D5 ***
message_size:            3281            4850              50
0            3281
message_arrival_time: Mon Jun  1 09:37:07 2009
create_time: Mon Jun  1 09:37:07 2009
named_attribute: rewrite_context=remote
sender: info@info.com
named_attribute: encoding=8bit
named_attribute: log_client_name=localhost.localdomain
named_attribute: log_client_address=127.0.0.1
named_attribute: log_message_origin=localhost.localdomain[127.0.0.1]
named_attribute: log_helo_name=localhost
named_attribute: log_protocol_name=ESMTP
named_attribute: client_name=localhost.localdomain
named_attribute: reverse_client_name=localhost.localdomain
named_attribute: client_address=127.0.0.1
named_attribute: helo_name=localhost
named_attribute: client_address_type=2
named_attribute: dsn_orig_rcpt=rfc822;n.perez@tan-group.com

*** MESSAGE CONTENTS deferred/5/5DBED4281D5 ***
Received: from localhost (localhost.localdomain [127.0.0.1])
by mailserver.intra.net (Postfix) with ESMTP id 5DBED4281D5;
Mon,  1 Jun 2009 09:37:07 +0700 (WIT)
Received: from mailserver.intra.net ([127.0.0.1]) by localhost (mailserver.intra.net [127.0.0.1]) (amavisd-new, port 10024)
with LMTP id YD2jfjv1Jhx6; Mon,  1 Jun 2009 09:37:06 +0700 (WIT)
Received: from mail.adimaulana.com (localhost.localdomain [127.0.0.1])
by mailserver.intra.net (Postfix) with ESMTP id BD5F14281BF;
Mon,  1 Jun 2009 09:37:05 +0700 (WIT)
Received: from 41.220.75.3
(SquirrelMail authenticated user adimaulana@adimaulana.com)
by mail.adimaulana.com with HTTP;
Mon, 1 Jun 2009 09:37:05 +0700 (WIT)
Message-ID: <43688.41.220.75.3.1243823825.squirrel@mail.adimaulana.com>
Date: Mon, 1 Jun 2009 09:37:05 +0700 (WIT)
Subject:
From: “ELITE COURIER SERVICE” <info@info.com>
Reply-To: danicole2009@aol.co.uk
User-Agent: SquirrelMail/1.4.9a
MIME-Version: 1.0
Content-Type: text/plain;charset=iso-8859-1
Content-Transfer-Encoding: 8bit
X-Priority: 3 (Normal)
Importance: Normal
To: undisclosed-recipients:;

*** HEADER EXTRACTED deferred/5/5DBED4281D5 ***
named_attribute: encoding=8bit
*** MESSAGE FILE END deferred/5/5DBED4281D5 ***

Postfix menghapus queue berdasarkan alamat email

Script berikut ini sangat-sangat berguna sekali, karena di queue mail server ada 3000 email spam, kalo di delete satu-satu, bisa kriting jari gw, kalo di hapus semua email di queuenya, bisa kehapus juga dong pengiriman email ke client.

jadi mending bikin script dibawah ini, simpan di /etc/postfix
1. Buat file script-queue

#vim script-queue
#!/usr/bin/perl -w
#
# pfdel – deletes message containing specified address from
# Postfix queue. Matches either sender or recipient address.
#
# Usage: pfdel <email_address>
#

use strict;

# Change these paths if necessary.
my $LISTQ = “/usr/sbin/postqueue -p”;
my $POSTSUPER = “/usr/sbin/postsuper”;

my $email_addr = “”;
my $qid = “”;
my $euid = $>;

if ( @ARGV !=  1 ) {
die “Usage: pfdel <email_address>\n”;
} else {
$email_addr = $ARGV[0];
}

if ( $euid != 0 ) {
die “You must be root to delete queue files.\n”;
}

open(QUEUE, “$LISTQ |”) ||
die “Can’t get pipe to $LISTQ: $!\n”;

my $entry = <QUEUE>;    # skip single header line
$/ = “”;        # Rest of queue entries print on
# multiple lines.
while ( $entry = <QUEUE> ) {
if ( $entry =~ / $email_addr$/m ) {
($qid) = split(/\s+/, $entry, 2);
$qid =~ s/[\*\!]//;
next unless ($qid);

#
# Execute postsuper -d with the queue id.
# postsuper provides feedback when it deletes
# messages. Let its output go through.
#
if ( system($POSTSUPER, “-d”, $qid) != 0 ) {
# If postsuper has a problem, bail.
die “Error executing $POSTSUPER: error ” .
“code ” .  ($?/256) . “\n”;
}
}
}
close(QUEUE);

if (! $qid ) {
die “No messages with the address <$email_addr> ” .
“found in queue.\n”;
}

exit 0;

selanjunya

2. Simpan dan tutup script diatas tanpa melakukan perubahan di dalamnya.

3. Ubah hak akses biar bisa di eksekusi.
# chmod 777 script-queue

4. Lakukan eksekusi file tersebut
# ./script-queue freelotto@winners.org

selanjutnya tampak email akan di hapus berdasarkan email yg telah di definisikan diatas.

Terinspirasi oleh artikel ini

Semoga Bermanfaat

Adi Maulana

Postfix Blacklist or Reject an email address

Mail server gw dapet kiriman banjir spam email dari freelotto@winners.org, akibatnya mail server penuh dengan spam sampai 3000 email dalam waktu 1 hari saja, akibatnya laluintas kirim dan terima email menjadi terganggu.

kalau tidak segera di tindak lanjuti, jumlah email akan semakin banyak, karena itu cegah alamat email diatas untuk mengirim kembali banjir email ke mail server dengan melakukan blacklist atau reject.

yang dilakukan adalah :

di POSTFIX MTA

1. Jika belum ada, buat vim /etc/postfix/sender_access file
# cd /etc/postfic
# vim sender_access

2. Masukan alamat address yg akan di blacklist atau di reject
freelotto@winners.org

3. Simpan dan tutup file, lalu gunakan perintah postmap untuk membuat database.
#  poshmap hash:sender_access

4. Buka /etc/postfix/main.cf dan tambahkan kode berikut ini.
# smtpd_sender_restrictions = check_sender_access hash:/etc/postfix/sender_access

5. Simpan dan tutup file, selanjutnya lakukan reload postfix
# postfix reload

juga bisa digunakan di spamassassin untuk blacklist atau reject email address.

di SPAMASSASSIN

1. Tambahkan dikonfigurasi file /etc/mail/spamassassin/local.cf
# vim /etc/mail/spamassassin/local.cf

2. Sisipkan alamat email berikut ini kedalam konfigurasi di atas.
freelotto@winners.org

3. Simpan dan tutup file konfigurasi, lakukan restart spamassassin.
# /etc/init.d/spamassassin restart

terinspirasi oleh Viviek gite

semoga bermanfaat

Adi Maulana

Helo Filtering

Seringkali kita menemukan spammer berusaha untuk menyerang dengan cara  mengirimkan alamat helo smtp untuk membuat hubungan dengan postfix, yang biasanya menggunakan ip address dan hostname dari server. Maka untuk menutup spam ini, pertama harus di daftarkan hostname dan ip address server

#vim /etc/postfix/helo.access

## Menutup hubungan dari user  yang menggunakan hostnames
mail.yourdomain.com        REJECT You are not me
mail-mx.yourdomain.com        REJECT You are not me

mail.domain1.com        REJECT You are not me
mail.domain2.com        REJECT You are not me
mail.domain3.com        REJECT You are not me

domain1.com            REJECT Use of that helo name is not permitted
domain2.com            REJECT Use of that helo name is not permitted
domain3.com            REJECT Use of that helo name is not permitted

## Menutup hubungan dari user  yang menggunakan IP
192.168.1.10            REJECT You are not me
192.168.1.11            REJECT You are not me
192.168.1.101            REJECT You are not me
192.168.1.102            REJECT You are not me
192.168.1.103            REJECT You are not me

jika script diatas telah selesai, selanjutnya lakukan eksekusi

#postmap /etc/postfix/helo.access

Selanjutnya beritahukan postfix untuk melakukan helo filtering

#vim /etc/postfix/main.cf

smtpd_helo_required = yes
smtpd_helo_restrictions =
permit_mynetworks,
check_helo_access hash:/etc/postfix/helo.access,
## warn_if_reject,
reject_invalid_helo_hostname,
permit

jika script diatas telah selesai, selanjutnya lakukan eksekusi

#postfix reload

Untuk mengecek log dalap dilihat di.

#tail -f /var/log/maillog | grep “Helo command rejected”

Informasi berikut ini terinspirasi dari website bowe tentang postfix
http://bowe.id.au

Regards
Adi Maulana

Memerangi Spam dengan Greylisting

Memerangi spam dengan greylisting, berikut ini caranya :

saya menggunakan postfix versi 2.4.1

1 – Salin file greylist.pl pada direktori examples/greylist ke
direktori /usr/libexec/postfix

2 – Edit file /usr/libexec/postfix/greylist.pl pada bagian :

$database_name=”/var/mta/greylist.db”;
$greylist_delay=60;

database_name: sesuaikan dengan letak direktori yang akan dibuat
pada langkah berikutnya

greylist_delay: sesuaikan dengan waktu (dalam detik) dimana suatu
message akan ditunda sebelum diproses.

3 – Buat direktori /var/mta ganti pemiliknya menjadi nobody.

% mkdir /var/mta
% chown nobody /var/mta

4 – Buat entry “policy” pada master.cf, misalnya :

policy unix – n n – – spawn
user=nobody argv=/usr/bin/perl /usr/libexec/postfix/greylist.pl

5 – Set Postfix untuk melakukan greylisting. Anda bisa melakukan
greylisting terhadap SEMUA email yang masuk (dari luar mynetworks)
atau hanya dari beberapa domain saja.

Pilih salah satu saja 🙂 dibawah ini:

– Untuk menerapkan greylisting ke semua message:

smtpd_recipient_restrictions =
permit_mynetworks
reject_unauth_destination
check_sender_access hash:/etc/postfix/maps/greylist
check_policy_service unix:private/policy
…RBL stuff disini…
permit

Lakukan “whitelist” ke mailing-list yang ada, atau database policy
akan dipenuhi oleh sampah :-), misalnya bikin sebuah file:

/etc/postfix/maps/sender_access

Isinya:

securityfocus.com OK
returns.groups.yahoo.com OK
linux.or.id OK
cloud9.net OK
postfix.org OK
list.cr.yp.to OK
worldless.net OK
groups.or.id OK
lists.untroubled.org OK

– Untuk menerapkan greylisting dari domain tertentu:

smtpd_recipient_restrictions =
permit_mynetworks
reject_unauth_destination
check_sender_access hash:/etc/postfix/maps/greylist
…RBL stuff disini…
permit
smtpd_restriction_classes = greylist
greylist = check_policy_service unix:private/policy

Kemudian daftarkan nama domain yang sering digunakan untuk
forgery pada file /etc/postfix/maps/greylist

yahoo.com greylist
aol.com greylist
hotmail.com greylist
bigfoot.com greylist

5 – % postmap /etc/postfix/maps/greylist
% postfix reload

Anda bisa melihat log Postfix atau mencoba mengirim email dari tempat
lain untuk mengetestnya.

Tulisan ini saya kutip dari informasi di milis postfix-user kiriman asfihani dengan mengubah beberapa kalimat karena disesuaikan dengan versi postfix yang saya pakai.

regards
Adi Maulana