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, lynx [root@localhost]# lynx 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]# [root@localhost]# make clean
make
install
Jika udah saat testing untuk koneksi ke server [root@localhost]# /usr/local/bin/tsql <mssql.servername.com> -U
Password: <password>
-S
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
[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 =
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") or die ("couldn't connect"); // use database odbc_exec($connect, "use ribhy_com"); $result = odbc_exec($connect, "SELECT Name, Desc " . "FROM master"); while(odbc_fetch_row($result)){ print(odbc_result($result, "Name") . ' ' . odbc_result($result, "Desc") . "
\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 query seperti berikut ini
PostgreSQL
Session
SET session_replication_role = replica; Untuk mengaktifkannya kembali SET session_replication_role = DEFAULT;
dengan
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.
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. Basic Configuration
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
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 injection
serangan
sql
Serangan SQL Injection dapat dibagi menjadi tiga kelas berikut :
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 . Boolean : gunakan kondisi Boolean ( s ) untuk 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 .
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
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
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: rpm -Uvh 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
dalam file itu, bagaimanapun, dan kita harus membuat salinan lokal itu. cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
Step 3—Configure Jail.Local
defaults
in
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. Maxretry adalah jumlah usaha login yang salah bahwa host
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] sendmailwhois[name=SSH, dest=root, [email protected]] 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 ekstensi file. Misalnya, sshd mengacu pada 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,
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
Melihat
aktif
query
pada
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 SELECT datname,usename,procpid,client_addr,waiting,query_start,curren t_query FROM pg_stat_activity ; selamat mencoba…
Simple firewall netfilter / iptables
with
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
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 configuration ### END INIT INFO ############################################################# ################# # DEFAULT POLICY SetDefaultPolicy() { # Drop everything iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP } ############################################################# ################# # 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 > /proc/sys/net/ipv4/ip_forward } ############################################################# ################# # 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 $IF_PUB -j ACCEPT } ############################################################# ################# # LOOPBACK SetLoopbackRules() { # Allow everything iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT } ############################################################# ################# # PRIVATE INTERFACES SetPrivateInterfaceRules() { # Allow everything iptables -A INPUT -i $IF_PRV -s $NET_PRV -j ACCEPT iptables -A OUTPUT -o
$IF_PRV -d $NET_PRV -j ACCEPT } ############################################################# ################ # PUBLIC INTERFACES SetPublicInterfaceRules() { iptables -A INPUT -i $IF_PUB -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A OUTPUT -o $IF_PUB -j ACCEPT } ############################################################# ################# # 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 --icmp-type 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 ACCEPT } ############################################################# ################# # 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() {
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-hostprohibited } # 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 --log-prefix="OUTPUT " iptables -A FORWARD -j LOG --logprefix="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 tcpreset } ############################################################# ################# # SCRIPT ENTRY POINT echo -n "Firewall configuration..." echo $1 ############################################################# ################# # ENVIRONMENT # Private interface IF_PRV=eth0 IP_PRV=192.168.1.1 NET_PRV=192.168.1.0/24 # Public interface IF_PUB=eth1 IP_PUB=10.0.0.1 NET_PUB=10.0.0.0/24 # Others ANYWHERE=0.0.0.0/0 . /etc/rc.status rc_reset ############################################################# ################# # COMMAND LINE case "$1" in start) SetDefaultPolicy FlushTables EnableRouting SetBlockedProtocols SetBlockedNetworks SetBlockedHosts SetForwardingRules SetLoopbackRules SetPrivateInterfaceRules SetPublicInterfaceRules EnableSourceNAT SetICMP_Open SetSSH_Open SetSMTP_DNAT SetPOP3_DNAT SetWebmail_DNAT SetHTTP_DNAT SetPrelogDropRules SetLoggingRules SetDropRules
;; stop) SetDefaultPolicy FlushTables 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 server 10.04
di
ubuntu
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 2. menghemat bandwidthAnda.
Mari berasumsi bahwa Anda sudah mengatur sebuah gateway Linux menggunakan iptables. Hal ini dimungkinkan untuk 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
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 khususnya *NIX. Alasan mengapa menggunakan qmail adalah:
– 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 # mkdir /downloads # cd /downloads # wget 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 langkahlangkahnya: # cd /downloads/qmailrocks/scripts/install/ qmr_install_linux-s1.script # /downloads/qmailrocks/scripts/util/ #
#
./ cd ./
qmail_big_patches.script # cd /usr/src/qmail/qmail-1.03 # make man && make setup check # ./config-fast ribhy.com # make cert # chown -R vpopmail:qmail /var/qmail/control/clientcert.pem /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: # cd /usr/src/qmail/ucspi-tcp-0.88/ # patch /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:
# cd /downloads/qmailrocks/ # tar zxvf ezmlm-0.53idx-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 masingmasing dari kita # chown vpopmail:vchkpw ~vpopmail/etc/vpopmail.mysql # chmod 640 ~vpopmail/etc/vpopmail.mysql # mysql -u root –p > CREATE DATABASE vpopmail; > grant
select,insert,update,delete,create,drop ON vpopmail.* vpopmailuser@localhost IDENTIFIED BY 'password'; > quit;
TO
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 # cd vqadmin-2.3.6 # ./configure --enablecgibindir=/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 deny from all Options ExecCGI AllowOverride AuthConfig Order deny,allow # cd / var/www/cgibin /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
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 --execprefix=/usr/local --enable-maildrop-uid=root --enablemaildrop-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 langkahlangkahnya:
# cd /downloads/qmailrocks # tar zxvf qmailadmin-1.2.9.tar.gz # cd qmailadmin-1.2.9 # ./configure --enablecgibindir=/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 // // ]]>[email protected] // This e-mail address is being protected from spambots, you need JavaScript enabled to view it // .
H. Tahap Akhir qmail # cd /downloads/qmailrocks/scripts/finalize/linux/ # ./finalize_linux.script # vi /var/qmail/supervise/qmailpop3d/run rubah example.com menjadi ribhy.com # vi /var/qmail/supervise/qmail-smtpd/run rubah example.com menjadi
ribhy.com # qmailctl stop # echo '127.:allow,RELAYCLIENT=""' >> /etc/tcp.smtp # qmailctl cdb # echo [email protected] This e-mail address is being protected from spambots, you need JavaScript enabled to view it > /var/qmail/alias/.qmail-root # echo [email protected] This e-mail address is being protected from spambots, you need JavaScript enabled to view it > /var/qmail/alias/.qmail-postmaster # echo [email protected] This e-mail address is being protected from spambots, you need JavaScript enabled to view it > /var/qmail/alias/.qmail-mailer-daemon # ln -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-docx.x.x.x sendmail-devel-x.x.x.x sendmail-cf-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 Qmail installation looks good!, berarti sistem kita sudah
terinstal qmail dengan baik. Lalu lanjutkan langkah-lanngkah berikut ini: # qmailctl stop # qmailctl start # qmailctl stat /service/qmail-send: up (pid 29956) 2 seconds /service/qmailsend/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: # cd /downloads/qmailrocks/ # tar jxvf courierauthlib-0.55.tar.bz2 # cd courier-authlib-0.55
Kita konfigurasi courier-authlib dengan cara: # ./configure --prefix=/usr/local --exec-prefix=/usr/local -with-authvchkpw --without-authldap --without-authmysql -disable-root-check --with-ssl --withauthchangepwdir=/usr/local/libexec/authlib --with-redhat Kita compile dengan cara: # make && make check # make install-strip && make installconfigure 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 courier-imap-4.0.2.tar.bz2 # chown -R ribhy:wheel courierimap-4.0.2 # cd /downloads/qmailrocks/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 --with-ssl --withauthchangepwdir=/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 TLS_CERTFILE=/usr/local/share/imapd.pem # vi /usr/local/etc/authlib/authdaemonrc rubah menjadi: authmodulelist="authvchkpw" # cp /usr/local/libexec/imapd.rc
/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.0RC1.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 dalam file services courierpassd 106/tcp #for /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:
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 langkahlangkahnya: # 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 apakah mengandung virus menginstal clamav dengan sebelum menginstal clamav berikut:
untuk mendeteksi email yang masuk atau pun tidak. Disini penulis menginstalnya melalui yum. Namun dengan yum, ikuti langkah-langkah
# yum -y install yum-priorities # wget http://apt.sw.be/redhat/el5/en/i386/RPMS.dag/rpmforge-release0.3.6-1.el5.rf.i386.rpm # rpm --import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt # rpm -
K rpmforge-release-0.3.6-1.el5.rf.*.rpm # rpm -i rpmforgerelease-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 /var/log/clamav/clamupdate.log # chown clamav:clamav /var/log/clamav/clamupdate.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
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: # /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 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: # ps aux | grep spamd
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 /downloads/qmailrocks/qmail-scanner-1.25/ # cd /downloads/qmailrocks/qmail-scanner-1.25 # patch -p1 < qmailscanner-1.25-st-qms-20050219.patch # cd /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 halhal 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:
# 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 # /var/qmail/bin/qmail-scanner-queue -z # /var/qmail/bin/qmailscanner-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-scannerqueue" ; 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 // // ]]>[email protected] // This e-mail address is being
protected from spambots, you need JavaScript enabled to view it // , 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 # cd qmailanalog-0.70 # patch < /downloads/qmailrocks/patches/0.70-errno.patch # make && make setup check # cd /downloads/qmailrocks/ # tar zxvf qlogtools-3.1.tar.gz # cd qlogtools-3.1 # patch < /downloads/qmailrocks/patches/qlogtools_errno.patch # mkdir /usr/local/man # make # ./installer # cp /downloads/qmailrocks/qms-analog-0.4.2/qmailstats /var/qmail/bin # vi /var/qmail/bin/qmailstats rubah tulisan [email protected] This e-mail address is being protected from spambots, you need JavaScript enabled to view it menjadi [email protected] This e-mail address is being protected from spambots, you need JavaScript enabled to view it Setelah itu berikan perintah berikut: # chmod 750 /var/qmail/bin/qmailstats /var/qmail/bin/qmailstats Dan Ceklah di akun //
#
// –> // ]]>[email protected] // This e-mail address is being protected from spambots, you need JavaScript enabled to view it // . 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 langkahlangkahnya: # mkdir -p qtrap/logs # cd qtrap # cp /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: # cd /home/vpopmail # touch /home/vpopmail/qtrap/logs/qtrap.log # chown -R vpopmail:vchkpw
/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: | /home/vpopmail/qtrap/qtrap.sh /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:
/root/imap Dan seharusnya qmail dapat menyala secara otomatis setelah server restart.