Cara Hosting Virtual Dengan Virtualmin Di CentOS 5.1
Versi 1.0.1
Penulis:Andrew Colin Kissa
Pengantar
Tutorial ini menunjukkan cara mengatur server CentOS 5.x untuk menawarkan semua layanan yang dibutuhkan oleh web hoster virtual. Ini termasuk hosting web, server smtp dengan (SMTP-AUTH dan TLS, SPF, DKIM, Domainkeys), DNS, FTP, MySQL, POP3/IMAP, Firewall, Webalizer untuk statistik.
Saya akan menggunakan perangkat lunak berikut:
- Server Basis Data:MySQL 5.0.22
- Server Email:Postfix 2.3.3
- Server NS:BIND9 9.3.3
- Server Web:Apache 2.2.3 /PHP 5.1.6
- Server FTP:Vsftpd 2.0.5
- Server POP3/IMAP:Dovecot 1.0
- Webalizer:untuk statistik situs 2.01_10
- Virtualmin:Panel kontrol
Instalasi OS
Persyaratan
Untuk menginstal sistem yang Anda perlukan
- CentOS 5.1 Menginstal media
- Koneksi internet bagus
Instal Sistem Dasar
CATATAN Beberapa tahap penginstalan tidak dijelaskan di sini untuk menjaga agar howto tetap singkat, misalnya Tahap konfigurasi grub ditinggalkan.
- Boot dari media DVD atau CD dan pada prompt boot ketik teks linux.
- Lewati uji media.
- Pilih bahasa Anda:
- Pilih tata letak keyboard:
- Konfigurasikan jaringan Anda, saya akan menggunakan dhcp jika Anda tidak memiliki dhcp, Anda dapat menggunakan entri statis.
- Pilih Ya untuk menginisialisasi drive:
- Pilih tata letak khusus untuk jenis partisi:
- Membuat partisi:
- Konfigurasi jaringan:
Setel alamat IP dan netmask:
Setel gateway dan server dns:
Setel nama host:
- Setel zona waktu:
- Setel kata sandi root:
- Pilih grup server dan pilih sesuaikan pilihan perangkat lunak:
- Grup paket pilih sebagai berikut:
- Server nama DNS
- bind-chroot
- Server nama DNS
- Editor
- vim ditingkatkan
- Server FTP
- Server surat
- tempat tidur merpati
- pembunuh spam
- perbaikan akhir
- Database MySQL
- server-mysql
- Server web
- mod_ssl
- webalizer
- php
- php-pear
- http-suexec
- php-mysql
Mulai penginstalan:
Sistem file diformat:
Instalasi akan berjalan:
Mulai ulang sistem:
Cara Hosting Virtual Dengan Virtualmin Di CentOS 5.1 - Halaman 2
Layanan Untuk Dinonaktifkan
Untuk meningkatkan keamanan dan membebaskan sumber daya sistem pada sistem, kita perlu menonaktifkan layanan apa pun yang tidak diperlukan. Anda dapat menjalankan skrip ini untuk melakukannya untuk Anda.
- asam
- anakron
- apmd
- otomatis
- bluetooth
- gelas
- boot pertama
- gpm
- haldaemon
- bus pesan
- mdmonitor
- tersembunyi
- ip6tables
- kudzu
- lvm2-monitor
- netfs
- nfslock
- pcscd
- peta port
- rpcgssd
- rpcidmapd
- kirim email
- pintar
- yum-updatesd
Dasar
Kami perlu memperbaiki beberapa masalah untuk mempersiapkan sistem untuk konfigurasi.
- Instal pembaruan
peningkatan yang enak
- Ganti mta ke postfix
alternatif --config mta
Ada 2 program yang menyediakan 'mta'.
Perintah Pilihan
------------------------------ -----------------
1 /usr/sbin/sendmail.postfix
*+ 2 /usr/sbin/sendmail.sendmail
Enter untuk menyimpan pilihan saat ini[+], atau ketik nomor pilihan:1
- Instal konfigurasi caching-nameserver:
yum install caching-nameserver
- Instal alat Bangun:
yum install gcc cpp gcc-c++ automake automake14 automake15 automake16 automake17 openssl-devel subversion ncurses-devel -y
Konfigurasikan Alias Jaringan
cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth0:1
Ubah file /etc/sysconfig/network-scripts/ifcfg-eth0:1 menjadi seperti ini:DEVICE=eth0:1BOOTPROTO=staticBROADCAST=192.168.1.255IPADDR=192.168.1.6NETMASK=255.255.255.0NETWORK=192.168. 1.0ONBOOT=ya
Instal Webmin / Virtualmin
- Impor kunci pgp webmin:
wget http://www.webmin.com/jcameron-key.asc
rpm --import jcameron-key.asc
- Unduh rpm:
wget http://prdownloads.sourceforge.net/webadmin/webmin-1.390-1.noarch.rpm
- Verifikasi rpm (harus mengatakan OK atau unduh lagi):
rpm --checksig webmin-1.390-1.noarch.rpm
- Instal rpm:
rpm -Uvh webmin-1.390-1.noarch.rpm
Konfigurasi Webmin Awal
Kita perlu mengamankan webmin dengan mengedit /etc/webmin/miniserv.conf dan membuat perubahan berikut:
- Hanya menggunakan SSL:
ssl=1
- Ubah port ke 443 dan ikat ke nic kedua saja:
port=443bind=192.168.1.6
- Nonaktifkan siaran UDP:
#listen=10000
- Ubah penguncian host pada kegagalan login menjadi 3 :
blockhost_failures=3
- Tingkatkan waktu tunggu penguncian host menjadi 120:
blockhost_time=120
- Ubah penguncian pengguna saat gagal masuk ke 3:
blockuser_failures=3
- Ubah batas waktu penguncian pengguna menjadi 120:
blockuser_time=120
- Ubah ranah ke hal lain:
realm=cpanel
- Masuk log masuk ke utmp:
utmp=1
Instal tema harimau webmin:
- Masuk ke webmin melalui https://192.168.1.5:10000 menggunakan root dan kata sandi Anda.
- Buka webmin ? Konfigurasi? tema webmin.
- Pilih Dari ftp atau URL http dan masukkan http://www.stress-free.co.nz/files/theme-stressfree.tar.gz
- Klik instal tema.
- Klik "kembali ke daftar tema".
- Pilih StressFree sebagai tema saat ini, lalu klik ubah.
Instal modul php-pear:
- Buka webmin ? konfigurasi webmin? modul webmin.
- Pilih modul pihak ketiga dari dan masukkan http://www.webmin.com/download/modules/php-pear.wbm.gz.
- Klik instal modul.
Instal virtualmin:
- Buka webmin ? konfigurasi webmin? modul webmin.
- Pilih instal dari ftp atau URL http dan masukkan http://download.webmin.com/download/virtualmin/virtual-server-3.51.gpl.wbm.gz
- Klik instal modul.
Hapus modul yang tidak diinginkan Buka webmin ? konfigurasi webmin? hapus dan pilih yang berikut ini:
- Klien ADSL
- Sistem cadangan Bacula
- Pembakar CD
- Server CVS
- Cluster mengubah sandi
- Kluster menyalin file
- Tugas cron cluster
- Perintah shell cluster
- Paket perangkat lunak cluster
- Server min pengguna cluster
- Mengelompokkan pengguna dan grup
- Server webmin cluster
- Cangkang perintah
- Mesin konfigurasi
- Perintah khusus
- Server DHCP
- Ambil pengambilan surat
- Manajer file
- Proxy ftp frox
- Terowongan HTTP
- Pemantau detak jantung
- VPN IPsec
- Server IM Jabber
- Server LDAP
- Manajemen volume logis
- Manajer daftar Majordomo
- Ekspor NFS
- Klien dan server NIS
- Server OpenSLP
- Server panggilan PPP
- Klien dialup PPP
- Server vpn PPTP
- Klien VPN PPTP
- Server database postgresql
- Admin pencetak
- Server ProFTPD
- Server surat QMAIL
- Status berkendara CERDAS
- Masuk SSH / Telnet
- Terowongan SSL
- Berbagi file jendela SAMBA
- Perintah terjadwal
- Server surat kirim surat
- Firewall garis pantai
- Pembuat laporan analisis cumi
- Server proxy cumi
- Server pesan suara
- Server WU-FTP
- Server Idmapd
Mulai ulang webmin:
layanan webmin dimulai ulang
Konfigurasi Rpmforge Repo
rpm -Uhv http://packages.sw.be/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
CATATAN:Jika Anda menggunakan arsitektur yang berbeda, periksa https://rpmrepo.org/RPMforge/Menggunakan rpm yang benar- Nonaktifkan repo (sehingga paket dasar tidak ditimpa) edit /etc/yum.d/rpmforge.repo dan atur opsi berikut:
diaktifkan =0
Instal Paket Tambahan yang Diperlukan
- Instal clamav:
yum --enablerepo=rpmforge install clamav clamav-db clamav-milter clamd -y
wget http://www.topdog-software.com/files/clamav-milter.patch
patch /etc/init .d/clamav-milter
freshclam
- Pasang tanda tangan sanesecurity:
wget http://www.sanesecurity.co.uk/clamav/update_sanesecurity.txt -O /usr/local/bin/update_sanesecurity.sh
chmod +x /usr/local/bin/update_sanesecurity.sh
ln -s /usr/local/bin/update_sanesecurity.sh /etc/cron.hourly/
/usr/local/bin/update_sanesecurity.sh
- Instal eakselerator PHP:
yum --enablerepo=rpmforge install php-eaccelerator
- Instal paket spamassassin yang lebih baru dari rpmforge:
yum --enablerepo=rpmforge upgrade spamassassin
- Instal spamass-milter:
yum --enablerepo=rpmforge install spamass-milter
- Instal modul perl yang dibutuhkan oleh spamassassin:
perl -MCPAN -e 'install Mail::SPF'
perl -MCPAN -e 'install Mail::SPF::Query'
perl -MCPAN -e 'install Net::Ident'
perl -MCPAN -e 'install IP::Country::Fast'
perl -MCPAN -e 'install Mail::DomainKeys'
perl -MCPAN -e 'install Mail::DKIM'
- Instal fuzzyOCR:
yum --enablerepo=rpmforge install netpbm-progs ocrad gocr gifsicle giflib-utils giflib -y
svn co https://svn.own-hero.net/fuzzyocr/trunk/devel/
cd devel/
perl -MCPAN -e 'install String::Approx'
perl -MCPAN -e 'install Time::HiRes'
perl -MCPAN -e 'install Log::Agent'
cp -rv {FuzzyOcr.cf,FuzzyOcr.scansets,FuzzyOcr.preps,FuzzyOcr.pm,FuzzyOcr.words,FuzzyOcr/} /etc/mail/spamassassin
chcon -R system_u:object_r:etc_mail_t /etc/mail/spamassassin/{FuzzyOcr.cf,FuzzyOcr.scansets,FuzzyOcr.preps,FuzzyOcr.pm,FuzzyOcr.words,FuzzyOcr/}
wget http://www.gbnetwork.co.uk/mailscanner /FuzzyOcr.words -O /etc/mail/spamassassin/FuzzyOcr.words
- Pasang Pisau Cukur:
yum --enablerepo=rpmforge install razor-agents -y
- Instal roundcube:
yum install php-imap
rpm -Uvh http://www.topdog-software.com/oss/roundcube/roundcube-0.1-rc2.noarch.rpm
- Instal kira-kira:
wget http://imapproxy.org/downloads/up-imapproxy-1.2.6.tar.gz
rpmbuild -tb up-imapproxy-1.2.6.tar.gz
rpm -Uvh /usr/ src/redhat/RPMS/i386/up-imapproxy-1.2.6-1.i386.rpm
- Aktifkan layanan:
chkconfig --level 345 httpd pada
chkconfig --postfix level 345 pada
chkconfig --level 345 spamassassin aktif
chkconfig --level 345 spamass-milter pada
chkconfig --level 345 clamav-milter aktif
chkconfig --level 345 mysqld aktif
chkconfig --level 345 bernama di
chkconfig --level 345 vsftpd aktif
chkconfig --level 345 dovecot aktif
chkconfig --level 345 hampir tidak aktif
Cara Hosting Virtual Dengan Virtualmin Di CentOS 5.1 - Halaman 3
Konfigurasi
Pengaturan Postfix
Pengantar
Kami akan menyiapkan postfix dengan fitur berikut:
- Hosting virtual
- Pencegahan UCE
- Anti virus
- Otentikasi SMTP
- TLS
- RBL
- SPF
- Mitigasi serangan
Penambahan akun dan domain dengan konfigurasi melalui virtualmin meskipun dapat dilakukan secara manual juga. Penyiapan dirancang agar ramah sumber daya sehingga harus dapat dijalankan pada mesin yang tidak terlalu ditentukan sehingga memungkinkan sumber daya dimanfaatkan dengan lebih baik. Untuk membuatnya ramah sumber daya, kami tidak menggunakan basis data eksternal untuk menyimpan informasi pengguna virtual seperti kebanyakan petunjuk lainnya serta menggunakan milter untuk pemeriksaan spam dan virus dibandingkan dengan menjalankan amavisd-new.
Dasar-dasar
Untuk memulainya, kami akan mengonfigurasi dasar-dasar seperti nama host, asal surat, jaringan, direktori spool peta hash. Semua opsi konfigurasi ini harus ditambahkan ke /etc/postfix/main.cf kecuali dinyatakan. Contoh file konfigurasi tersedia untuk diunduh di akhir halaman ini.
command_directory =/usr/sbindaemon_directory =/usr/libexec/postfixmydomain =example.commyorigin =$mydomainmynetworks =127.0.0.0/8alias_maps =hash:/etc/aliasesalias_database =hash:/etc/aliasescanonical_maps =hash:/etc/postfix /canonicalsender_canonical_maps =hash:/etc/postfix/canonicalrecipient_canonical_maps =hash:/etc/postfix/canonicalvirtual_alias_maps =hash:/etc/postfix/virtualmail_spool_directory =/var/spool/mail
Maildir
Kami akan menggunakan format maildir yang jauh lebih baik daripada format mbox default:
home_mailbox =Maildir/
SASL
Untuk melakukan otentikasi SMTP kami akan menggunakan SASL, namun kami tidak akan menggunakan Cyrus SASL karena mengharuskan kami untuk menjalankan daemon saslauthd, kami akan menggunakan dovecot sasl karena kami akan menjalankan dovecot untuk IMAP dan POP3 sehingga membunuh 2 burung dengan satu batu.
smtpd_sasl_type =dovecotsmtpd_sasl_path =private/authsmtpd_sasl_auth_enable =yes
TLS
Kami memerlukan TLS untuk memastikan bahwa sandi teks biasa tidak dikirimkan melalui kabel selama autentikasi SMTP, server yang mendukung TLS juga dapat berkomunikasi dengan server ini melalui koneksi aman.
Petunjuk untuk membuat sertifikat server Anda yang ditandatangani oleh cacert.org dapat ditemukan di sini.
- Setel sumber acak TLS:
tls_random_source =dev:/dev/urandom
- Aktifkan TLS server:
smtpd_use_tls =yessmtpd_tls_key_file =/etc/pki/postfix/key.pemsmtpd_tls_cert_file =/etc/pki/postfix/server.pemsmtpd_tls_CAfile =/etc/pki/postfix/root.crtsmtpd_tls_loglevel =1smtpd_tls_received_header =yessmtpd_tls_session_cache_timeout =3600ssmtpd_tls_session_cache_database =btree:/var /spool/postfix/smtpd_tls_cache
- Aktifkan TLS klien:
Pencegahan Spam
- Memerlukan EHLO / HELO yang valid:
smtpd_helo_required =ya
- Mencegah serangan pengambilan alamat email:
disable_vrfy_command =yes
- Ubah kode penolakan menjadi permanen (secara default postfix mengeluarkan kode kesalahan 4xx yang menyiratkan kegagalan sementara, kita memerlukan 5xx untuk kesalahan permanen):
unverified_recipient_reject_code =550unverified_sender_reject_code =550unknown_local_recipient_reject_code =550
- Siapkan verifikasi alamat pengirim:
address_verify_map =btree:/var/spool/postfix/verifysmtpd_sender_restrictions =hash:/etc/postfix/sender_access
- Buat /etc/postfix/sender_access dan tambahkan:
#sample /etc/postfix/sender_access berisi domainsaol.com yang sering dipalsukan, reject_unverified_senderhotmail.com, reject_unverified_senderyahoo.com, reject_unverified_sendergmail.com, reject_unverified_senderbigfoot.com, reject_unverified_sender
- Mengurangi serangan dari zombie dan klien yang rusak:
smtpd_error_sleep_time =5ssmtpd_soft_error_limit =10smtpd_hard_error_limit =20
- Hanya izinkan pipelining dari klien yang diautentikasi:
smtpd_data_restrictions =reject_unauth_pipelining
- Instal postfix-policyd-spf-perl dan aktifkan dukungan SPF:
wget http://www.openspf.org/blobs/postfix-policyd-spf-perl-2.005.tar.gz
tar xzvf postfix-policyd-spf-perl-2.005.tar.gz
cd postfix-policyd-spf-perl-2.005
cp postfix-policyd-spf-perl /etc/postfix/
Tambahkan ini ke /etc/postfix/master.cf:
spfpolicy unix - n n - - spawn user=nobody argv=/usr/bin/perl /etc/postfix/postfix-policyd-spf-perl
- Tambahkan dukungan DKIM:
Petunjuk untuk menambahkan dukungan DKIM dapat ditemukan di sini.
- Tambahkan dukungan kunci domain:
Petunjuk tentang menambahkan dukungan domainkeys dapat ditemukan di sini.
- Mendapatkan semuanya agar berfungsi bergantung pada opsi smtpd_recipient_restrictions, jadi kami menyetelnya di bawah:
smtpd_recipient_restrictions =permit_mynetworks permit_sasl_authenticated reject_unauth_destination check_recipient_access hash:/etc/postfix/access reject_unknown_recipient_domain reject_unknown_sender_domain reject_unverified_recipient reject_non_fqdn_recipient reject_non_fqdn_sender reject_invalid_hostname reject_rbl_client list.dsbl.org reject_rbl_client zen.spamhaus.org reject_rbl_client l1.spews.dnsbl.sorbs.net reject_rbl_client combined.njabl. org reject_rbl_client bl.spamcop.net reject_rhsbl_sender dsn.rfc-ignorant.org reject_rhsbl_sender bogusmx.rfc-ignorant.org reject_rhsbl_sender rhsbl.sorbs.net reject_rhsbl_client dsn.rfc-ignorant.org reject_rhsbl_client bogusmx.rfc-ignorant.org reject_rhsbl_client rhsbl.sorbs. net check_policy_service unix:private/spfpolicy
Milter [SpamAssassin &ClamAV]
Untuk klasifikasi spam Anda menggunakan spamassassin dan pemindaian virus menggunakan clamav, kami akan menggunakan antarmuka milter postfix daripada menggunakan daemon amavisd-new yang intensif sumber daya. Ini adalah cara yang sangat efisien untuk melakukannya karena kita bahkan tidak perlu menjalankan clamd clamav milter melakukan pemindaian itu sendiri.
smtpd_milters =unix:/var/clamav/clmilter.socket unix:/var/run/spamass.socknon_smtpd_milters =unix:/var/clamav/clmilter.socket unix:/var/run/spamass.sock
Buat File DB
postmap /etc/postfix/canonical
postmap /etc/postfix/access
postmap /etc/postfix/virtual
postmap /etc/postfix/sender_access
Contoh File Konfigurasi
- main.cf
- master.cf
- kanonik
- virtual
Cara Hosting Virtual Dengan Virtualmin Di CentOS 5.1 - Halaman 4
Penyiapan Dovecot
Pengantar
Ini akan mengatur dovecot sebagai server IMAP/POP3 kami.
Konfigurasi Dasar
Kami akan menyiapkan dovecot untuk IMAP dan POP3 dan menonaktifkan SSL.
protokol =imap pop3listen =*ssl_listen =*ssl_disable =yes
Maildir
Kami akan menggunakan format maildir sebagai lawan dari format mbox default.
mail_location =maildir:~/Maildir
Otentikasi &SASL
Konfigurasikan dovecot untuk menggunakan LOGIN dan PLAIN sebagai mekanisme otentikasi karena banyak klien MS tidak dapat menggunakan mekanisme otentikasi terenkripsi. Kami juga menyiapkan soket SASL untuk mengaktifkan postfix untuk mengautentikasi koneksi SMTP menggunakan dovecot.
auth default { mekanisme =plain login passdb pam { } userdb passwd { } socket listen { client { path =/var/spool/postfix/private/auth mode =0660 user =postfix group =postfix } }}
Masalah Klien
Beberapa klien imap MS dalam keluarga outlook memiliki masalah dengan implementasi IMAP dan POP3 mereka, jadi kami perlu mengakomodasi mereka dengan menyiapkan solusi berikut:
protocol imap { imap_client_workarounds =outlook-idle delay-newmail}protocol pop3 { pop3_client_workarounds =outlook-no-nuls oe-ns-eoh}
Jalankan IMAP Di Belakang Proxy
Server imap dikonfigurasi untuk berjalan pada port 10143 sehingga port 143 ditangani oleh server proxy imap yang akan meningkatkan kinerja email web Anda dengan melakukan caching koneksi ke server imap. Opsi dengarkan di bawah protokol menyiapkan ini.
protocol imap { imap_client_workarounds =outlook-idle delay-newmail mendengarkan =127.0.0.1:10143}
File contoh
- dovecot.conf
Menyiapkan Proksi Imap
Pengantar
imapproxy ditulis untuk mengkompensasi klien email web yang tidak dapat mempertahankan koneksi persisten ke server IMAP. Sebagian besar klien email web perlu masuk ke server IMAP untuk hampir setiap transaksi. Perilaku ini dapat menyebabkan masalah kinerja yang tragis di server IMAP. imapproxy mencoba mengatasi masalah ini dengan membiarkan koneksi server terbuka untuk waktu yang singkat setelah klien webmail keluar. Saat klien email web terhubung lagi, imapproxy akan menentukan apakah ada koneksi cache yang tersedia dan menggunakannya kembali jika memungkinkan. - menurut situs web imapproxy.
Konfigurasi
Buat perubahan berikut pada file /etc/imapproxy.conf:
File Contoh
- imapproxy.conf
Pengaturan Pengikatan
Pengantar
Bind akan diatur dengan chroot untuk meningkatkan keamanan. Kami juga akan menggunakan tampilan untuk mencegah penyalahgunaan server dns.
Konfigurasi Dasar
Konfigurasi dasar dinonaktifkan secara default, kueri rekursif, dan transfer zona. Kami juga mengaburkan versi BIND yang kami jalankan sehingga kami tidak terkena kerentanan zero day dari script kiddies.
options { direktori "/var/named"; pid-file "/var/run/named/named.pid"; mendengarkan { 127.0.0.1; 192.168.1.5; }; versi "tebak saja"; izinkan-rekursi { "localhost"; }; izinkan-transfer { "tidak ada"; };};
Logging
Logging disesuaikan untuk menghapus "lame-server" yang mengganggu dan memperbarui kesalahan yang muncul di log:
logging { pembaruan kategori { null; }; kategori pembaruan-keamanan { null; }; kategori lumpuh-server{ null; };};
Croot
Pastikan bahwa ini diatur dalam file /etc/sysconfig/named (biasanya disetel oleh paket bind-chroot):
ROOTDIR=/var/named/chroot
Server Titik
Biarkan mesin menggunakan server ini untuk mengedit resolusi dns /etc/resolv.conf dan menambahkan:
server nama 127.0.0.1
File contoh
- named.conf
- /etc/sysconfig/named
Penyiapan Vsftpd
Pengantar
Kami akan menggunakan vsftpd sebagai server ftp kami. Ini memiliki rekam jejak yang lebih baik dibandingkan dengan server proftpd &wuftpd.
Setelan Dasar
Pengaturan dasar kami menonaktifkan pengguna anonim, dan memungkinkan pengguna sistem lokal untuk terhubung ke server ftp.
anonymous_enable=NOlocal_enable=YESwrite_enable=YESlocal_umask=022anon_upload_enable=NOanon_mkdir_write_enable=NOdirmessage_enable=YESxferlog_enable=YESconnect_from_port_20=YESxferlog_file=/var/log/vsftpd.logxferlog_std_format=YESftpd_banner=Welcome to example.com serverpam_service_name=vsftpdtcp_wrappers=YES
Croot
Semua pengguna akan di-chroot ke direktori home mereka (kecuali nama pengguna di file /etc/vsftpd/chroot_list) yang berarti tidak dapat membuka dan melihat file pengguna lain.
chroot_list_enable=YESchroot_local_user=YESchroot_list_file=/etc/vsftpd/chroot_list
Pengguna yang Diblokir
Pengguna yang ditambahkan ke file /etc/vsftpd/user_list tidak akan diizinkan untuk masuk:
userlist_enable=YA
File Contoh
- vsftpd.conf
- daftar_pengguna
- chroot_list
Cara Hosting Virtual Dengan Virtualmin Di CentOS 5.1 - Halaman 5
Pengaturan Milter Clamav
- Edit /etc/sysconfig/clamav-milter:
CLAMAV_FLAGS=" --config-file=/etc/clamd.conf --force-scan --local --max-children=5 --sendmail-cf=--outgoing --quiet"SOCKET_ADDRESS="local :/var/clamav/clmilter.socket"
- Menambal file init untuk memperbaiki izin soket:
wget http://www.topdog-software.com/files/clamav-milter.patch
service mysqld start
mysqladmin -p buat bayes
mysql -p bayes
mysql -p
Kami akan menyimpan hash gambar dalam database mysql untuk meningkatkan kinerja sehingga gambar yang telah kami pindai tidak dipindai lagi karena OCR adalah aktivitas sumber daya yang intensif.
mysql -p
mysqladmin -u fuzzyocr -p kata sandi fuzzyocr
mkdir /etc/mail/spamassassin/sa-update-keys/
chmod +x /usr/local/bin/update-sa
We need to patch the init file to fix the permissions of the socket created such that postfix is able to use the socket.
wget http://www.topdog-software.com/files/spamass-milter.patch
We will disable some modules that we are not using thus freeing up memory and also improving security.
Apache has to be configured to listed to one address for port 443 as webmin will be using the same port. Edit /etc/httpd/conf.d/ssl:
We setup gzip compression via the mod_deflate module to improve web server performance and to cut down on bandwidth usage by compressing responses to the client.
Set up logging for the deflate module:
Edit the file /etc/php.ini and set the following:
This needs to be the first virtual host, it will be the default on the server the equivalent of the server with out virtual hosting.
mysqladmin -p create roundcube
mysql -u roundcube -p roundcube
As we will be providing webmail for all domains that are created on the system we need to setup a catch all virtualhost that can display roundcube when ever a user accesses http://webmail.domainname. Edit /etc/httpd/conf/httpd.conf and append:
This is a basic firewall it may not suit your needs, firewalling is an art so i recommend to read into it to improve on this basic one.
Add these rules in your configuration file /etc/sysconfig/iptables:
Virtualmin is a powerful and flexible hosting control panel that integrates with webmin. We will be using it to provide the virtual hosting functions such as creation of domains, accounts and maintaining configurations on the system.
You need to start up services that are required to be able to configure virtualmin. Start the following services:
service named start
Webmin needs to be able to communicate with mysql since we have set a password for mysql we need to set that up in webmin, go to servers ? mysql and enter this information:
You need to enable the features and plugins that we want to use. On login this is the screen that you will see.
Server template are used to customize the services and to create packages for different hosting account types.
You can make changes to the way apache virtual hosts are created by editing this template, The defaults however will do for purposes of this howto.
This template is used to configure various server limits such as number of mailboxes,aliases,databases,virtual servers and other options like bandwidth limits, admin abilities. For this howto we will use the default values.
This template allows you to set a skel directory to hold setting for new users for this howto we will use the defaults.
This template lets you set the quota for the virtual server and the admin user for this howto we will use the default quota 1GB.
This template sets various mail related options, we will modify the email message sent on server creation to have the content below:
We will leave the other options as the defaults.
This template is used to customize the zones that will be created by virtualmin. The changes to be made are adding a spf record, add the following records to auto generated text box (replace ns1.home.topdog-software.com. with your slave server):
In the directives text box add the following with the IP address of your slave server such that the slave is allowed to do zone transfers.
Contains options on creation of databases by virtualmin, for the howto we will use the defaults.
Contains option on creation of new users by virtualmin, for the howto we will use the defaults.
Finally we have a working virtual server system, lets create our first virtual server. Go to servers ? virtualmin virtual servers and click add new virtual server, owned by new user.
Fill in the require fields and click create.
Add a mail user to the domain. click on the domain name, then click edit mail and FTP users, then add user and fill in the information.
telnet 192.168.1.5 25
telnet 192.168.1.5 25
Send a mail to [email protected]
Send a mail to [email protected]
telnet 192.168.1.5 110
telnet 192.168.1.5 143
dig example.com @127.0.0.1
We are using the test virus from www.eicar.org.
telnet 192.168.1.5 25
Take a lot at your /var/log/maillog you should see something like this:
We are using the test message from http://spamassassin.apache.org/gtube/.
telnet 192.168.1.5 25
You will see this in your log files:
patch /etc/init.d/clamav-milter Pengaturan MySQL
Konfigurasi Dasar
mengikat-alamat =127.0.0.1
Setel Kata Sandi Root
mysqladmin -u root password NEWPASSWORDPenyiapan SpamAssassin
Konfigurasi Dasar
required_hits 5report_safe 0rewrite_header Subjek [SPAM]
Buat Database MySQL
mysql> GRANT ALL ON bayes.* KE [email protected] DIIDENTIFIKASI DENGAN 'password';Konfigurasikan Untuk Menggunakan DB
bayes_store_module Mail::SpamAssassin::BayesStore::MySQLbayes_sql_dsn DBI:mysql:bayes:localhostbayes_sql_override_username bayesbayes_sql_username bayesbayes_sql_password password
Konfigurasi FuzzyOCR
Buat Database MySQL
Setelan Dasar
focr_path_bin /usr/bin:/usr/local/bininfocr_minimal_scanset 1focr_autosort_scanset 1focr_enable_image_hashing 3focr_logfile /tmp/FuzzyOcr.log
Buat FuzzyOCR Gunakan Basis Data
focr_mysql_db FuzzyOcrfocr_mysql_hash Hashfocr_mysql_safe Safefocr_mysql_user fuzzyocrfocr_mysql_pass passwordfocr_mysql_host localhostfocr_mysql_port 3306focr_mysql_socket /var/lib/mysql/mysql.sock
Pembaruan Aturan SARE
chmod 700 /etc/mail/spamassassin/sa-update-keys/
wget http://daryl.dostech.ca/sa- update/sare/GPG.KEY
sa-update --import GPG.KEY
updates.spamassassin.org72_sare_redirect_post3.0.0.cf.sare.sa-update.dostech.net70_sare_evilnum0.cf.sare.sa-update.dostech.net70_sare_bayes_poison_nxm.cf.sare.sa-update.dostech_html070_sare.sare_html070_sare.sare_html070_sare. .sa-update.dostech.net70_sare_html_eng.cf.sare.sa-update.dostech.net70_sare_header0.cf.sare.sa-update.dostech.net70_sare_header_eng.cf.sare.sa-update.dostech.net70_sare_specific.cf.sare.sa -update.dostech.net70_sare_adult.cf.sare.sa-update.dostech.net72_sare_bml_post25x.cf.sare.sa-update.dostech.net99_sare_fraud_post25x.cf.sare.sa-update.dostech.net70_sare_spoof.cf.sare.sa-update .dostech.net70_sare_random.cf.sare.sa-update.dostech.net70_sare_oem.cf.sare.sa-update.dostech.net70_sare_genlsubj0.cf.sare.sa-update.dostech.net70_sare_genlsubj_eng.cf.sare.sa-update. .net70_sare_unsub.cf.sare.sa-update.dostech.net70_sare_uri0.cf.sare.sa-update.dostech.net70_sare_obfu0.cf.sare.sa-update.dostech.net70_sare_stocks.cf.sare.sa-update.dostech.net
#!/bin/bash##sa-update -D --channelfile /etc/mail/spamassassin/sare-sa-update-channels.txt --gpgkey 856AA88A &>/var/log/sa-updates. log
ln -s /usr/local/bin/update-sa /etc/cron.daily/
ln -s /usr/local/bin /update-sa /etc/cron.hourly/Penyiapan Spamassmilter
Basic Configuration
SOCKET=/var/run/spamass.sockEXTRA_FLAGS="-m -r 8"
Patch
patch /etc/rc.d/init.d/spamass-milter Apache Setup
Disable Modules
#LoadModule ldap_module modules/mod_ldap.so#LoadModule authnz_ldap_module modules/mod_authnz_ldap.so#LoadModule dav_module modules/mod_dav.so#LoadModule status_module modules/mod_status.so#LoadModule dav_fs_module modules/mod_dav_fs.so#LoadModule proxy_module modules/mod_proxy.so#LoadModule proxy_balancer_module modules/mod_proxy_balancer.so#LoadModule proxy_ftp_module modules/mod_proxy_ftp.so#LoadModule proxy_http_module modules/mod_proxy_http.so#LoadModule proxy_connect_module modules/mod_proxy_connect.so#LoadModule cache_module modules/mod_cache.so#LoadModule disk_cache_module modules/mod_disk_cache.so#LoadModule file_cache_module modules/mod_file_cache.so#LoadModule mem_cache_module modules/mod_mem_cache.so
#LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
Listen To One IP For HTTPS
Listen 192,168.1.6:443
Enable Gzip Compression
SetOutputFilter DEFLATEBrowserMatch ^Mozilla/4 gzip-only-text/htmlBrowserMatch ^Mozilla/4\.0[678] no-gzipBrowserMatch \bMSIE !no-gzip !gzip-only-text/htmlSetEnvIfNoCase Request_URI \\.(?:gif|jpe?g|png)$ no-gzip dont-varyHeader append Vary User-Agent env=!dont-vary
DeflateFilterNote deflate_ratioLogFormat "%v %h %l %u %t \"%r\" %>s %b mod_deflate:%{deflate_ratio}n pct." vhost_with_deflate_infoCustomLog logs/deflate_access_log vhost_with_deflate_info
Increase PHP Max Memory
memory_limit =64M
Enable Virtual Hosting
NameVirtualHost *:80
Create Default Virtual Host
Roundcube Webmail Setup
Buat Basis Data
mysql -p
mysql> GRANT ALL ON roundcube.* TO [email protected] IDENTIFIED BY 'password';
Basic Config
$rcmail_config['db_dsnw'] ='mysql://roundcube:[email protected]/roundcube';
$rcmail_config['default_host'] ='localhost';$rcmail_config['default_port'] =143;$rcmail_config['virtuser_file'] ='/etc/postfix/virtual';$rcmail_config['smtp_server'] ='localhost';$rcmail_config['smtp_port'] =25;$rcmail_config['smtp_helo_host'] ='localhost';
Set Up Catch All Virtualhost
Firewall Setup
Introduction
Basic Config
*raw:PREROUTING ACCEPT [0:0]:OUTPUT ACCEPT [0:0]COMMIT*nat:PREROUTING ACCEPT [0:0]:POSTROUTING ACCEPT [0:0]:OUTPUT ACCEPT [0:0]COMMIT*mangle:PREROUTING ACCEPT [0:0]:INPUT ACCEPT [0:0]:FORWARD ACCEPT [0:0]:OUTPUT ACCEPT [0:0]:POSTROUTING ACCEPT [0:0]COMMIT*filter:FORWARD DROP [0:0]:INPUT DROP [0:0]:OUTPUT DROP [0:0]-A INPUT -i lo -j ACCEPT-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT-A INPUT -p tcp -m tcp --dport 21 -j ACCEPT-A INPUT -p tcp -m multiport -j ACCEPT --dports 80,443,25,110,143,53-A INPUT -p udp -m udp --dport 53 -j ACCEPT-A INPUT -p icmp -m icmp -m limit --icmp-type 8 --limit 5/min -j ACCEPT-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT-A OUTPUT -s 127.0.0.1 -j ACCEPT-A OUTPUT -s 192.168.1.5 -j ACCEPT-A OUTPUT -s 192.168.1.6 -j ACCEPTCOMMIT
Activate Config
service iptables restart
Virtual Hosting Howto With Virtualmin On CentOS 5.1 - Page 6
Configure Virtualmin
Introduction
Start Services
service spamassassin start
service spamass-milter start
service clamav-milter start
service postfix start
service dovecot start
service imapproxy start
service httpd startInitial Settings
MySQL
Configure Features
Configure Server Templates
Apache Template
Domain Owner Template
Home Directory Template
Administration User
Mail For Domain Template
The following virtual server has been set up successfully :Domain name:${DOM}Hosting server:${HOSTNAME}${IF-VIRT}Virtual IP address:${IP}${ENDIF-VIRT}Administration login:${USER}Administration password:${PASS}${IF-WEBMIN}Administration URL:${WEBMIN_PROTO}://www.${DOM}:${WEBMIN_PORT}/${ENDIF-WEBMIN}${IF-WEB}Website:http://www.${DOM}/${IF-WEBALIZER}Webalizer log reporting:Enabled${ELSE-WEBALIZER}Webalizer log reporting:Disabled${ENDIF-WEBALIZER}${ENDIF-WEB}${IF-MAIL}Email domain:${DOM}SMTP server:mail.${DOM}POP3 server:mail.${DOM}Webmail:webmail.${DOM}${ENDIF-MAIL}${IF-DNS}DNS domain:${DOM}Nameserver:${HOSTNAME}${ENDIF-DNS}${IF-MYSQL}MySQL database:${DB}MySQL login:${MYSQL_USER}MySQL password:${PASS}${ENDIF-MYSQL}${IF-POSTGRES}PostgreSQL database:${DB}PostgreSQL login:${USER}PostgreSQL password:${PASS}${ENDIF-POSTGRES}
BIND DNS Domain Template
@ IN NS ns1.home.topdog-software.com.;slaveadmin IN A 192.168.1.6;virtualminwebmail IN A 192.168.1.5;webmail
allow-transfer { 192.168.1.2; };
MySQL Database Template
Webmin Login Template
Create Virtual Server
Testing
Postfix
Test SMTP
Connected to localhost.
Escape character is '^]'.
220 tds mail cluster
helo me
250 hosting1
mail from:[email protected]
250 2.1.0 Ok
rcpt:[email protected]
250 2.1.0 Ok
DATA
354 End data with
From:[email protected]
To:[email protected]
Subject:This is a test
Hi
This is a test
.
250 2.0.0 Ok:queued as 4ACCC7C5A6
Trying 192.168.1.5...
Connected to localhost.
Escape character is '^]'.
220 tds mail cluster
ehlo me
250-hosting1
250-PIPELINING
250-SIZE 10240000
250-ETRN
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSNTest dkim
Test domainkeys
Dovecot
Test POP3
+OK Dovecot ready.
user andrew.example
+OK
pass password
+OK Logged in.
quit
+OK Logging out.Test IMAP
* OK Dovecot ready.
01 login andrew.example password
01 OK User logged in
01 list "" "*"
* LIST (\HasNoChildren) "." "Trash"
* LIST (\HasNoChildren) "." "Drafts"
* LIST (\HasNoChildren) "." "Junk"
* LIST (\HasNoChildren) "." "Sent"
* LIST (\HasNoChildren) "." "INBOX"
01 OK List completed.
01 logout
* BYE LOGOUT received
01 OK CompletedBIND
Clamav-milter
Connected to localhost.
Escape character is '^]'.
220 tds mail cluster
helo me
250 hosting1
mail from:[email protected]
250 2.1.0 Ok
rcpt:[email protected]
250 2.1.0 Ok
DATA
354 End data with
X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*
.
550 5.7.1 virus Eicar-Test-Signature detected by ClamAV - http://www.clamav.net
quit
221 2.0.0 Bye73BC87C4E4:milter-reject:END-OF-MESSAGE from localhost[127.0.0.1]:5.7.1 virus Eicar-Test-Signature detected by ClamAV - http://www.clamav.net; from=
Spamass-milter
Connected to localhost.
Escape character is '^]'.
220 tds mail cluster
helo me
250 hosting1
mail from:[email protected]
250 2.1.0 Ok
rcpt:[email protected]
250 2.1.0 Ok
DATA
354 End data with
XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X
.
550 5.7.1 Blocked by SpamAssassin
quit
221 2.0.0 Byespamd:result:Y 1002 - AWL,GTUBE,MISSING_SUBJECT,TVD_SPACE_RATIO,UNPARSEABLE_RELAY scantime=0.5,size=723,user=root,uid=99,required_score=5.0,