• Tidak ada hasil yang ditemukan

ODBC Mssql connection for php in linux

N/A
N/A
Protected

Academic year: 2021

Membagikan "ODBC Mssql connection for php in linux"

Copied!
40
0
0

Teks penuh

(1)

ODBC Mssql connection for php

in linux

ODBC MSSQL IN Linux Hallo pengunjung ribhy yang mungkin punya masalah yang sama dengan saya, pecinta linux dikasih project untuk membuat aplikasi mengunakan php framework tapi database MSSQL dari pecinta jendela. Oke langsung aja deeh, pertama adalah download freetds bisa mengunakan wget, proz, links, l y n x [ r o o t @ l o c a l h o s t ] # l y n x http://downloads.sourceforge.net/project/freetds/OldFiles/free tds-0.61.tar.gz

Next, uncompress, configure and make the FreeTDS driver.

[root@localhost]# tar -xvfz freetds-0.61.tgz -C /usr/local/src [root@localhost]# cd freetds-0.61 [root@localhost]# ./configure --with-tdsver=7.0 --with-unixodbc

Gunakan sudo -s jika blm menjadi super user ( root )

[root@localhost]# make [root@localhost]# make install [root@localhost]# make clean

Jika udah saat testing untuk koneksi ke server

[ r o o t @ l o c a l h o s t ] # / u s r / l o c a l / b i n / t s q l - S <mssql.servername.com> -U <ValidUser> Password: <password>

Jika berhasil maka akan muncul seperti dibawah ini 1>

Untuk keluar mengunakan ctrl + C

Jika belum berhasil, coba dengan telnet port 1433 sebelumnya gunakan nmap untuk memastikan mssql open port.

[root@localhost]# telnet <mssql.servername.com> 1433 dan jika bisa ditelnet

(2)

[root@localhost]# cd /usr/local/etc

From /usr/local/etc/, edit freetds.conf. At the end of this file, add an entry something like this:

[TDS] host = mssql.serverhost.com port = 1433 tds version = 7.0

Selanjutnya adalah seting odbc connection

Untuk yang mengunakan redhat atau sejenisnya ada settingan odbc di system menu. Dan gunakan settingan berikut ini:

Name: TDS Description: v0.61 with Protocol v7.0 Driver: /usr/local/lib/libtdsodbc.so Setup: /usr/lib/libtdsS.so FileUsage: 1

Rest dapat kosong, click checkmark kemudian klik OK

Name: MSSQLServer Description: TDS MSSQL (description isn't important) Servername: mssql.serverhost.com UID: sa PWD: Port: 1433

Jika mengunakan ubuntu, install libmyodbc mengunakan apt-get [root@localhost]# apt-get install libmyodbc

Kemudian edit odbc.ini

[root@localhost]# vi /etc/odbc.ini

[ODBC Data Sources] odbcname = MyODBC 3.51 Driver DSN [odbcname] Driver = /usr/lib/odbc/libmyodbc.so Description = MyODBC 3.51 Driver DSN SERVER = my.database.server.com PORT = USER = USER Password = XXXXXX Database = DBNAME OPTION = 3 SOCKET = [Default] Driver = /usr/local/lib/libmyodbc3.so Description = MyODBC 3.51 Driver DSN SERVER = localhost PORT = USER = root Password = Database = test OPTION = 3 SOCKET = [TDS] Driver = /usr/local/lib/libtdsodbc.so Setup = /usr/lib/libtdsS.so Description = freeTDS v0.61 with Protocol v7.0 SERVER = localhost PORT = 1143 USER = sa Password = password Threading = 1 FileUsage = 1 CPTimeout = CPReuse =

(3)

Untuk mengetest odbc bisa mengunakan

[root@localhost]# isql -v TDS sa password +---+ | Connected! | | | | sql-statement | | help [tablename] | | quit | | | +---+ SQL> use Northwind 0 rows affected SQL> SELECT TOP 1 Name from Master +---+ | Name | ---+ | Ribhy Keren | +---+ 1 rows affected SQL> quit

Untuk PHP code saya mencoba dengan mengunakan code dibawah ini --- begin odbc_connect.php--- <? // Koneksi menginakan odbc_connetct $connect = odbc_connect("TDS", "sa", "password") o r d i e ( " c o u l d n ' t c o n n e c t " ) ; / / u s e d a t a b a s e o d b c _ e x e c ( $ c o n n e c t , " u s e r i b h y _ c o m " ) ; $ r e s u l t = odbc_exec($connect, "SELECT Name, Desc " . "FROM master"); while(odbc_fetch_row($result)){ print(odbc_result($result, "Name") . ' ' . odbc_result($result, "Desc") . "<br>\n"); } // get result & close koneksi odbc_free_result($result); odbc_close($connect); ?> --- end odbc_connect.php -- Selamat mencoba..

Postgresql disable / enable

trigger

DISABE / ENABLE PostgreSQL Session trigger

Untuk sementara mendisable PostgreSQL Session dengan query seperti berikut ini

SET session_replication_role = replica; Untuk mengaktifkannya kembali

(4)

DISABLE / ENABLE PostgreSQL TABLE

Untuk mengdisable postgresql table trigger tertentu: ALTER TABLE mytable DISABLE TRIGGER mytrigger;

Untuk mendisable postgresql semua trigger pada suatu table ALTER TABLE mytable DISABLE TRIGGER ALL;

Untuk mengaktifkan kembali:

ALTER TABLE mytable ENABLE TRIGGER ALL; Selamat mencoba.

Server Security : CSF (

Config Server Firewall ) on

centos 6.6

Config Server Firewall (atau CSF) adalah firewall gratis dan canggih untuk sebagian besar distro Linux dan VPS berbasis Linux. Selain fungsi dasar firewall – paket penyaringan – CSF mencakup fitur keamanan lainnya, seperti login/intrusion/flood detection. CSF termasuk UI integrasi untuk cPanel, DirectAdmin dan Webmin, tapi tutorial ini hanya mencakup penggunaan baris perintah. CSF mampu mengenali banyak serangan, seperti port scan, SYN banjir, dan login serangan brute force pada banyak layanan. Hal ini dikonfigurasi untuk memblokir klien yang terdeteksi harus menyerang server cloud untuk sementara.

Daftar lengkap sistem operasi yang didukung dan fitur dapat ditemukan di situs web ConfigServer itu.

(5)

Config Server Firewall web

Installing ConfigServer Firewall Step 1: Downloading

Config Server Firewall is not currently available in Debian or Ubuntu repositories, and has to be downloaded from the ConfigServer’s website.

wget http://www.configserver.com/free/csf.tgz

This will download CSF to your current working directory.

Step 2: Uncompressing

The downloaded file is a compressed from of tar package, and has to be uncompressed and extracted before it can be used. tar -xzf csf.tgz

Step 3: Installing

If you are using another firewall configuration scripts, such as UFW, you should disable it before proceeding. Iptables rules are automatically removed.

UFW can be disabled by running the following command: ufw disable

Now it is time to execute the CSF’s installer script. cd csf

sh install.sh

The firewall is now installed, but you should check if the required iptables modules are available.

perl /usr/local/csf/bin/csftest.pl

The firewall will work if no fatal errors are reported.

Note: Your IP address was added to the whitelist if possible. In addition, the SSH port has been opened automatically, even if it uses custom port. The firewall was also configured to have testing mode enabled, which means that the iptables rules will be automatically removed five minutes after starting CSF. This should be disabled once you know that your configuration works, and you will not be locked out.

(6)

CSF can be configured by editing its configuration file csf.conf in /etc/csf:

nano /etc/csf/csf.conf

The changes can be applied with command: csf -r

Step 1: Configuring ports

The less access there is to your VPS, the more secure your server is. However, not all ports can be closed as the clients must be able to use your services.

The ports opened by default are the following:

TCP_IN = “20,21,22,25,53,80,110,143,443,465,587,993,995” TCP_OUT = “20,21,22,25,53,80,110,113,443”

UDP_IN = “20,21,53”

UDP_OUT = “20,21,53,113,123” Services using the open ports: Port 20: FTP data transfer Port 21: FTP control

Port 22: Secure shell (SSH)

Port 25: Simple mail transfer protocol (SMTP) Port 53: Domain name system (DNS)

Port 80: Hypertext transfer protocol (HTTP) Port 110: Post office protocol v3 (POP3)

Port 113: Authentication service/identification protocol Port 123: Network time protocol (NTP)

Port 143: Internet message access protocol (IMAP)

Port 443: Hypertext transfer protocol over SSL/TLS (HTTPS) Port 465: URL Rendesvous Directory for SSM (Cisco)

Port 587: E-mail message submission (SMTP)

Port 993: Internet message access protocol over SSL (IMAPS) Port 995: Post office protocol 3 over TLS/SSL (POP3S)

It is possible that you are not using all of these services, so you can close the ports that are not used. I would recommend closing all ports (removing port number form the

(7)

list), and then adding the ports you need.

Below are port sets that should be opened if you are running the listed service:

On any server: TCP_IN: 22,53 TCP_OUT: 22,53,80,113,443 UPD_IN: 53 UPD_OUT: 53,113,123 Apache: TCP_IN: 80,443 FTP server: TCP_IN: 20,21 TCP_OUT: 20,21 UPD_IN: 20,21 UPD_OUT:20,21 Mail server: TCP_IN: 25,110,143,587,993,995 TCP_OUT: 25,110

MySQL server (if remote access is required) TCP_IN: 3306

TCP_OUT: 3306

Note: If you are using IPv6 for your services, you should also configure TCP6_IN, TCP6_OUT, UPD6_IN, and UPD6_OUT similarly to how IPv4 ports were configured earlier.

Macam-macam serangan sql

injection

Serangan SQL Injection dapat dibagi menjadi tiga kelas berikut :

(8)

Inband : Data diekstrak menggunakan saluran yang sama yang digunakan untuk menyuntikkan kode SQL . Ini adalah jenis yang paling sederhana serangan , di mana data yang diambil disajikan langsung di halaman web aplikasi .

Out-of -band : data yang diambil dengan menggunakan saluran yang berbeda ( misalnya , email dengan hasil query yang dihasilkan dan dikirim ke tester ) .

Inferential atau Blind : tidak ada transfer data aktual , tapi tester mampu merekonstruksi informasi dengan mengirimkan permintaan tertentu dan mengamati perilaku yang dihasilkan dari DB Server .

Untuk sukses atau tidaknya serangan SQL Injection pada website atau aplikasi berbasis web terletak dalam benar atau tidaknya sintak SQL Query. Jika aplikasi mengembalikan pesan kesalahan yang dihasilkan oleh query yang salah , maka mungkin lebih mudah bagi penyerang untuk merekonstruksi logika query asli dan, karena itu , memahami bagaimana melakukan injeksi dengan benar. Namun, jika aplikasi menyembunyikan rincian kesalahan, maka tester harus mampu untuk melakukan reverse engineering logika query.

Tentang teknik untuk mengeksploitasi kelemahan website dan aplikasi webbase dengan SQL injection memiliki lima teknik, dan juga teknik tersebut kadang-kadang dapat digunakan dengan cara digabungkan ( misalnya Union Operator dan out-of-band ) :

Union Operator: dapat digunakan ketika cacat SQL injection terjadi dalam sebuah pernyataan SELECT , sehingga memungkinkan untuk menggabungkan dua query ke dalam hasil tunggal atau hasil ditetapkan .

B o o l e a n : g u n a k a n k o n d i s i B o o l e a n ( s ) u n t u k memverifikasi apakah kondisi tertentu adalah benar atau salah .

Kesalahan berdasarkan : teknik ini memaksa database untuk menghasilkan kesalahan , memberikan penyerang atau informasi tester yang di atasnya untuk memperbaiki injeksi mereka .

(9)

Out-of -band : teknik yang digunakan untuk mengambil data dengan menggunakan saluran yang berbeda ( misalnya , membuat sambungan HTTP untuk mengirimkan hasilnya ke server web ) .

Waktu tunda : menggunakan perintah database (misal tidur ) untuk menunda jawaban dalam pertanyaan kondisional . Ini berguna ketika penyerang tidak memiliki beberapa jenis jawaban ( hasil , output, atau kesalahan ) dari aplikasi .

apa itu macam serangan

website ( sql injection )

Apa SQL Injection ?

SQL Injection adalah serangan berbasis web yang digunakan oleh hacker untuk mencuri informasi sensitif dari organisasi melalui aplikasi web . Ini adalah salah satu yang paling umum serangan lapisan aplikasi yang digunakan saat ini . Serangan ini mengambil keuntungan dari coding yang tidak tepat aplikasi web , yang memungkinkan hacker untuk mengeksploitasi kelemahan dengan menyuntikkan perintah SQL ke dalam aplikasi web sebelumnya.

Fakta yang mendasari yang memungkinkan untuk SQL Injection adalah bahwa bidang yang tersedia untuk input pengguna dalam aplikasi web memungkinkan pernyataan SQL melewati dan berinteraksi dengan atau query database secara langsung .

Sebagai contoh, mari kita perhatikan sebuah aplikasi web yang mengimplementasikan mekanisme login berbasis form untuk menyimpan kredensial pengguna dan melakukan query SQL

(10)

sederhana untuk memvalidasi setiap upaya login. Berikut adalah contoh khas :

SELECT * FROM user WHERE username = ‘ admin ‘ dan password = ‘ admin123 ‘ ;

Jika penyerang mengetahui username administrator aplikasi admin , dia bisa login sebagai admin tanpa memberikan password apapun.

admin’ –

Permintaan di back-end seperti :

SELECT * FROM user WHERE username = ‘ admin’ – ‘ dan password = ‘ xxx ‘ ;

Perhatikan urutan komentar ( – ) menyebabkan query diikuti untuk diabaikan , sehingga permintaan dieksekusi setara dengan :

SELECT * FROM user WHERE username = ‘ admin ‘ ;

Jadi sandi atau perintah untuk pengecekan password akan dilewati. Berikut sedikit contoh bagaimana cara kerja sql injection pada pengecekan user dan password. Kita akan masuk ke dalam macam-macam sql injection pada bahasan selanjutnya.. Sekian..

fail2ban untuk mengamankan

server dari serangan bot

(11)

hacker | centos 6.3

Mengenal Fail2Ban

Server tidak dalam isolasi dan mereka dengan server konfigurasi SSH paling dasar bisa rentan terhadap serangan brute force. fail2ban menyediakan cara untuk secara otomatis melindungi server dari tanda-tanda berbahaya. Program ini bekerja dengan memindai melalui file log dan bereaksi terhadap tindakan menyinggung seperti berulang percobaan login yang gagal.

Step 1—Install Fail2Ban

Karena fail2ban tidak ada dalam standart package dan kita harus mengambil repo EPEL yang menyediakan package tbs:

r p m - U v h

http://download.fedoraproject.org/pub/epel/6/i386/epel-release -6-7.noarch.rpm

Kemudian install fail2ban: yum install fail2ban

Step 2—Copy the Configuration File

The fail2ban file konfigurasi default adalah lokasi di / etc/fail2ban/jail.conf. konfigurasi tidak harus dilakukan

(12)

dalam file itu, bagaimanapun, dan kita harus membuat salinan lokal itu.

cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

Step 3—Configure defaults in

Jail.Local

Buka konfigurasi yang anda salin tadi: vi /etc/fail2ban/jail.local

Konfigurasi fail2ban default masih kurang begitu kejam, kita harus memodifikasinya agar menjadikannya lebih kejam.

Berikut konfigurasi standartnya.

[DEFAULT] # "ignoreip" can be an IP address, a CIDR mask or a DNS host. Fail2ban will not # ban a host which matches an address in this list. Several addresses can be # defined using space separator. ignoreip = 127.0.0.1 # "bantime" is the number of seconds that a host is banned. bantime = 3600 # A host is banned if it has generated "maxretry" during the last "findtime" # seconds. findtime = 600 # "maxretry" is the number of failures before a host get banned. maxretry = 3

Masukan ip anda ke dalam ignoreip agar anda tidak di block jika melakukan kesalahan dalam menginput password login. Pemisah ip yang anda masukan mengunakan standart yaitu spasi. Langkah berikutnya adalah untuk memutuskan suatu bantime, jumlah detik yang host akan diblokir dari server jika mereka ditemukan melanggar salah satu aturan. Hal ini sangat berguna dalam kasus bots, yang pernah dilarang, hanya akan beralih ke target berikutnya. Standarnya diatur selama 10 menit-Anda dapat meningkatkan ini untuk satu jam (atau lebih tinggi) jika Anda suka.

(13)

mungkin memiliki sebelum mereka mendapatkan dilarang untuk panjang waktu larangan.

Findtime mengacu pada jumlah waktu yang host harus login Pengaturan default adalah 10 menit, ini berarti bahwa jika upaya tuan rumah, dan gagal, untuk login lebih dari jumlah maxretry kali dalam 10 menit ditunjuk, mereka akan dilarang.

Step 4 (Optional)—Configure the

ssh-iptables Section in Jail.Local

untuk SSH ,rincian bagian adalah hanya sedikit lebih bawah dalam konfigurasi, dan itu sudah diatur dan dihidupkan. Meskipun Anda tidak harus diminta untuk membuat untuk membuat perubahan dalam bagian ini, Anda dapat menemukan rincian tentang setiap baris di bawah ini.

[ssh-iptables] enabled = true filter = sshd action = iptables[name=SSH, port=ssh, protocol=tcp] sendmail-whois[name=SSH, dest=root, sender=fail2ban@example.com] logpath = /var/log/secure maxretry = 5

Diaktifkan hanya mengacu pada fakta bahwa SSH perlindungan aktif. Anda dapat mematikannya dengan kata “palsu”.

Filter, diatur secara default untuk sshd, mengacu pada file konfigurasi yang berisi aturan-aturan yang fail2banuses untuk menemukan pertandingan. Nama adalah versi singkat dari e k s t e n s i f i l e . M i s a l n y a , s s h d m e n g a c u p a d a etc/fail2ban/filter.d/sshd.conf /.

Aksi menggambarkan langkah-langkah yang akan mengambil fail2ban untuk melarang alamat IP yang cocok. Sama seperti masuknya filter, setiap tindakan mengacu ke file di dalam direktori action.d. Aksi larangan default, “iptables” dapat ditemukan di / etc/fail2ban/action.d/iptables.conf.

Dalam rincian “iptables”, Anda dapat menyesuaikan fail2ban lanjut. Misalnya, jika Anda menggunakan port non-standar, Anda dapat mengubah nomor port dalam kurung untuk mencocokkan,

(14)

membuat garis terlihat lebih seperti ini:

eg. iptables[name=SSH, port=30000, protocol=tcp]

Anda dapat mengubah protokol dari TCP dengan UDP di baris ini juga, tergantung pada mana yang Anda inginkan fail2ban untuk memantau.

Jika Anda memiliki mail server mengatur di server virtual pribadi Anda, fail2ban dapat email Anda ketika melarang alamat IP. Dalam kasus default, sendmail-whois mengacu pada tindakan yang terletak di / etc/fail2ban/action.d/sendmail-whois.conf. path log mengacu pada lokasi log yang fail2ban akan melacak. Maks coba garis dalam bagian SSH memiliki definisi yang sama sebagai pilihan default. Namun, jika Anda telah mengaktifkan beberapa layanan dan ingin memiliki nilai-nilai tertentu untuk masing-masing, Anda dapat mengatur max baru coba lagi jumlah untuk SSH sini.

Step 5—Restart Fail2Ban

ok selesaikan dan memulai aplikasi fail2ban: sudo service fail2ban restart

semua yang terblock dengan cara: iptables -L

semoga bermanfaat

(15)

postgresql

Saya lagi iseng-iseng mau lihat query sekarang ini apa ya di postgresql trus saya coba beberapa sql query yang menselect pg_stat_activity. Tapi setelah query itu berjalan kog current query ga muncul ya? ternyata saya belum aktifkan di postgres.conf nya.

pertama set/uncomment postgres.conf stats_command_string = true

kemudian reload database, setelah itu coba select kembali pg_stat_activity.

SELECT datname,procpid,current_query FROM pg_stat_activity dan untuk postgresql 8.2

S E L E C T

datname,usename,procpid,client_addr,waiting,query_start,curren t_query FROM pg_stat_activity ;

selamat mencoba…

Simple

firewall

with

netfilter / iptables

Kita terkadang sering terkena attack / serangan dari pihak yang tidak bertanggung jawab, dan tidak hanya itu mungkin saja data atau informasi kita diambil oleh orang tersebut. Sebagai seorang yang mengurusi Network dan System enginer maka dibawah

(16)

ini saya berikan sedikit filtering dan blocking jaringan dari attack dan juga serangan yang tidak2. caranya cukup mudah, berikut saya berikan secara bertahap..

1 Buat file pada /etc/init.d/firewall ( bisa pakai vim, nano atau editor lainnya ) : vim /etc/init.d/firewall

Kemudian isi dengan code shell script berikut..

#! /bin/bash # # /etc/init.d/firewall # ### BEGIN INIT INFO # Provides: firewall # Required-Start: $network syslog # Required-Stop: # Should-Stop: # Default-Start: 3 4 5 # Default-Stop: 0 1 2 6 # Short-Description: Firewall c o n f i g u r a t i o n # # # E N D I N I T I N F O ############################################################# ################# # DEFAULT POLICY SetDefaultPolicy() { # Drop everything iptables -P INPUT DROP iptables -P OUTPUT D R O P i p t a b l e s - P F O R W A R D D R O P } ############################################################# ################# # FLUSH TABLES FlushTables() { iptables -F t nat iptables F t mangle iptables F t filter iptables

-X }

############################################################# ################# # ROUTING EnableRouting() { echo 1 > /proc/sys/net/ipv4/ip_forward } DisableRouting() { echo 0 > / p r o c / s y s / n e t / i p v 4 / i p _ f o r w a r d } ############################################################# ################# # FORWARDING SetForwardingRules() { iptables -A FORWARD -i $IF_PUB -o $IF_PRV -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A FORWARD -i $IF_PRV - o $ I F _ P U B - j A C C E P T } ############################################################# ################# # LOOPBACK SetLoopbackRules() { # Allow everything iptables -A INPUT -i lo -j ACCEPT iptables -A O U T P U T - o l o - j A C C E P T } ############################################################# # # # # # # # # # # # # # # # # # # P R I V A T E I N T E R F A C E S SetPrivateInterfaceRules() { # Allow everything iptables -A INPUT -i $IF_PRV -s $NET_PRV -j ACCEPT iptables -A OUTPUT -o

(17)

$ I F _ P R V - d $ N E T _ P R V - j A C C E P T } ############################################################# # # # # # # # # # # # # # # # # # P U B L I C I N T E R F A C E S SetPublicInterfaceRules() { iptables -A INPUT -i $IF_PUB -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A O U T P U T - o $ I F _ P U B - j A C C E P T } ############################################################# ################# # SOURCE NAT EnableSourceNAT() { # Then source NAT everything else iptables -t nat -A POSTROUTING -s $NET_PRV -o $IF_PUB -j SNAT --to $IP_PUB } # Various ICMP SetICMP_Open() { iptables -A INPUT -p icmp --icmp-type 0 -j ACCEPT iptables -A INPUT -p icmp --icmp-type 3 -j ACCEPT iptables A INPUT p icmp icmptype 11 j ACCEPT iptables -A INPUT -p icmp --icmp-type 8 -m limit --limit 1/second -j ACCEPT } # SSH (on a non-standard port) SetSSH_Open() { iptables A INPUT i $IF_PUB p tcp d $IP_PUB dport 2202

-j A C C E P T }

############################################################# ################# # Destination NAT # smtp SetSMTP_DNAT() { iptables -t nat -A PREROUTING -i $IF_PUB -d $IP_PUB -p tcp --dport smtp -j DNAT --to 192.168.1.254 iptables -A FORWARD -m state state NEW,ESTABLISHED,RELATED -i $IF_PUB -p tcp --dport smtp -j ACCEPT } # pop3 SetPOP3_DNAT() { iptables -t nat A PREROUTING i $IF_PUB d $IP_PUB p tcp dport pop3 -j DNAT to 192.168.10.254 iptables -A FORWARD -m state --state NEW,ESTABLISHED,RELATED -i $IF_PUB -p tcp --dport pop3 -j ACCEPT } # Webmail (444->443) SetWebmail_DNAT() { iptables -t nat -A PREROUTING -i $IF_PUB -d $IP_PUB -p tcp --dport 444 -j DNAT --to 192.168.10.254:443 iptables -A FORWARD -m state --state NEW,ESTABLISHED,RELATED -o $IF_PRV -p tcp --dport 443 -j ACCEPT } # http SetHTTP_DNAT() { iptables -t nat -A PREROUTING -i $IF_PUB -d $IP_PUB -p tcp --dport http -j DNAT --to 192.168.10.253 iptables -A FORWARD -m state --state NEW,ESTABLISHED,RELATED -i $IF_PUB -p tcp --dport http -j ACCEPT } # Blocked protocols SetBlockedProtocols() { # Block all normal irc (used by botnets) iptables -A INPUT -p tcp --dport irc -j DROP iptables -A INPUT -p udp ----dport irc -j DROP iptables -A INPUT -p tcp --dport irc-serv -j DROP iptables -A INPUT -p udp --dport irc-serv -j DROP iptables -A INPUT -p tcp dport ircs -j DROP iptables -A INPUT -p udp --dport ircs -j DROP } # Blocked hosts SetBlockedHosts() {

(18)

iptables -A INPUT -i $IF_PUB -s 10.220.231.236 -j REJECT --reject-with icmp-host-prohibited iptables -A FORWARD -i $IF_PUB -s 10.220.231.236 -j REJECT --reject-with icmp-host-prohibited } # Blocked networks SetBlockedNetworks() { iptables -A INPUT -i $IF_PUB -s 10.220.232.0/24 -j REJECT --reject-with icmp-net-prohibited iptables -A FORWARD -i $IF_PUB -d $IP_PUB -s 10.220.232.0/24 -j REJECT --reject-with icmp-net-prohibited } # Specify things to drop before logging SetPrelogDropRules() { # DHCP iptables -A INPUT -i $IF_PUB -p udp --sport bootps -j DROP } # Log those on the public interface SetLoggingRules() { iptables -A INPUT -i $IF_PUB -j LOG --log-prefix="INPUT " iptables -A OUTPUT -o $IF_PUB -j LOG prefix="OUTPUT " iptables -A FORWARD -j LOG --log-prefix="FORWARD " # iptables -t nat -A PREROUTING -i $IF_PUB -j LOG --log-prefix="nPre " # iptables -t nat -A POSTROUTING -o $IF_PUB -j LOG --log-prefix="nPost " # iptables -t nat -A OUTPUT -o $IF_PUB -j LOG --log-prefix="NAT OUT " } # Drop them all SetDropRules() { # Reset tcp connection attempts on all other ports # This is the standard TCP behaviour for a closed port. Reading # suggests there is no value in stealthing ports and since some are # open on this host it doesn't seem to matter. Therefore, let's be a # good TCP citizen iptables -A INPUT -p tcp -j REJECT --reject-with

tcp-r e s e t }

############################################################# ################# # SCRIPT ENTRY POINT echo -n "Firewall c o n f i g u r a t i o n . . . " e c h o $ 1 ############################################################# ################# # ENVIRONMENT # Private interface IF_PRV=eth0 IP_PRV=192.168.1.1 NET_PRV=192.168.1.0/24 # P u b l i c i n t e r f a c e I F _ P U B = e t h 1 I P _ P U B = 1 0 . 0 . 0 . 1 NET_PUB=10.0.0.0/24 # Others ANYWHERE=0.0.0.0/0 . / e t c / r c . s t a t u s r c _ r e s e t ############################################################# ################# # COMMAND LINE case "$1" in start) S e t D e f a u l t P o l i c y F l u s h T a b l e s E n a b l e R o u t i n g SetBlockedProtocols SetBlockedNetworks SetBlockedHosts SetForwardingRules SetLoopbackRules SetPrivateInterfaceRules SetPublicInterfaceRules EnableSourceNAT SetICMP_Open SetSSH_Open SetSMTP_DNAT SetPOP3_DNAT SetWebmail_DNAT SetHTTP_DNAT SetPrelogDropRules SetLoggingRules SetDropRules

(19)

; ; s t o p ) S e t D e f a u l t P o l i c y F l u s h T a b l e s SetPrivateInterfaceRules SetPublicInterfaceRules ;; restart) $0 stop $0 start ;; *) ;; esac rc_exit

2. Berikan akses untuk menjalankan script :

chmod +x /etc/init.d/firewall 3. Masukan ke chkconfig :

chkconfig add firewall untuk melihat :

chkconfig --list

jika sudah maka firewall siap untuk di jalankan serta firewall siap menangani serangan..

sekian

ini aja [dot] com

install squid3 di ubuntu

server 10.04

Ini adalah panduan singkat untuk mendirikan sebuah proxy cache transparan pada Ubuntu Server. Pada dasarnya, ada dua alasan mengapa Anda mungkin tertarik membuat proxy squid : 1. mempercepat akses web Anda

(20)

Mari berasumsi bahwa Anda sudah mengatur sebuah gateway Linux m e n g g u n a k a n i p t a b l e s . H a l i n i d i m u n g k i n k a n u n t u k menjalankan squid juga pada Windows tapi sayangnya itu sangat sulit untuk menemukan perangkat keras di mana Windows mampu bertahan lebih dari satu minggu. Kata lain, windows keluar dari ruang lingkup artikel ini. Langkah pertama adalah menginstall squid 3

apt-get install squid3

Edit konfigurasi squid3 anda dengan mengunakan best editor yang anda sukai.

sudo vi /etc/squid3/squid.conf

Dan kemudian kita set transparant proxy dan ip host anda, atau anda bisa lihat konfigurasi saya disini

http_port 3128 transparent

acl our_networks src 192.168.1.0/24

acl localnet src 127.0.0.1/255.255.255.255 http_access allow our_networks

http_access allow localnet

Dimana 192.168.1.0/24 ip network anda. Selanjutnya masukan konfigurasi cache

cache_dir ufs /var/spool/squid3 7000 16 256

untuk angka pertama diatas ( 7000 ) itu adalah ukuran cache dalam satuan megabyte. setelah itu save konfigurasi yang anda edit dan restart squid anda

sudo /etc/init.d/squid3 restart

Untuk melihat informasi detail silahkan check pada url Squid wiki page. Yang perlu diingat dalam pengunaan memori dan

(21)

processor di squid3 adalah fungsi dari ukuran swap. Kemudian anda harus menambahkan redirect dari HTTP-Trafic ke Proxy transparan anda.

iptables -t nat -A PREROUTING -i eth1 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.1.1:3128

iptables -t nat -A PREROUTING -i eth0 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128

disini eth0 adalah LAN dan eth1 adalah WAN, dan ip address 192.168.1.1 adalah ip LAN server.

Setelah semuanya selesai, buat simbolik link untuk membuat sarg, clamaris agar bisa digunakan karena aplikasi tersebut masih melihat path log pada squid 2.x..

ln -s /var/log/squid3 /var/log/squid

Selesai Selamat mencoba..

instalasi Qmail pada server

linux dengan metode compile.

I. Pendahuluan

qmail merupakan sebuah mail server yang dikembangkan oleh Dr. Dan Bernstein yang mulai ditulis pada Desember 1995. Qmail sangat terkenal dan dapat diandalkan dengan jaminan keamanan yang sangat tinggi, efisien, dan dengan MTA (Mail Transfer

Agent) yang sederhana. Qmail dirancang untuk koneksi internet

(22)

– Secure (aman)

Pengiriman email merupakan suatu hal yang berbahaya untuk pemakai apabila layanan yang diberikan masih bisa di lubangi seseorang. Saat ini, kebutuhan akan keamanan sudah tidak bisa di tawar-tawar lagi dan qmail menjadi salah satu jawban dari persoalan tersebut

– Dapat diandalkan

Qmail menjamin pesan yang masuk dalam mail server tidak akan hilang termasuk saat lampu mati karena qmial menggunakan format maildir. Format ini tidak akan hancur atau rusak apabila system mengalami crash saat pengiriman. Tidak hanya itu saja, user lain dapat mengirimkan email ke user tersebut.

– Efisien

Di komputer Pentium, qmail dapat dengan mudah memproses pesan ratusan ribu tiap harinya, baik mengirim atau pun menerima. Dalam tutorial ini, penulis akan menjelaskan tentang bagaimana cara menginstal qmail di Centos 5.4 dengan menggunakan domain ribhy.com dan IP 192.168.0.248. Penulis menggunakan system qmailrocks karena penulis merasa system ini sangat cocok jika diterapkan pada user linux yang ingin menginstal qmail namun juga ingin mengetahui langkah-langkahnya.

II. Langkah-Langkah Penginstalan

A. Instalasi paket Qmailrocks

1. Download Paket qmailrocks

# m k d i r / d o w n l o a d s # c d / d o w n l o a d s # w g e t http://www.qmailrocks.org/downloads/qmailrocks.tar.gz # tar -zxvf qmailrocks.tar.gz

2. Instal qmail

Qmail merupakan inti dari mail serveritu sendiri dan merupakan aplikasi untuk pengiriman email (MTA). Berikut adalah langkah-langkahnya:

# c d / d o w n l o a d s / q m a i l r o c k s / s c r i p t s / i n s t a l l / # . / q m r _ i n s t a l l _ l i n u x - s 1 . s c r i p t # c d / d o w n l o a d s / q m a i l r o c k s / s c r i p t s / u t i l / # . /

(23)

qmail_big_patches.script # cd /usr/src/qmail/qmail-1.03 # make man && make setup check # ./config-fast ribhy.com # make c e r t # c h o w n - R v p o p m a i l : q m a i l / v a r / q m a i l / c o n t r o l / c l i e n t c e r t . p e m

/var/qmail/control/servercert.pem

3. Install Ucspi-tcp

Ucspi-tcp merupakan aplikasi untuk tcpserver yaitu paket yang digunakan sebagai utility koneksi client server yang menggunakan protocol TCP. Berikut adalah langkah-langkahnya: # c d / u s r / s r c / q m a i l / u c s p i - t c p - 0 . 8 8 / # p a t c h < /downloads/qmailrocks/patches/ucspi-tcp-0.88.errno.patch # make && make setup check

4. Install Daemon-tool

Daemon tool merupakan daemon untuk menelola aplikasi-aplikasi pendukung utility yang digunakan oleh system operasi untuk mengatur segala proses yang berjalan seperti qmail dan segala tambahan paket lainnya. Daemontools akan melakukan starting service dan merestart apabila ada service yang mati. Berikut adalah langkah-langkahnya:

# cd /package/admin/daemontools-0.76/src # patch < /downloads/qmailrocks/patches/daemontools-0.76.errno.patch # cd /package/admin/daemontools-0.76 # package/install

Untuk melihat apakah daemontools berjalan atau tidak, Ceklah dengan perintah:

# ps aux | grep svscanboot

Jika ada, berarti daemontools sudah berjalan dalam system kita.

B. Instalsi Ezmlm

Ezmlm merupakan program untuk membuat mailing list di qmail. Berikut adalah langkah-langkahnya:

(24)

# cd /downloads/qmailrocks/ # tar zxvf ezmlm-0.53-idx-0.41.tar.gz # cd ezmlm-0.53-idx-0.41 # make && make setup

C. Instalasi AutoResponder

Autoresponder digunakan untuk merespon email yang masuk secara otomatis. Berikut adalah langkah-langkahnya:

# cd /downloads/qmailrocks # tar zxvf autorespond-2.0.5.tar.gz # cd autorespond-2.0.5 # make && make install

D. Instalasi VPOPMAIL

Vpopmail merupakan pop3 server, yaitu paket tambahan dari qmail untuk menangani virtual email domain dalam satu mail server. Hal ini untuk memudahkan kita dalam penanganan atau administrasi system yang baik. Vpopmail bisa menggunakan database (dalam hal ini mysql) dan juga bisa tidak.

1. Tidak Menggunakan Database

Opsi dipilih jika kita hanya mempunyai beberapa domain saja (tidak lebih dari 50 domain) dan kita masih termasuk pemula dalam linux. Ini adalah langkah-langkahnya:

# cd /downloads/qmailrocks # tar zxvf vpopmail-5.4.13.tar.gz # cd vpopmail-5.4.13 # ./configure --enable-logging=p # make && make install-strip

2. Menggunakan Database Mysql

Opsi ini dipilih jika kita menghandle lebih dari 50 domain dan kita paham dengan konfigurasi linux dan qmail itu sendiri. Berikut adalah langkah-langkahnya:

# mkdir ~vpopmail/etc # chown vpopmail:vchkpw ~vpopmail/etc # echo "localhost|0|vpopmailuser|password|vpopmail" > ~vpopmail/etc/vpopmail.mysql catatan: Untuk vpopmailuser bisa diganti dengan apa saja dan password diserahkan kepada masing-m a s i n g d a r i k i t a # c h o w n v p o p m a i l : v c h k p w ~ v p o p m a i l / e t c / v p o p m a i l . m y s q l # c h m o d 6 4 0 ~vpopmail/etc/vpopmail.mysql # mysql -u root –p > CREATE D A T A B A S E v p o p m a i l ; > g r a n t

(25)

select,insert,update,delete,create,drop ON vpopmail.* TO vpopmailuser@localhost IDENTIFIED BY 'password'; > quit;

Sekarang, kita akan instalasi program vpopmail dengan cara: # cd /downloads/qmailrocks # tar zxvf vpopmail-5.4.13.tar.gz # cd vpopmail-5.4.13

Langkah selanjutnya adalah:

# ./configure enable-logging=p enable-auth-module=mysql disable-passwd enable-clear-passwd disable-many-domains enable-auth-logging enable-sql-logging enable-valias --disable-mysql-limits

# make && make install-strip

E. Instalasi vqadmin

Vqadmin merupakan domain manager berbasis web yang digunakan untuk mengelola email, baik penambahan, penghapusan alamat email, penambahan maupun penghapusan mailinglist dan juga penambahan domain. Berikut adalah langkah-langkahnya:

# cd /downloads/qmailrocks # tar zxvf vqadmin-2.3.6.tar.gz # c d v q a d m i n - 2 . 3 . 6 # . / c o n f i g u r e e n a b l e -cgibindir=/var/www/cgi-bin --enable-htmldir=/var/www/html # make && make install-strip

Rubah di file httpd.conf menjadi seperti berikut:

# vi /etc/httpd/conf/httpd.conf <Directory "/ var/www/cgi-bin /vqadmin"> deny from all Options ExecCGI AllowOverride AuthConfig Order deny,allow </Directory> # cd / var/www/cgi-bin /vqadmin # vi .htaccess AuthType Basic AuthUserFile /etc/httpd/conf/.htpasswd AuthName vQadmin require valid-user satisfy any

Disini penulis memberitahukan bahwa file .htpasswd ada di /etc/httpd/conf

# chown apache .htaccess # chmod 644 .htaccess # htpasswd –bc /etc/httpd/conf/.htpasswd admin password

(26)

Disini, penulis memberikan usernamenya admin dan passwordnya adalah password.

# chmod 644 /etc/httpd/conf/.htpasswd # service httpd restart Buka browser lalu ketikkan:

http://alamat_ip/cgi-bin/vqadmin/vqadmin.cgi Dan jika tidak ada masalah, akan terlihat gambar:

Masukkan username dan password yang sudah kita buat sebelumnya. Dalam hal ini admin dan password. Tekan tombol OK, dan akan muncul gambar berikut:

Buatlah domain dengan menekan link Add Domain, akan muncul gambar sebagai berikut:

Buatlah nama domain dan passwordnya. Dalam hal ini penulis membuat domain ribhy.com.

F. Maildrop

Digunakan untuk memfilter email yang masuk. Program ini digunakan secara bersamaan pada qmailscanner. Berikut adalah langkah-langkahnya:

# cd /downloads/qmailrocks # tar zxvf maildrop-1.6.3.tar.gz # cd maildrop-1.6.3 # ./configure --prefix=/usr/local --exec-prefix=/usr/local maildrop-uid=root --enable-maildrop-gid=vchkpw --enable-maildirquota # make && make install-strip && make install-man

g. qmailadmin

Qmailadmin merupakan aplikasi berbasis web yang digunakan untuk mengelola user pada tiap domain. Berikut adalah langkah-langkahnya:

(27)

# cd /downloads/qmailrocks # tar zxvf qmailadmin-1.2.9.tar.gz # c d q m a i l a d m i n 1 . 2 . 9 # . / c o n f i g u r e e n a b l e -cgibindir=/var/www/cgi-bin --enable-htmldir=/var/www/html # make && make install-strip

Buka browser, lalu ketikkan:

http://192.168.0.248/cgi-bin/qmailadmin Akan muncul gambar sebagai berikut:

Masukkan nama domain yang sudah kita buat sebelumnya beserta passwordnya, lalu tekan tombol Login. Maka akan muncul gambar sebagai berikut:

Buatlah user email dengan menekan link New Email Account. Disini, penulis membuat user // <![CDATA[

var prefix = ‘ma’ + ‘il’ + ‘to’; var path = ‘hr’ + ‘ef’ + ‘=’; var addy49822 = ‘ribhy’ + ‘@’;

addy49822 = addy49822 + ‘ini-aja’ + ‘.’ + ‘com’; document.write( ‘‘ );

document.write( addy49822 ); document.write( ” );

//n // –>

// ]]>ribhy@ribhy.com // This e-mail address is being protected from spambots, you need JavaScript enabled to view it // <![CDATA[

document.write( ” ); // ]]>.

H. Tahap Akhir qmail

# cd /downloads/qmailrocks/scripts/finalize/linux/ # ./finalize_linux.script # vi /var/qmail/supervise/qmail-pop3d/run rubah example.com menjadi ribhy.com # vi /var/qmail/supervise/qmail-smtpd/run rubah example.com menjadi

(28)

ribhy.com # qmailctl stop # echo '127.:allow,RELAYCLIENT=""'

>> /etc/tcp.smtp # qmailctl cdb # echo postmaster@ribhy.com

This e-mail address is being protected from spambots, you need JavaScript enabled to view it > /var/qmail/alias/.qmail-root # echo postmaster@ribhy.com This e-mail address is being protected from spambots, you need JavaScript enabled to view i t > / v a r / q m a i l / a l i a s / . q m a i l - p o s t m a s t e r # e c h o

postmaster@ribhy.com This e-mail address is being protected from spambots, you need JavaScript enabled to view it > / v a r / q m a i l / a l i a s / . q m a i l - m a i l e r - d a e m o n # l n - s /var/qmail/alias/.qmail-root /var/qmail/alias/.qmail-anonymous # chmod 644 /var/qmail/alias/.qmail*

i. Uninstal MTA Lain

Qmail tidak akan bisa berjalan dengan baik jika di dalam system kita mempunyai lebih dari 1 MTA.

a. Uninstall sendmail

# rpm -qa | grep sendmail sendmail-x.x.x.x sendmail-doc-x.x.x.x sendmail-devel-sendmail-doc-x.x.x.x sendmail-cf-sendmail-doc-x.x.x.x # rpm -e --nodeps sendmail-x.x.x.x # rpm -e ----nodeps sendmail-doc-x.x.x.x # rpm -e --nodeps sendmail-devel-x.x.x.x # rpm -e --nodeps sendmail-cf-x.x.x.x

b. Uninstall postfix

# rpm -qa | grep postfix postfix-x.x-x # rpm -e --nodeps postfix-x.x-x

Setelah itu, kita membuat link dengan cara:

# ln -s /var/qmail/bin/sendmail /usr/lib/sendmail # ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail

j. Memulai qmail

# cd /downloads/qmailrocks/scripts/util/ # ./qmr_inst_check Kalau mendapat tulisan Congratulations, your Qmailrocks.org

(29)

terinstal qmail dengan baik. Lalu lanjutkan langkah-lanngkah berikut ini:

# q m a i l c t l s t o p # q m a i l c t l s t a r t # q m a i l c t l s t a t send: up (pid 29956) 2 seconds /service/qmail-send/log: up (pid 29960) 2 seconds /service/qmail-smtpd: up (pid 29963) 2 seconds /service/qmail-smtpd/log: up (pid 29968) 2 seconds /service/qmail-pop3d: up (pid 29971) 2 seconds /service/qmail-pop3d/log: up (pid 29972) 2 seconds messages in queue: 0 messages in queue but not yet preprocessed: 0

Selanjutnya kita akan mengetes POP3. Tuliskan perintah berikut

# telnet localhost 110

dan masukkan user yang akan dites dengan menuliskan kata user terlebih dahulu dan masukkan passwordnya dengan menuliskan kata pass terlebih dahulu. Untuk lebih jelasnya perhatikan gambar berikut:

Kemudian kita akan menguji smtp kita dengan menuliskan perintah:

# telnet localhost 25

tuliskan ehlo localhost kemudian tulis starttls. Jika semua berjalan dengan baik, maka smtp kita sudah berjalan dengan baik dan mempunyai TLS di dalamnya. Untuk lebih jelasnya perhatikan gambar berikut:

k. Instalasi Courier imap

Courier IMAP merupakan program yang membantu pengaksesan IMAP ke Maildir. Maildir merupakan format mail yang dimilki oleh qmail. Namun, sebelum menginstal courier imap, kita harus menginstal courier-authlib. Berikut adalah langkah-langkahnya: # c d / d o w n l o a d s / q m a i l r o c k s / # t a r j x v f c o u r i e r -authlib-0.55.tar.bz2 # cd courier-authlib-0.55

(30)

Kita konfigurasi courier-authlib dengan cara:

# ./configure prefix=/usr/local exec-prefix=/usr/local with-authvchkpw without-authldap without-authmysql --d i s a b l e - r o o t - c h e c k - - w i t h - s s l w i t h -authchangepwdir=/usr/local/libexec/authlib --with-redhat

Kita compile dengan cara:

# make && make check # make strip && make install-configure

Konfigurasi file rc.local dengan cara:

# vi /etc/rc.local

Tambahkan ke dalam file tersebut: /usr/local/sbin/authdaemond start

Setelah selesai, kita bisa menginstal courier imap. Berikut adalah langkah-langkahnya:

# useradd ribhy # cd /downloads/qmailrocks/ # tar jxvf imap-4.0.2.tar.bz2 # chown -R ribhy:wheel courier-imap-4.0.2 # cd /downloads/qmailrocks/courier-courier-imap-4.0.2

Masuk ke user ribhy: # su ribhy

# ./configure prefix=/usr/local exec-prefix=/usr/local with-authvchkpw without-authldap without-authldap --without-authmysql --disable-root-check ssl --with-authchangepwdir=/usr/local/libexec/authlib --with-redhat # make && make check # exit # make install-strip && make install-configure # /usr/local/sbin/mkimapdcert # vi /usr/local/etc/imapd.cnf rubah example.com menjadi ribhy.com # vi /usr/local/etc/imapd rubah menjadi IMAPDSTART=YES # vi /usr/local/etc/imapd-ssl rubah menjadi IMAPDSSLSTART=YES

T L S _ C E R T F I L E = / u s r / l o c a l / s h a r e / i m a p d . p e m # v i /usr/local/etc/authlib/authdaemonrc rubah menjadi:

(31)

/etc/rc.d/init.d/imap # cp /usr/local/libexec/imapd-ssl.rc /etc/rc.d/init.d/imaps # /usr/local/sbin/authdaemond stop # /usr/local/sbin/authdaemond start # /etc/rc.d/init.d/imap stop # /etc/rc.d/init.d/imaps stop # /etc/rc.d/init.d/imap start # /etc/rc.d/init.d/imaps start

Kemudian kita uji IMAP kita dengan mengetikkan perintah: # telnet localhost 143

tuliskan a login alamat_email password dan untuk keluar tulis a logout. Untuk lebih jelasnya perhatikan gambar berikut:

Langkah selanjutnya adalah menginstal courierpassd. Courierpassd merupakan utility yang digunakan untuk merubah password user email. Berikut adalah langkah-langkahnya:

# cd /downloads/qmailrocks # tar zxvf courierpassd-1.1.0-RC1.tar.gz # cd courierpassd-1.1.0-RC1 # ./configure # make && make install # cd /etc/xinetd.d # vi courierpassd service courierpassd { port = 106 socket_type = stream protocol = tcp user = root server = /usr/local/sbin/courierpassd server_args = -s imap wait = no only_from = 127.0.0.1 instances = 4 disable = no } # vi /etc/services Tambahkan skrip berikut di d a l a m f i l e s e r v i c e s c o u r i e r p a s s d 1 0 6 / t c p # f o r

/etc/xinetd.d/courierpassd # /etc/rc.d/init.d/xinetd restart

Kita uji apakah courierpassd bisa berjalan dengan baik atau tidak dengan menuliskan perintah:

# telnet localhost 106

lalu masukkan alamat email dengan terlebih dahulu menulis kata user. Setelah itu ketik passwordnya dengan terlebih dahulu mengetik kata pass. Dan terakhir masukkan password yang baru dengan terlebih dahulu mengetikkan kata newpass. Untuk lebih jelasnya, perhatikan gambar berikut:

(32)

L. Squirrelmail

Squirrelmail merupakan webmail client yang digunakan untuk mengakses mail server. Pada saat tulisan ini dibuat, versi squirrelmail adalah versi 1.19. Berikut adalah langkah-langkahnya:

# wget squirrelmail # tar zxvf squirrelmail-1.4.19.tar.gz # mv squirrelmail-1.4.19 webmail # cp -r webmail /var/www/html/ # cd webmail # chown -R apache:apache data # ./configure Pilih nomor 2 Nomor 7 Jawab pertanyaan dengan N, login, dan N Tekan tombol S Tekan tombol Q

# mkdir -p /var/local/squirrelmail/data/ # mkdir -p /var/local/squirrelmail/attach/ # chown apache:apache /var/local/squirrelmail/data/ # chown apache:apache /var/local/squirrelmail/attach/ # service httpd restart Buka browser, lalu ketikan:

http://alamat_ip/webmail

Setelah menuliskan username dan passwordnya, maka seharusnya akan terlihat tampilan sebagai berikut:

Setelah itu cobalah saling mengirim email antar user dan seharusnya email sudah dapat terkirim dengan baik.

III. Instalasi Antivirus Clamav

Clamav merupakan aplikasi untuk mendeteksi email yang masuk apakah mengandung virus atau pun tidak. Disini penulis menginstal clamav dengan menginstalnya melalui yum. Namun sebelum menginstal clamav dengan yum, ikuti langkah-langkah berikut:

# y u m - y i n s t a l l y u m - p r i o r i t i e s # w g e t http://apt.sw.be/redhat/el5/en/i386/RPMS.dag/rpmforge-release-0 . 3 . 6 - 1 . e l 5 . r f . i 3 8 6 . r p m # r p m - - i m p o r t http://dag.wieers.com/rpm/packages/RPMGPGKEY.dag.txt # rpm

(33)

-K release-0.3.6-1.el5.rf.*.rpm # rpm -i rpmforge-release-0.3.6-1.el5.rf.*.rpm

Kemudian baru kita install clamav dengan cara: # yum install clamav*

Sesudah selesai clamav diinstal, terlihat sendmail ikut serta diinstal dalam system kita. Maka dari itu remove sendmail dengan cara :

# yum remove sendmail

Kemudian penulis mengkonfigurasi clamav dengan cara: # vi /etc/clamd.conf

rubah pada file tersebut menjadi:

# Example (Bagian Example diberi tanda pagar) LogFile /var/log/clamav/clamd.log LogTime (Jangan diberi tanda pagar) LogSysLog (Jangan diberi tanda pagar) User qscand ScanMail (Jangan diberi tanda pagar)

Kemudian penulis melakukan langkah-langkah berikut:

# useradd -c "Qmail-Scanner Account" -s /bin/false qscand # chown -R qscand:qscand /var/log/clamav/ # chown -R qscand:qscand /var/run/clamav/ # touch update.log # chown clamav:clamav /var/log/clamav/clam-update.log

Nyalakan service clamav dengan cara:

# /etc/init.d/clamav

dan seharusnya clamav dapat berjalan dengan baik. Agar clamav dapat mendapatkan update terbaru, gunakan perintah:

/usr/bin/freshclam -l /var/log/clamav/clam-update.log

Kemudian jadwalkan agar setiap malam (jam 1.26), clamav dapat terupdate secara otomatis:

# crontab -e 25 1 * * * /usr/bin/freshclam --quiet -l /var/log/clamav/freshclam.log

(34)

Agar clamav dapat menyala secara otomatis, maka gunakan perintah berikut:

# chkconfig --level 345 on clamd on

Setelah itu, sepengalaman penulis biasanya selesai penginstalan clamav, ketika kita mengirim email, maka email tidak dapat terkirim dengan baik. Maka dari itu gunakan perintah:

# / u s r / l o c a l / s b i n / a u t h d a e m o n d s t o p # /usr/local/sbin/authdaemond start # /etc/rc.d/init.d/imap stop # /etc/rc.d/init.d/imaps stop # /etc/rc.d/init.d/imap start # /etc/rc.d/init.d/imaps start

Maka, seharusnya email dapat terkirim dengan baik.

IV. Instalasi SpamAssassin

Spamassassin merupakan program untuk mendeteksi email yang masuk apakah mengandung spam atau tidak. Penulis menginstal spamassassin dengan cara:

# yum install spamassassin # groupadd spamd # useradd -g spamd -s /home/spamd spamd

Kemudian mengkonfigurasi spamassassin sebagai berikut:

# vi /etc/sysconfig/spamassassin Hapus isi dari file tersebut dan masukkan skrip sebagai berikut: SPAMDOPTIONS="-x -u spamd

-H /home/spamd -d" # vi /etc/mail/spamassassin/local.cf

Tambahkan skrip dibawah: required_hits 5 Lalu nyalakan spamassassin dengan cara:

# /etc/init.d/spamassassin start

Ceklah di sistem apakah spamassassin sudah menyala atau belum dengan cara:

(35)

Agar spamassassin menyala secara otomatis, maka gunakan perintah berikut:

# chkconfig --level 345 spamassassin on

V. Instalasi QmailScanner

QmailScanner merupakan program tambahan qmail yang digunakan untuk melakukan scanning email yang menggunakan karakteristik tertentu, khususnya digunakan untuk melakukan scanning virus atau proteksi antivirus. Program ini juga digunakan untuk melakukan scanning header atau file attachments. Berikut adalah langkah-langkahnya:

# cd /downloads/qmailrocks # tar zxvf qmail-scanner-1.25.tgz # tar zxvf qms-analog-0.4.2.tar.gz # cd qms-analog-0.4.2 # make all # cp qmail-scanner-1.25-st-qms-20050219.patch / d o w n l o a d s / q m a i l r o c k s / q m a i l - s c a n n e r - 1 . 2 5 / # c d /downloads/qmailrocks/scanner-1.25 # patch -p1 < qmail-s c a n n e r - 1 . 2 5 - qmail-s t - q m qmail-s - 2 0 0 5 0 2 1 9 . p a t c h # c d /downloads/qmailrocks/qmail-scanner-1.25

Setelah itu kita akan mengkonfigurasi QmailScanner. Ada 2 cara untuk mengkonfigurasi QmailScanner yaitu apakah sistem kita menggunakan setuid atau tidak. Awalnya penulis mengira bahwa sistem penulis menggunakan setuid, maka penulis melakukan hal-hal berikut:

# cd /downloads/qmailrocks/qmail-scanner-1.25 # vi qms-config Rubah tulisan yourdomain.com dan yang sejenisnya menjadi

ribhy.com # chmod 755 qms-config # ./qms-config

Jawab YES jika ada pertanyaan-pertanyaan. Jika tidak ada error, maka tulis perintah berikut:

# ./qms-config install

maka QmailScanner sudah terinstal dengan baik di sistem kita. Namun ternyata sistem penulis tidak menggunakan setuid. Hal itu diketahui dengan cara adanya error pada saat menuliskan perintah ./qms-config dengan tulisan:

Can’t do setuid (cannot exec sperl)

Maka dari itu penulis melakukan langkah-langkah berikut untuk menginstal QmailScanner di sistem penulis:

(36)

# cd /downloads/qmailrocks/qmail-scanner-1.25/contrib # make install # cd /downloads/qmailrocks/qmail-scanner-1.25 # vi qms-config-cwrapper Rubah tulisan yourdomain.com atau yang sejenisnya menjadi ribhy.com # chmod 755 qms-config-cwrapper # ./qms-config-cwrapper # ./qms-config-cwrapper install # vi /var/qmail/bin/qmail-scanner-queue.pl Hapus karakter -T pada skrip paling atas sehingga menjadi #/usr/bin/perl

Kemudian ikuti langkah-langkah berikut ini:

# chmod 0755 /var/qmail/bin/qmail-scanner-queue.pl # scanner-queue -z # /var/qmail/bin/qmail-scanner-queue -g

Maka akan ada tulisan:

# chown -R qscand:qscand /var/spool/qmailscan # vi /var/qmail/supervise/qmail-smtpd/run Tambahkan skrip berikut pada baris kedua:

QMAILQUEUE="/var/qmail/bin/qmail-scanner-queue" ; export QMAILQUEUE Lalu pada file yang sama rubah change softlimit menjadi 40000000

Kemudian langkah-langkah berikutnya adalah:

# qmailctl stop # qmailctl start # qmailctl stat # cd /downloads/qmailrocks/qmail-scanner-1.25/contrib # chmod 755 test_installation.sh # ./test_installation.sh -doit

Akan ada tulisan seperti berikut:

dan sekarang cobalah cek di // <![CDATA[ var prefix = ‘ma’ + ‘il’ + ‘to’;

var path = ‘hr’ + ‘ef’ + ‘=’;

var addy98641 = ‘postmaster’ + ‘@’;

addy98641 = addy98641 + ‘ini-aja’ + ‘.’ + ‘co’ + ‘.’ + ‘cc’; document.write( ‘‘ );

document.write( addy98641 ); document.write( ” );

//n // –>

(37)

protected from spambots, you need JavaScript enabled to view it // <![CDATA[

document.write( ” );

// ]]>, dan seharusnya ada beberapa email yang masuk seperti pada gambar:

VII. Instal QmailAnalog

Qmailanalog merupakan sebuah utility untuk membantu kita menganalisa aktivitas qmail yang tercatat. Berikut adalah langkah-langkahnya:

# cd /downloads/qmailrocks/ # tar zxvf qmailanalog-0.70.tar.gz # c d q m a i l a n a l o g - 0 . 7 0 # p a t c h < /downloads/qmailrocks/patches/0.70-errno.patch # make && make setup check # cd /downloads/qmailrocks/ # tar zxvf q l o g t o o l s - 3 . 1 . t a r . g z # c d q l o g t o o l s - 3 . 1 # p a t c h < /downloads/qmailrocks/patches/qlogtools_errno.patch # mkdir / u s r / l o c a l / m a n # m a k e # . / i n s t a l l e r # c p / d o w n l o a d s / q m a i l r o c k s / q m s - a n a l o g - 0 . 4 . 2 / q m a i l s t a t s /var/qmail/bin # vi /var/qmail/bin/qmailstats rubah tulisan

your_postmaster@yourdomain.com This e-mail address is being protected from spambots, you need JavaScript enabled to view it menjadi postmaster@ribhy.com This e-mail address is being protected from spambots, you need JavaScript enabled to view it

Setelah itu berikan perintah berikut:

# c h m o d 7 5 0 / v a r / q m a i l / b i n / q m a i l s t a t s # /var/qmail/bin/qmailstats

Dan Ceklah di akun // <![CDATA[ var prefix = ‘ma’ + ‘il’ + ‘to’; var path = ‘hr’ + ‘ef’ + ‘=’;

var addy13318 = ‘postmaster’ + ‘@’;

addy13318 = addy13318 + ‘ini-aja’ + ‘.’ + ‘com’ ; document.write( ‘‘ );

document.write( addy13318 ); document.write( ” );

(38)

// –>

// ]]>postmaster@ribhy.com // This e-mail address is being protected from spambots, you need JavaScript enabled to view it // <![CDATA[

document.write( ” );

// ]]>. Seharusnya email yang berjudul Qmail Nightly Qmail Report for xx/xx/xx ada di dalam mailbox postmaster seperti yang ditunjukkan pada gambar di atas.

Agar setiap malam program ini menyala secara otomatis gunakan crontab:

# crontab -e 0 3 * * * /var/qmail/bin/qmailstats 1>/dev/null 2>/dev/null

Maka setiap jam 3 pagi, qmailanalog akan bekerja secara otomatis.

VIII. Instal Qtrap

Qtrap digunakan untuk mendeteksi email-email yang masuk apakah mengandung kata-kata tertentu yang dilarang atau tidak. Jika mengandung kata-kata yang dilarang, maka program ini tidak akan mengirimkan email tersebut. Berikut adalah langkah-langkahnya:

# m k d i r - p q t r a p / l o g s # c d q t r a p # c p /downloads/qmailrocks/scripts/qtrap/qtrap-2.0.0 ./qtrap.sh # vi qtrap.sh

Disitu ada 2 elemen penting yang bisa dikonfigurasi. Elemen pertama adalah daftar email yang boleh masuk ke sistem jika sebelumnya email tersebut membawa kata-kata yang dilarang. Elemen kedua adalah kata-kata apa saja yang dilarang. Disitu diberikan contoh:

porn|PORN|Sex|SEX)

Maka email yang mengandung kata-kata tersebut tidak akan dikirim. Kemudian setelah mengkonfigurasi email tersebut, ikuti langkah-langkah berikut ini:

# c d / h o m e / v p o p m a i l # t o u c h /home/vpopmail/qtrap/logs/qtrap.log # chown -R vpopmail:vchkpw

(39)

/home/vpopmail/qtrap # chmod -R 755 /home/vpopmail/qtrap # cd /home/vpopmail/domains/ribhy.com # vi .qmail-default

Tambahkan di file tersebut skrip di bawah ini dan letakkan pada baris pertama pada file tersebut:

| /home/vpopmail/qtrap/qtrap.sh

Sehingga hasilnya akan tampak seperti berikut:

| / h o m e / v p o p m a i l / q t r a p / q t r a p . s h | /home/vpopmail/bin/vdelivermail '' delete

Setelah itu Cobalah mengirim email dengan salah satu kata yang dilarang. Jika email tersebut berhasil dikirim, maka program qtrap kita tidak berhasil. Tetapi jika tidak berhasil dikirim, maka program qtrap kita berhasil dan ada pemberitahuan di:

# cat /home/vpopmail/domains/ribhy.com/qtrap/logs/qtrap.log MESSAGE DROPPED from xxx@xxx because of xxx on xx/xx/xx xx:xx:xx

X. Lain-Lain

Penulis biasanya menggunakan skrip sederhana agar qmail secara otomatis sebab pengalaman penulis, qmail akan mati setelah server direstart. Maka dari itu penulis menggunakan skrip sebagai berikut:

# vi /root/imap

Tuliskan skrip berikut:

#!/bin/bash ## Perintah untuk menjalankan IMAP secara otomatis /usr/local/sbin/authdaemond stop /usr/local/sbin/authdaemond start /etc/rc.d/init.d/imap stop /etc/rc.d/init.d/imaps stop /etc/rc.d/init.d/imap start /etc/rc.d/init.d/imaps start # chmod 744 /root/imap

Lalu tambahkan di file /etc/rc.d/rc.local dan tambahkan skrip berikut:

(40)

/root/imap

Dan seharusnya qmail dapat menyala secara otomatis setelah server restart.

Referensi

Dokumen terkait

Karena itu organisasi dapat dikatakan sebagai sekumpulan orang-orang yang disusun dalam kelompok-kelompok, yang bekerjasama untuk mencapai tujuan bersama,

Kompetensi Dasar Materi Pokok/ Pembelajar an Kegiatan Pembelajaran Indikator Penilaian Alokasi Waktu Sumber Belajar Teknik Bentuk Instrumen Contoh Instrumen kehidupan

sehingga informasi secara tahunan perusahaan dapat diketahui, tidak mengalami delisting selama periode penelitian, menyajikan lapor- an keuangannya dalam satuan mata uang

Infeksi 4irus dengue mengaki1atkan menifestasi kinis %ang 1er4ariasi muai dari asimtomatik&amp; pen%akit paing ringan&amp; demam 1erdarah dengue sampai sindrom

•Dalam Perkara 76 Parlimen boleh membuat undang-undang dalam Senarai Negeri yang melibatkan perlaksanaan persetiaan, perjanjian atau konvonsyen antara persekutuan

Total debit air yang masuk ke sumuran 2 sebesar 79.673,6 m 3 /hari dengan penambahan 1 pompa yang sama dan peningkatan operating speed yaitu 1800 rpm maka debit yang

Dahlan, S. Analisis Multivariat Regresi Logistik. Jakarta: Salemba Medika. Hubungan pengetahuan gizi dan pola makan pada remaja putri dengan kejadian anemia di SMP N 2 Kota