Aaron Corso COSC356-001 Spring 2012. What is LAMP?  A ‘solution stack’, or package of an OS and software consisting of:  Linux  Apache  MySQL  PHP.

Slides:



Advertisements
Similar presentations
File Server Organization and Best Practices IT Partners June, 02, 2010.
Advertisements

Understand Database Security Concepts
1 Web Servers / Deployment Alastair Dawes Original by Bhupinder Reehal.
Web Defacement Anh Nguyen May 6 th, Organization Introduction How Hackers Deface Web Pages Solutions to Web Defacement Conclusions 2.
Building Your Own Firewall Chapter 10. Learning Objectives List and define the two categories of firewalls Explain why desktop firewalls are used Explain.
System and Network Security Practices COEN 351 E-Commerce Security.
Chapter 7 HARDENING SERVERS.
Web Servers How do our requests for resources on the Internet get handled? Can they be located anywhere? Global?
Lesson 11-Virtual Private Networks. Overview Define Virtual Private Networks (VPNs). Deploy User VPNs. Deploy Site VPNs. Understand standard VPN techniques.
Outline IS400: Development of Business Applications on the Internet Fall 2004 Instructor: Dr. Boris Jukic Server Side Web Technologies: Part 2.
How Clients and Servers Work Together. Objectives Learn about the interaction of clients and servers Explore the features and functions of Web servers.
Apache : Installation, Configuration, Basic Security Presented by, Sandeep K Thopucherela, ECE Department.
Sample School Website Sydney Region ITSU School Support
GreenSQL Yuli Stremovsky /MSN/Gtalk:
Voyager Server Security and Monitoring Best practices and tools.
Securing LAMP: Linux, Apache, MySQL and PHP Track 2 Workshop PacNOG 7 July 1, 2010 Pago Pago, American Samoa.
Introducing LAMP: Linux, Apache, MySQL and PHP Track 2 Workshop PacNOG 7 July 1, 2010 Pago Pago, American Samoa.
SEEM4570: XAMPP, Eclipse, Summary of Html Kangfei Zhao Room 711,ERB
SYST Web Technologies SYST Web Technologies Installing a Web Server (XAMPP)
BY Zoher & Mahmoud. What is WAMP?  - Acronym for Windows/Apache/MySQL/PHP, Python, (and/or) PERL  - WAMP refers to a set of free open source applications,
Nikto LUCA ALEXANDRA ADELA. Nikto  Web server assessment tool  Written by Chris Solo and David Lodge  Released on December 27, 2001  Stable release:
By Jeerarat Boonyanit. As you can see I have chosen Cpanel for my server management tool. cPanel is a Linux based web hosting control panel that provides.
TOPIC 1 – SERVER SIDE APPLICATIONS IFS 234 – SERVER SIDE APPLICATION DEVELOPMENT.
Principles of Computer Security: CompTIA Security + ® and Beyond, Second Edition © 2010 Baselines Chapter 14.
Introduction: Drupal is a free and open-source content management system (CMS). A content management system(CMS) is a computer program that allows publishing,
Web Servers Web server software is a product that works with the operating system The server computer can run more than one software product such as .
1 Infrastructure Hardening. 2 Objectives Why hardening infrastructure is important? Hardening Operating Systems, Network and Applications.
Securing Apache and PHP
Brad Baker CS526 May 7 th, /7/ Project goals 2. Test Environment 3. The Problem 4. Some Solutions 5. ModSecurity Overview 6. ModSecurity.
Basics of Web Databases With the advent of Web database technology, Web pages are no longer static, but dynamic with connection to a back-end database.
Module 14: Configuring Server Security Compliance
Section 1: Introducing Group Policy What Is Group Policy? Group Policy Scenarios New Group Policy Features Introduced with Windows Server 2008 and Windows.
1 Apache. 2 Module - Apache ♦ Overview This module focuses on configuring and customizing Apache web server. Apache is a commonly used Hypertext Transfer.
The In’s and Out’s of the IIS 6.0 Migration Tool The In’s and Out’s of the IIS 6.0 Migration Tool Chris Adams Web Platform Supportability Lead Microsoft.
Customer Relationship Management. Content CRM SugarCRM System Requirement Installation Process Configuration.
Module 2: Installing and Maintaining ISA Server. Overview Installing ISA Server 2004 Choosing ISA Server Clients Installing and Configuring Firewall Clients.
Installation and Development Tools National Center for Supercomputing Applications University of Illinois at Urbana-Champaign The SEASR project and its.
Top Five Web Application Vulnerabilities Vebjørn Moen Selmersenteret/NoWires.org Norsk Kryptoseminar Trondheim
Database Design and Management CPTG /23/2015Chapter 12 of 38 Functions of a Database Store data Store data School: student records, class schedules,
Module 14: Securing Windows Server Overview Introduction to Securing Servers Implementing Core Server Security Hardening Servers Microsoft Baseline.
Sample School Website. What is wrong with the existing School Webspace Site? Can only host static pages – no dynamic content possible. Can not be edited.
Principles of Computer Security: CompTIA Security + ® and Beyond, Third Edition © 2012 Principles of Computer Security: CompTIA Security+ ® and Beyond,
Linux Services Configuration
Open Solutions for a Changing World™ Copyright 2005, Data Access Worldwide June 6-9, 2005 Key Biscayne, Florida 1 Application Deployment Stephen W. Meeley.
Security-Enhanced Linux Eric Harney CPSC 481. What is SELinux? ● Developed by NSA – Released in 2000 ● Adds additional security capabilities to Linux.
(ITI310) By Eng. BASSEM ALSAID SESSIONS 10: Internet Information Services (IIS)
Mark Shtern.  Our life depends on computer systems  Traffic control  Banking  Medical equipment  Internet  Social networks  Growing number of.
Session 11: Cookies, Sessions ans Security iNET Academy Open Source Web Development.
LINUX Presented By Parvathy Subramanian. April 23, 2008LINUX, By Parvathy Subramanian2 Agenda ► Introduction ► Standard design for security systems ►
Web Server Security: Protecting Your Pages NOAA OAR WebShop 2001 August 2 nd, 2001 Jeremy Warren.
XAMPP.
Securing a Host Computer BY STEPHEN GOSNER. Definition of a Host  Host  In networking, a host is any device that has an IP address.  Hosts include.
Red Hat Enterprise Linux Presenter name Title, Red Hat Date.
Expertsfromindia for Joomla Development. Introduction Joomla is an open source and free content management system (CMS) for publishing content on the.
L.A.M.P. İlker Korkmaz & Kaya Oğuz CS 350. Why cover a lecture on LAMP? ● Job Opportunities – There are many hosting companies offering LAMP as a web.
Securing Network Servers
Linux Security Presenter: Dolev Farhi |
Introduction to Dynamic Web Programming
Chapter 7: Identifying Advanced Attacks
COP 4343 Unix System Administration
Netscape Application Server
CompTIA Server+ Certification (Exam SK0-004)
Configuring and Troubleshooting Routing and Remote Access
GLAST Release Manager Automated code compilation via the Release Manager Navid Golpayegani, GSFC/SSAI Overview The Release Manager is a program responsible.
Module 3 Building a web app.
Web Servers / Deployment
Web Hacking: Beginners
Designing IIS Security (IIS – Internet Information Service)
Web Servers (IIS and Apache)
Web Application Development Using PHP
Presentation transcript:

Aaron Corso COSC Spring 2012

What is LAMP?  A ‘solution stack’, or package of an OS and software consisting of:  Linux  Apache  MySQL  PHP Common substitutions are WAMP (using Windows instead of Linux), and LAPP (using PostgreSQL instead of MySQL)

Why LAMP?  Linux = Open source, easy to deploy in a server environment  Apache = Most popular web server in the world; approximately 65% of web servers use Apache; over 442 million host names  PHP and MySQL = Popular back-end stack for web applications  Combined, entirely Open Source. Only non-standard software installations are proprietary.

NetCraft Survey, April 2012

Why LAMP Security?  Being the number one deployed web server makes the stack a popular target of attacks  Result of attacks is highly visible  Sites can contain valuable information to attackers; especially eCommerce websites  Many routes of attack through modularized operating environment

The Challenge of Modularized Security  Each component of the solution stack has its own method for security – each must be kept up-to-date  Linux Kernel  Distro applications  Other Application Add-ons  Apache  Apache Modules  PHP  PHP Extensions  MySQL

Where does LAMP Security Start?  Choosing a Linux Distribution  Each distribution (“distro”) has its own set of core applications built on top of the kernel  Some distros are created with security and a server environment in mind, others are consumer oriented  Common base distros for LAMP servers are Ubuntu Server and Red Hat Linux

Considerations for choosing a distro  Life cycle – avoid distros which release major versions constantly  Package Management – centralize the update process as much as possible  Documentation – more specialized distros have less documentation  Scalability – can the server handle virtualization or be used as part of a server farm easily?

Securing the Linux Installation  Kernel Hardening  Use gresecurity to sandbox processes to the kernel role-based access control (RBAC) system  Mandatory Access Control (MAC)  Restrict system processes to the appropriate users  Do not use default accounts – perform an audit  Standard firewalling practices

Securing the Apache Installation  Apache breaches are the most common exploit of the stack  Breaching of Apache is very harmful if the objective is to transfer all files from the document root  Security of the web server component is arguably the most important

Securing the Apache Installation (continued)  Disable any unnecessary modules (“mods”) via the configuration file  Run the Apache service under its own user and with its own security group  Restrict access to the root directory  Restrict system level files contained in the “bin” and “conf” directories

Apache Configuration File  httpd.conf

Securing the Apache Installation (continued)  Disable the sending of Apache version information in request headers  Configure CGI (Common Gateway Interface) and SSI (Server Side Includes) to run under their own user  Keep and monitor access logs

Security Modules for Apache  Mod_security  Easy configuration of firewall rules based on client request variables such as IP  Automatic detection and response to access to files or unusual behavior  Mod_evasive  Helps to protect against basic DDOS attacks

Securing the PHP Installation  PHP security relies on both the administrator and the programmer  Programmers must engage in “defensive coding”  Administrators must secure and update extensions and the process

Securing the PHP Installation (continued)  Sandboxing remote resource access – require programmers use wrapping functions rather than native functions  cURL functions or custom wrapper  Limit execution time  Prevent large-scale SQL injection attacks Hide all errors and place in a log  Don’t give attackers hints

Securing the PHP Installation (continued)  Disable sending of versioning information in request headers  Disable “magic quotes” and “register globals”  Should rely on defensive programming practices  Find other methods to sandbox developers  When used, programming ambiguity arises

PHP Configuration File  php.ini

Defensive Coding in PHP  Always “escape” data about to be inserted into the database  Using “\” characters to prevent SQL injection via special characters  PHP provides native wrapper functions for MySQL for this  Developers can also use a “prepared statement” to separate the data being passed from the SQL logic

Securing the MySQL Installation  Restrict access to remote MySQL access by IP  Run MySQL under its own user and with its own security group  Protect data, system, and log files under an administrator user  Use a strong username and password

Remote MySQL Configuration

Tools for Integrated Management  cPanel / WHM  Webmin  Virtualmin  Useful for reseller accounts and virtualizing

Conclusions  Secure each component and their appropriate modules  Follow general security practices of isolating processes, maintaining logs, and disabling unused or unnecessary components  Use an integrated update manager for the four components of the stack and their respective add-ons

Questions?