Virtualmin'i Daha Güvenli Hale Getirmek
Gerekli ayarlamları yapınca daha güvenli bir Virtualmin ortaya çıkacaktır...
Virtualmin Bağlantı Portunu Değiştirin
Sol menüden yukarda işağretli olan bölümü seçiniz.
Ports and Address bölümüne tıklayın
10000 yazan bölümü 65536'a kadar herhangi bir sayı ile değiştirin ancak bilinen portları kullanmayın.
FTP Kullanıcılarını Sınırlayın
Öncelikle Host hizmeti verdiğiniz bir kullanıcınızın FTP ile bağlanarak tüm sistem dosyalarınızı ve diğer host hizmeti veridiğiniz sitelerini gezdiğini fark etmişsinizdir. Bu durumu önlemek için şunları yapmalısınız.
Yukardaki menüdeki FTP Directory Restrictions'a girip seçenekleri aşağıdaki gibi seçmeli ve Save yapmalısınız.
Evet şimdi host hizmeti verdiğiniz kullanıcılar sadecekendilerine ait alanlarda gezeceklerdir.
PHP'yi Daha Güvenli Kullanmak
Webmin üzerinde Others menüsü altında PHP Configuration bölümüne tıklıyoruz.
Menüden Edit Configuration Manually'e griyoruz.
Burada php.ini dosyasının şu parametrelerini şunlarla değiştirmekte fayda var. (Virgüller arasında boşluk yok)
Normalde Olan:
; It receives a comma-delimited list of function names. This directive is
; *NOT* affected by whether Safe Mode is turned On or Off.
; http://php.net/disable-functions
disable_functions = pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,
Tavsiye Edilen:
; It receives a comma-delimited list of function names. This directive is
; *NOT* affected by whether Safe Mode is turned On or Off.
; http://php.net/disable-functions
disable_functions=exec,system,passthru,shell_exec,escapeshellarg,escapeshellcmd,proc_close,proc_open,ini_alter,dl,popen,popen,pcntl_exec,socket_accept,socket_bind,socket_clear_error,socket_close,socket_connect,socket_create_listen,socket_create_pair,socket_create,socket_get_option,socket_getpeername,socket_getsockname,socket_last_error,socket_listen,socket_read,socket_recv,socket_recvfrom,socket_select,socket_send,socket_sendto,socket_set_block,socket_set_nonblock,socket_set_option,socket_shutdown,socket_strerror,socket_write,stream_socket_client,stream_socket_server,pfsockopen,stream_set_timeout,disk_total_space,disk_free_space,chown,diskfreespace,getrusage,get_current_user,set_time_limit,getmyuid,getmypid,dl,leak,listen,chgrp,link,symlink,dlopen,proc_nice,proc_get_stats,proc_terminate,shell_exec,sh2_exec,posix_getpwuid,posix_getgrgid,posix_kill,ini_restore,mkfifo,dbmopen,dbase_open,filepro,filepro_rowcount,posix_mkfifo,p
utenv,geoip_open,sleep,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,
PHP versiyon bilgilerini kullanıcıdan gizliyoruz:
; (e.g. by adding its signature to the Web server header). It is no security
; threat in any way, but it makes it possible to determine whether you use PHP
; on your server or not.
; http://php.net/expose-php
expose_php = Off
CSF & LF Linux Firewallı Kurun
Şuradaki yönergeleri kullanarak yükleyebilirsiniz.
Spam Maillerin 15 Günden Fazla Saklanmasını Engelleyin
FTP Yerine SFTP Kullanın
Bunun için sisteme (libssh2-php)
php-ssh2 paketini kurun.
Apache sunucusunu yeniden başlattığınızda aşağıdaki gibi bir Registered PHP Streams görmelisiniz:
Apache Sunucu Versiyon Bilgilerini Kullanıcılardan Gizleyin
Apache Header bilgilerini kapatmalısınız. Yani hangi apache kullanıldığı ve versiyon bilgisini kapatmalısınız
etc/apache2/conf-available/security.conf dosyasına şu satırları ekleyin:
ServerTokens ProductOnly
Webmin ekranında ayarın bulunduğu bölüm (Miscellaneous Bölümünde)
Az önce bahsettiğiniz tüm adımları uyguladıktan sonra da eklemek istiyorum. Ayrıca tüm sunucularıma aşağıdakileri de ekliyorum.
SSH'ye yönelik brute force saldırılarını durdurmak için:
http://denyhosts.sourceforge.net/
SSH, FTP, SMTP, Apache, vb. İçin brute force saldırılarını durdurmak istiyorsanız:
http://www.fail2ban.org/wiki/index.php/Main_Page
Host Tabanlı Saldırı Tespiti (Host Based Intrusion Detection) :
Chrooted SFTP şununla:
http://www.howtoforge.com/mysecureshell_sftp_debian_etch
FTP:
Ben vsftpd kullanmayı tercih ediyorum, sonra kullanıcılarınızı aldatıyorum.
Biraz tartışmalı bir yaklaşım, en çok hack tipi girişimlerde bulunulan ülkelerden tüm IP bloklarını engelliyorum.
Günlüklerinizi incelemeyi unutmayın.
Hack olması durumunda kurtarmak için iyi bir yedek alın.
Postfix'e SASL ile Yapılan DOS Saldırılarını Durudurun
En sağdaki Edit Config Files'a tıklayıp aşağıdaki satırları ekleyin.
smtpd_sender_restrictions = permit_mynetworks permit_sasl_authenticated reject_unknown_sender_domain reject_unknown_reverse_client_hostname reject_unknown_client_hostname
smtpd_helo_required = yes
smtpd_helo_restrictions = permit_mynetworks permit_sasl_authenticated reject_invalid_helo_hostname reject_non_fqdn_helo_hostname reject_unknown_helo_hostname
smtpd_error_sleep_time = 1s
smtpd_soft_error_limit = 3
smtpd_hard_error_limit = 2
smtpd_client_connection_count_limit = 2
smtpd_client_connection_rate_limit = 2
smtpd_client_new_tls_session_rate_limit = 2
smtp_dns_support_level = dnssec
message_size_limit = 1024000
En son message_size_limit ile en fazla 1 MB boyutunda mail kabul ettiğimizi belirtmiş olduk
Usermin'i Kapatın
BIND DNS Dosyaları
Sunucuyu Test
Aşağıdaki test siteleri ile sunucunuzu test edin.
- https://tools.pingdom.com/
- https://gtmetrix.com/
- https://developers.google.com/speed/pagespeed/insights/
- https://www.giftofspeed.com/
- https://www.webpagetest.org/
- https://en.onpage.org/
- https://www.gravityscan.com/ – Bu site ücretsiz zararlı uygulama ve sistem açığı kontrolü yapıyor.
- https://loadimpact.com/ – Aynı anda 25 kullanıcıya kadar siteyi yük altında test ediyor.
- https://www.ssllabs.com/ssltest/ – SSL sertifikanızı puanlandıran bir site.
- https://www.whynopadlock.com/ – SSL sertifikası kullandığınız halde yukarıda güvenli değil uyarısı alıyorsanız bu siteyi kullanarak sorunlu adresi bulabilirsiniz.
- https://www.mail-tester.com – Mail sunucusu ayarlarının doğru yapılıp yapılmadığını bu siteyi kullanarak öğrenebilirsiniz. Ayarlar doğru yapılmazsa e-postalar spam klasörüne düşebiliyor.
Kullanılmayan Servisleri Kapatın
Kaynaklar
- https://ogulcanozugenc.com/bastan-sona-vps-virtual-private-server-kurulumu/
- https://virtualmin.com/node/6561