Security in LAMP stack

russianmiserableΑσφάλεια

13 Ιουν 2012 (πριν από 4 χρόνια και 6 μήνες)

395 εμφανίσεις



Security in LAMP stack
an overview of webrelated security
... and why this is important 


1. The necessity of security
What happens when a website is hacked?
What are the consequences?
What are the costs?


Why is security an issue?

Websites based on languages like PHP, Python or 
Perl may contain security issues

* bugs

* exploits

Hacked websites are the results

and that's costing money


How easy is it?


Google hacks” 

You don't have to be an expert to break­in


Script kiddies” use automated tools

Rising number of website defacements

More websites with a lack of security measures

More script kiddies


Break­in analysis 
is mandatory !! (1)

* Make sure it does NOT happen again

* What did the hacker accomplish?

* What's the damage?


Break­in analysis is 
mandatory !! (2)

Possible difficulties due to lack of evidence:

* Removed by the hacker himself

* Removed in the panic at the time of discovery

!! DO NOT PANIC !!


Costs

Dependant on how far the hacker came

Costs:

* Restore of data

* Analysis of hack

* Professional security audits

* Hidden costs (f.i. damage to the business image)

­ difficult to point out

­ longterm damage


Expense analysis

Break­in prevention is like a costly issurance

Adequate security costs time and money

but doing nothing may cost a lot more!


Questions?


2. What needs to be secured?
Which components 
in the IT infrastructure 
need to be secured?


Where is security an issue?

Hardware

Desktop software

Server software

* Public website

* CRM application

* Financial applications


Webserver (1)

Public website is placed on a webserver

Physical server

Operating system (Linux, Windows)

Webserver application  (Apache, IIS)

Database application (MySQL, Microsoft SQL)

Website itself (HTML, JS, PHP, Perl, Python, ASP, JSP)


Webserver (2)


Open source webserver

Linux/BSD operating system

Apache webserver

MySQL database

PHP­based website

Joomla, Drupal, SugarCRM, Symfony


open source = safe?

more secure than closed source? 

* Continuous reviews by the community

Example: Exploits within Linux are discovered and 
fixed 
sooner
 than exploits within MS Windows

But only if the community is large enough



Open & closed source” 
combination?

* Difficult to make it fit

Example: Apache is hard to optimize for security 
due to the restrictions in the Windows kernelcode

* Difference in security review

Exploits within closed source code are hard to 
trace by the public (but the blackhat hacker 
always finds a way)


Linux operating system

Linux or Windows or OpenBSD?

Webserver security different than fileserver security


Out­of­the­box” equals “unsafe”


Apache webserver

Default configuration not good enough

For each website a seperate “jail”

Logging options

Configuration of PHP options


PHP Webapplication (1)

* PHP settings

Register Globals to untrust the stupid

open_basedir to jail your site

Safe Mode is of the past

read­write permissions

secure tmp & upload & session paths


PHP Webapplication (2)

* Always use the most recent (stable) version

* Be warned when using 3rd party extensies

* Monitor your website

* Backup


Security myths

My website is not interesting enough

My website is complex so an exploit is hard to find

And if my website gets hacked, it's not that bad.


PHP security (1)

SQL injection

Cross Site Scripting / Cross Site Request Forgery

PHP variable insertion

Directory traversal

Authentication issues (cookies, session)

Remote Inclusion


PHP security (2)

Google hacking

Weaknesses in AJAX

Bruteforce attacks


Myths” among hosting providers

PHP Safe Mode is enough

Using Register Globals is easy




Questions?


3. What are we going to do?
Which practical steps 
need to be taken 
to straighten out security?


Levels of activities

Proper configuration

Continuous monitoring

technical: logs, code review

human: newspapers, emails

Remain AWARE of all the risks

Stay up to date


Be aware

What are the risks?

What can you loose?

How many times is security an issue?

What is happening in the security scene?


Update

Keep yourself posted on security issues

Software/application updates

New updates bring new risks, but 

no updates bring new risks


Prevent

Prevention is better than cure

Security has to be on the list continuously

High priority


Next week your website may
already be hacked ...

Security starts today !


Questions?