Posted in Linux 13 years ago 3 min read
Mematikan server side includes
Options -Includes
Mematikan CGI execution
Options -ExcecCGI
Tidak memperbolehkan apache untuk mengikuti symbolic links
Options –FollowSymLinks
Mematikan multiple Options (langsung semua service dimatikan, dan harus di declare manual untuk mengaktifkan)
Options None
Mematikan support untuk .htaccess file
AllowOverride None
Jika membutuhkan overrides, memastikan suatu file tidak dapat di download atau diganti nama selain .htaccess, kita dapat mengubahnya ke .httpdoverride, dan blok semua file yang berawalan .ht sehingga file tersebut tidak dapat didownload
AccessFileName .httpdoverride
<Files ~ “^\.ht”>
Order allow, deny
Deny from all
Satisfy All
</Files>
Jalankan mod_security
Disable module yang ga perlu
Lihat httpd.conf yang berisi LoadModule, yang ga perlu cukup tambahkan "#" di depan (tanpa tanda petik)
Untuk mencari modul yang berjalan: grep LoadModule httpd.conf atau grep -n LoadModule httpd.conf
Module yang seringkali enable tapi jarang dibutuhkan:
mod_imap, mod_include, mod_info, mod_userdir,mod_status, mod_cgi, mod_autoindex.
Pastikan hanya root yang bisa mengakses apache’s config dan binaries
Misalkan apache terletak pada /usr/local/apache
Chown –R root:root /usr/local/apache
Chmod –R o-rwx /usr/local/apache
Kecilkan nilai Timeout, default nya 300 detik
Timeout 45
Batasi request yang besar,
Misal tidak boleh upload file yang lebih dari 1MB
LimitRequestBody 1048576
Lihat juga: LimitRequestFields, LimitRequestFieldSize, Limit RequestLine
Batasi ukuran body XML
Jika menjalankan mod_dav,maka kemjungkinan perlu dibatasi
LimitXMLRequestBody 10485760 (hanya terdapat di apache 2)
Jika value = 0, maka berapapun size file, dapat di upload
Batasi concurrency
MaximumClients
MaxSpareServers, MaxRequestPerChild, di apache 2: ThreadsPerChild, ServerLimit, MaxSpareThreads
Restricting Access by IP
Order Deny, Allow
Deny from all
Allow from 176.16.0.0/16
Atau
Allow from 127.0.0.1
Adjusting KeepAlive settings, defaultnya 100
MaxKeepAliveRequests 15
Jalankan Apache di Chroot environment
SecChrootDir /chroot/apache
Selain beberapa cara di atas, tentunya masih banyak cara yang lebih ampuh, misalnya menambahkan su-PHP, dan sebagainya. Tetapi untuk perlindungan minimal, cara di atas sudah cukup ampuh. Jika ada tambahan, atau saran hardening yang lebih ampuh, silakan beri komentar di bawah