Door Anoniem: Beste Security.nl lezers,
Sinds kort heb ik mijn eigen server. Ik heb hierop Linux + Directadmin + CSF draaien. Ik vraag me echter sinds een paar dagen af of dit voldoende beveiliging is.
Er staan voor standaard applicaties poorten open. Heeft iemand misschien nog tips met php functies die ik uit zou moeten zetten of beveiliging voor Apache.
Ook zou ik willen weten of de CSF firewall genoeg is.
verwijder Directadmin en beheer CSF ALLEEN via je terminal.
verder kun je deze stappen volgen: edit in php.ini de volgende regels:
allow_url_fopen = Off
display_errors = Off
display_startup_errors = Off
log_errors = On
error_reporting = E_ALL
error_log = /home/jouwgebrnaam/public_html/phperr.txt
expose_php = Off
magic_quotes_gpc = On
magic_quotes_sybase = Off
register_globals = Off
let er op dat je "allow_url_fopen = " (zonder quotes) op Off zet.
display_errors = Off
display_startup_errors = Off
log_errors = On
error_reporting = E_ALL
error_log = /home/jougebruikernaam/public_html/phpfoutlog.txt (bijv)
zo voorkomje dat fouten worden getoont op bijv je webpage..
php_expose = off ( is niet bepaald super belangrijk te noemen, maar t voorkomt dat ze je php versie kunnen achterhalen )
register_globals = Off ( maakt het lastiger om een eigen code te injecten via php ) bijvoorbeeld: index.php?iets=bepaaldewaarde
ook is het wel handig dit te added:
disable_functions = php_uname, getmyuid, getmypid, passthru, leak, listen, diskfreespace, tmpfile, link, ignore_user_abord, shell_exec, dl, set_time_limit, exec, system, highlight_file, source, show_source, fpaththru, virtual, posix_ctermid, posix_getcwd, posix_getegid, posix_geteuid, posix_getgid, posix_getgrgid, posix_getgrnam, posix_getgroups, posix_getlogin, posix_getpgid, posix_getpgrp, posix_getpid, posix, _getppid, posix_getpwnam, posix_getpwuid, posix_getrlimit, posix_getsid, posix_getuid, posix_isatty, posix_kill, posix_mkfifo, posix_setegid, posix_seteuid, posix_setgid, posix_setpgid, posix_setsid, posix_setuid, posix_times, posix_ttyname, posix_uname, proc_open, proc_close, proc_get_status, proc_nice, proc_terminate, phpinfo
het maakt het wat moeilijker voor scriptkiddys om hun shells te uploaden. aangezien je php dat soort acties gaat weigeren. het neemt niet weg dat een zeer ervaren php programmeur er niet in komt. in tegendeel die ziet altijd wel een opening. maar hoe groot is die kans? erg klein..
verder kun je nog:
sudo nano /etc/apache/apache2.conf
zoek dit:
ServerSignature Off
ServerTokens Prod
mocht je het niet kunnen vinden, scroll dan gewoon ff naar de bodem van de pagina, en add ze gewoon daar. dan opslaan en maybe even je server restarten.
of simpel /etc/init.d/apache2 reload of restart
verder, ben je zeker dat je CSF uit test mode hebt gehaald? en zeker de poorten na gelopen die niet open hoeven te staan? mijn advies is om CSF configuratie bestand op zeer strenge regels te laten baseren.
verder check even of je mysql wel de Secure installation heeft gebruikt. dit voorkomt het inloggen van gasten op je database, en allerlei andere methoden.
verder raad ik je aan om geen belangrijke dingen te laten runnen, zoals phpmyadmin, Directadmin, en dergelijke. als je het al gebruikt, zorg dan dat je na gebruik dit uit zet.
verder:
doe ook ff in je terminal:
vi /etc/ssh/sshd_config
Zoek:
# What ports, IPs and protocols we listen for
Port 80915 (bijvoorbeeld) in plaats van port 22
zoek in /etc/csf naar csf.allow
edit 127.0.0.1 naar jouw IP adress
127.0.0.1 # csf SSH installation/upgrade IP address
EN
tcp/udp|in/out|s/d=13060|s/d=95.208.147.23 (bij s/d=13060) zet je jouw gekozen poort nummer voor SSH en daarnaast jouw IP
restart CSF via je terminal
en verder tja... benje aardig safe.
bedenk wel dat je nooit 100% veiligheid kunt hebben.
check van tijd tot tijd je logfiles, zowel van CSF als van je server.
Acceslogs / errorlogs / etc
Succes, en ik hoop je hiermee te hebben geholpen.
Mvg
( ik heb dit gedaan omdat ik me verveelde, verder is deze informatie vrij opvraagbaar via een beetje google werk. )
als je dit eenmaal hebt gedaan, zulje het niet snel weer vergeten. 't is net fietsen eigenlijk! dit zijn basis stappen.