Secure Configuration of Apache in the Mac OS X Environment
|
|
|
- Peregrine Robinson
- 9 years ago
- Views:
Transcription
1 Interested in learning more about security? SANS Institute InfoSec Reading Room This paper is from the SANS Institute Reading Room site. Reposting is not permitted without express written permission. Secure Configuration of Apache in the Mac OS X Environment My proposed solution will be to configure all the security on the OS X host in a much more secure manner, by enabling and tightening some of the built in security controls that are not enabled by default on the OS. By doing this, we will them be able to place the host on the Internet and serve up web pages in a secure manner. I will also be configuring the Apache web server in a secure manner, as well as adding extra security modules and extra functionality to the web server. PHP will be getting added to add additional... Copyright SANS Institute Author Retains Full Rights AD
2 Secure Configuration of Apache in the Mac OS X Environment Secure Configuration of Apache in the Mac OS X Environment GSEC Gold Certification Author: Neil Fryer, [email protected] Adviser: Don C. Weber Accepted: July 20 th, 2006 Neil Fryer 1
3 Outline Secure Configuration of Apache in the Mac OS X Environment Introduction...6 Abstract...7 Current Security Posture...10 Current Risk...11 Impact of SANS Training on the Situation...15 During...17 Proposed Solution...19 Solution Implementation...20 Host Security...20 Firewall Configuration...20 FileVault and system security preferences...26 Automatic Updates...31 Neil Fryer 2
4 Energy Saver Options...32 Disable Core Dumps...34 Open Firmware or EFI Password...35 Login Banner...37 Passwords...39 Default UMASK...39 File Integrity...40 Rootkits...40 Resources for securing OS X further...41 Apache Configuration...41 Install OS X Developer Tools...42 Repair File Permissions...42 Downloading mod_security...44 Neil Fryer 3
5 Apache Modules...44 Verifying MD5 Checksums...45 Compiling and installing mod_security...46 Apache SSL (Self Signed Certificate)...52 Apache SSL (3rd Party Certificate)...65 Enabling PHP within Apache...67 Securing the Apache configuration file...68 Securing PHP...73 Clean Up...76 Removing the Apple developer tools...76 Removing the downloaded application source code...76 Repair disk permissions and reboot...76 After...78 Neil Fryer 4
6 Solution Testing and Validation...80 Risk Assessment...84 Conclusion...88 Acronyms...89 References...92 Neil Fryer 5
7 Introduction Secure Configuration of Apache in the Mac OS X Environment With OS X gaining more traction in the Operating System market and Apache still being the worlds widest deployed web server on the Internet, I felt that there was a need to combine the process of securing both of these into one paper. I have done considerable research on both OS X and Apache, and have found documents on how to secure them each individually, but never one tailored to running Apache on OS X in a secure manner. For a long time OS X seemed to be invisible to hackers, as it was never one of the more widely deployed Operating Systems on the Internet. Ever since Apple released the ipod Key fingerprint though, more = AF19 and FA27 more 2F94 people 998D FDB5 have DE3D become F8B5 interested 06E4 A169 in 4E46 their other offerings, namely their Operating System (OS X) and their hardware. Within this paper I will attempt to show how to secure both OS X and Apache, so that it can be used as an Internet facing web server. I will be using OS X , Apache and PHP for all the examples in this paper. I shall also list the shortcomings of the default configuration of OS X and Apache on OS X from a security perspective. Neil Fryer 6
8 Abstract Secure Configuration of Apache in the Mac OS X Environment Since April 1996 the Apache web server has been the most popular web server on the Internet. (Apache, 2006) The November 2005 Netcraft survey showed that Apache was the web server hosting more than 70% of the web sites on the Internet (Netcraft, 2006), this shows that Apache is more widely deployed on the Internet than all other web servers combined. The Apache web server is also Open Source Software (OSS); this has both good points and bad. The good points are that anyone with the relevant programming skills can modify it to suite their exact needs, and also view and understand the source code to find out exactly what the application does, and how it functions. The bad side to this however is that this also makes it easier for hackers to find vulnerabilities in the application, and then exploit them, thus gaining control of your web server, or worse yet, your entire Operating System (OS). Due to the vast amount of people constantly striving to make Apache more secure, the amount of vulnerabilities getting found are a lot less now than they were a few years ago, but this isn t to say that more won t get found. Also due to the fact that Apache is modular in Neil Fryer 7
9 design, sometimes vulnerabilities are found in the modules that different groups or individuals develop. Apple s OS X is the predecessor to OS 9, and has taken a complete turn for the better. OS X is built upon a UNIX foundation of the FreeBSD micro kernel (Apple, 2006). Which means that it has all the functionality and stability of some of the more widely known UNIX systems in use today, and also all the added security features that they posses. Quite a few of the UNIX components that come with OS X are all OSS, and thus have their source code freely available on the Internet for anyone to view and scrutinize. So when a Key fingerprint vulnerability = AF19 gets FA27 found 2F94 in 998D say, FDB5 the Bash DE3D shell F8B5 on 06E4 a Linux A169 or 4E46 FreeBSD machine, there is a good chance that if the version is the same as the one that is bundled with OS X that the vulnerability will also affect OS X. It is because of these vulnerabilities that we have to make sure that our instances of Apache and OS X are as secure possible, and taking a layered approach to doing this is the most secure way possible. If we secure just Apache and not OS X, then an attacker may target OS X, if we secure OS X, but not Apache, then an attacker may target Apache. Hence why we will be securing both. This may not always stop a hacker from compromising your web server, but adding security by layers may just slow him down enough for you to realize Neil Fryer 8
10 what s going on before it s too late, or better yet, be too challenging for the hacker, so he will move on to an easier target. One thing that I think that everyone has to realize is that once you place a web server out on the wild frontier of the Internet, there is a very good chance that one day, you probably will get hacked. Throughout this paper we are going to do our best to make that job ever harder for the would-be hacker. Neil Fryer 9
11 Current Security Posture Secure Configuration of Apache in the Mac OS X Environment As we are going to be using OS X and Apache as a web server, this will be an Internet facing host, maybe sitting behind a firewall in the demilitarized zone (DMZ), or using the built in firewall and placing this host directly on the Internet. Even though we will be configuring the built in firewall, I would recommend placing it behind a separate firewall device on you network. It is also not advisable to use the web server to do all your daily tasks on, but this does happen. If you decide to do this, please be aware of the risk of having all your personal information stored on your publicly accessible web server. Neil Fryer 10
12 Current Risk Secure Configuration of Apache in the Mac OS X Environment Apple states on the OS X section of it s website that OS X is Secure by default (Apple, 2006), which technically is correct. OS X has been built on top of a FreeBSD microkernel, which means that underneath the hood OS X is UNIX. It also makes use of the Open Source packet filtering firewall IPFW for securing external connections to and from the host. The root account on OS X is also disabled in a default installation, this is because all System modifications are done under your OS X Administrator account, which by default is the first user account you create on your system. Key fingerprint This = AF19 however FA27 2F94 does 998D not mean FDB5 DE3D that it F8B5 has been 06E4 A169 secured 4E46as much as it could have been, there are countless security features included in the OS that are not enabled by default, which when we are planning on placing a web server on to the Internet, need to be taken into consideration and implemented. Apple is correct in saying that OS X itself is secure by default, but some of the sub-systems such as Apache, SSH, CUPS, SAMBA have not been secured, they have been left in a default state which is not secure. Each of these subsystems requires securing in it s own way, and should be researched thoroughly before enabling any of them. With a little bit of research searching online, you will be able to find papers on securing the various service that you want to enable, such as the following: Neil Fryer 11
13 o Five-minutes to a more secure SSH. (Maxwell, 2006) o Securing Samba. (Tridgell, 2003) Even if the paper is not targeted to securing the service on OS X, so long as the underlying host is UNIX based, you should be able to apply the various security measures without causing any harm. As always though, test all your changes in a lab environment first, before testing them on a live host. A few of the threats that you face with running an unsecured web server on the Internet are the following (OWASP, 2004): o Loss of reputation o Damage to a corporate brand o Loss of earnings o Loss of personal private information As we are going to run a production Apache web server, we can t afford to have any security vulnerabilities present in our configuration. The risks that we will be addressing with our configuration are the following: Neil Fryer 12
14 o Unnecessary ports listening o No host based firewall o No firewall logging o Unencrypted home directories o Automatic login enabled o System preferences not secured o No screensaver password o Insecure swap space usage o No automated security updates o Core dumps enabled o No Open Firmware/EFI password o No login banners o Weak passwords Secure Configuration of Apache in the Mac OS X Environment Neil Fryer 13
15 o Default UMASK is insecure o No file integrity checks o No rootkit detection Secure Configuration of Apache in the Mac OS X Environment o Application level attacks (XSS, SQL injection, buffer overflows) o No HTTP encryption for sensitive data o Unnecessary Apache modules loaded o Apache information leakage (version info, error messages, etc) Neil Fryer 14
16 Impact of SANS Training on the Situation The SANS GSEC training course (SANS, 2006) highlighted the need to take a Defense in depth strategy towards security of any network and networked host within a network. The reasoning behind this, is that the more layers of defense that you put in place, the more difficult it makes it for anyone to penetrate those layers. If you just place a firewall in front of your host, and a vulnerability is found within your firewall then you effectively have no level of protection, as your firewall has just been rendered useless by the vulnerability. If you build other security measures into the system that you are trying to secure, then Key fingerprint you should = AF19 be confident FA27 2F94 that 998D if one FDB5 of DE3D these F8B5 measures 06E4 A169 fails, 4E46 then there would be another one to back up the failed measure. All we are trying to do with the Defense in depth (Wikipedia, 2006) strategy is to make it as difficult for the attacker as possible. Hopefully the attacker will realize that compromising this host will both take too much time and effort and move on to an easier target. If this is not the case, then the attacker is after some of your resources for a very good reason, you obviously have something that they want. This is why we will not only be covering a secure firewall policy for a web server, but we will also be implementing various security measures into the Apache web server itself, our ideal is to have a web server that would be able to survive on the Internet without a firewall in Neil Fryer 15
17 front of it. This way, if for some reason an attacker does manage to bypass our firewall, we still have a secure host for them to try and compromise. Neil Fryer 16
18 During Secure Configuration of Apache in the Mac OS X Environment It is common knowledge that web servers are getting defaced on a daily basis (BBC, 2005) and in great numbers as well, some of these are only defacements, while others lead to a full system compromise. Even though Apache is the widest used web server on the Internet at present, this doesn t mean that it hasn t been without its share of vulnerabilities. If you have a look a the following link, you will see a list of all the vulnerabilities in the Apache 1.3.x tree that have been addressed by the Apache Security Team: If you do a keyword search on the Common Vulnerabilities and Exposures (CVE) website for Apache at present it lists a total of 201 entries, some of these have been fixed, some are in the Apache 2.x.x branch and some of them have yet to be fixed. Zone-H keep a daily record of website defacements, and so far today there have been a total of 904 confirmed defacements: Neil Fryer 17
19 The total listing of website defacements that Zone-H have currently totals defacements, you can view the complete archive here: Neil Fryer 18
20 Proposed Solution Secure Configuration of Apache in the Mac OS X Environment My proposed solution will be to configure all the security on the OS X host in a much more secure manner, by enabling and tightening some of the built in security controls that are not enabled by default on the OS. By doing this, we will them be able to place the host on the Internet and serve up web pages in a secure manner. I will also be configuring the Apache web server in a secure manner, as well as adding extra security modules and extra functionality to the web server. PHP will be getting added to add additional functionality to the web server, as using PHP on the web server means that there will be ways to communicate with databases, and the web server will also be able to provide more than just static content by adding scripting language functionality to the web server. Due to its powerful nature though, we will need to tighten up the security on PHP before using this as a production server. Neil Fryer 19
21 Solution Implementation All of the following configuration changes assume that your OS X installation is in it s default state, and were performed on a fresh installation of OS X. Basic familiarity with the OS X command line, and a command line text editor such as vi, nano or emacs is also assumed. All examples in this text will be designed for the vi editor. Host Security Firewall Configuration The first thing that we are going to do in regard to securing OS X is going to be locking down the firewall (IPFW) within OS X. The firewall is pretty secure by default, but we are going to tighten up the security and firewall policy even more, so that we can put our Mac on the Internet, and feel safe about it. To access the Firewall settings go to System Preferences by clicking the icon on your dock. You should then see the following screen: Neil Fryer 20
22 Select the Sharing option. Once inside the sharing preferences, select the Firewall tab; Key fingerprint you should = AF19 now FA27 be seeing 2F94 998D the same FDB5 DE3D thing F8B5 as the 06E4 screenshot A169 4E46below: Neil Fryer 21
23 On the default OS X firewall policy, only the network time port (UDP/123) is open, all other ports are closed. As we are going to be serving web pages from this host, we are going to have enable the Personal Web Sharing option in the firewall, this will allow traffic to our host on ports: o 80(HTTP), for normal web traffic o 443(HTTPS), for secure web traffic o 427(SLP), required for Bonjour network discovery. Neil Fryer 22
24 To do this, click on the Services tab and then click in the block on the left hand side of Personal Web Sharing. Now if you fire up a web browser and point it at you Mac s IP address, you should see the default Apache web page. The next thing that we want to do to our firewall configuration is to enable logging, block UDP traffic and enable stealth mode. Now, click the Firewall tab again, and in the bottom right hand corner you will see a button labeled Advanced, that s where we want to go, click on that one. That will then Neil Fryer 23
25 present you with a screen like the one below: We want to enable all three of these options, to do this, click once inside each of the three boxes. We have now added a few more layers of security to the default firewall configuration, and most importantly enabled logging. Neil Fryer 24
26 Key fingerprint A few = AF19 good FA27 web 2F94 sites 998D to FDB5 learn DE3D more F8B5 about 06E4 the A169 capabilities 4E46 of IPFW, adding custom rules on the command line are, and the default OS X services are: o Exploring the Mac OS X Firewall. (Hickman, 2005) o Configuring IPFW firewalls on OS X. (Hays,2005) o Manual page for IPFW(8). (Apple, 2002) o Firewall Configuration For OS X (University Of Melbourne, 2006) o Mac OS X: What are all those processes. (Davisson, 2005) Neil Fryer 25
27 FileVault and system security preferences Secure Configuration of Apache in the Mac OS X Environment FileVault automatically encrypts and decrypts all the files and folders in your home directory on OS X on the fly (Apple, 2006). The encryption is done using 128-bit AES encryption. What this means is that everything stored within your home directory is only readable by supplying OS X with the correct user credentials, for the home directory at logon time, no other user on the system will be able to gain access to these files and folders. By default though, this is not enabled on OS X, so we need to enable this to add to our defense in depth strategy. Key fingerprint To = enable AF19 FA27 FileVault, 2F94 998D go to FDB5 System DE3D Preferences, F8B5 06E4 A169 and 4E46 then select the Security item, this should bring you to the following screen: Neil Fryer 26
28 Firstly we are going to set a master password, this is not the same as a UNIX root account password, and this is purely to unlock FileVault in an emergency. It is important that you make this password as difficult to guess, as possible, and that you don t forget this password, as there may come a time when you need this! It is advisable to also set a hint to help you remember this password in case you do forget it, do not put the actual password in the hint field, just something to jog your memory. *DO NOT SET THIS PASSWORD TO THE SAME AS YOUR LOGIN PASSWORD* Once you have set the master password, we are now ready to turn on the FileVault, Neil Fryer 27
29 please bear in mind that this will take a while depending on the size of your home folder on your system. Your Security settings screen should now look like the following once you have set your master password: To enable FileVault for this account, click on the Turn On FileVault button. You will then be asked to type in the password for your currently logged in user s account. Once you have done this, you will be presented with the following screen: Neil Fryer 28
30 Make sure that you put a tick in the block labeled Use secure erase, this will take a bit longer, but it encrypts all the files before erasing them. This is to make sure that there are no un-encrypted private files left on your system after FileVault has encrypted your home folder. Once you have done this, click the Turn On FileVault Button. You will then be logged out of the system while FileVault encrypts your home folder. Now would be a good time to go and make a cup of tea, as I mentioned before, this does take a while. Once FileVault has finished encrypting your home folder, you can then log back into your system and you should notice that the icon for your home directory has now changed to an icon that looks like a combination of a safe and a house. Neil Fryer 29
31 Congratulations, you have just enabled FileVault. Be aware though that any files that are stored within your home folder will not be able to be accessed by applications such as Anti-Virus, or any of the system daemons, as they will be encrypted (Apple, 2006). Make sure that any files that applications or daemons rely on to work properly are stored outside of your home directory. Now we are going to go back into the System Preferences, and select the Security item again, this time to set some extra security measures for the host. We are now going to enable quite a few extra security features, place ticks in the Key fingerprint following = boxes: AF19 FA27 2F94 998D FDB5 DE3D F8B5 06E4 A169 4E46 o Require password to wake this computer from sleep or screen saver o Disable automatic login o Require password to unlock each secure system preference o Log out after 60 minutes of inactivity. We want to set this one to 10 minutes. o Use secure virtual memory. Once you have done this, you should see the following: Neil Fryer 30
32 Once you have enabled all of these then click on the lock in the bottom left hand corner of the Security preference pane. This will prevent other users from changing these settings. You can then close the Security preferences pane. Automatic Updates We are going to enable Automatic updates, as on an Internet facing host, the last thing that you want is a security hole due to the fact that you didn t apply the latest security updates. To do this, go to System Preferences, and then select the Software Update item. As this is going to be an Internet facing host, we are going to set it to check for updates on a Neil Fryer 31
33 daily basis, and to download the important updates in the background. You will be notified by a pop-up when new updates are ready to be installed. Your Software Update screen should now look like the following: Energy Saver Options As this is a web server, we do not want it to shut down after it hasn t been in use for a while, so we will be disabling the Energy Saver options. Open System Preferences and select the Energy Saver item. We are going to set it so that the computer does not go to sleep, and also so that the hard disk(s) never go to sleep as well. To do this, set your settings to the following: Neil Fryer 32
34 Key fingerprint Next = AF19 go into FA27 the 2F94 Options 998D FDB5 item DE3D at the F8B5 top of 06E4 the A169 Energy 4E46Saver preference pane, and change your settings to match the following: Neil Fryer 33
35 Once you have done this, once again click the lock in the bottom left hard corner of the preference pane to stop other users modifying these preferences, then close the preference pane. Disable Core Dumps A core dump (Wikipedia, 2006) is a dump of the contents in memory at the time that the dump happened, this is extremely useful for debugging purposes, but also helpful to hackers, as sometimes these dumps can reveal sensitive information such as usernames and passwords (Rogers, 1999). Neil Fryer 34
36 To disable core dumps on OS X you need to open the Terminal.app and perform the following actions: o The Terminal.app is located under /Applications/Utilities. o Type the following into the Terminal.app window: sudo vi /etc/sysctl.conf You will them be prompted for your user password, enter this in. You have now created a new file, and you now need to edit this file to add some information into it. Insert the Key fingerprint following = into AF19 the FA27 newly 2F94 created 998D FDB5 file: DE3D F8B5 06E4 A169 4E46 kern.coredump=0 Then save the file, and restart your Mac for the change to take effect. Open Firmware or EFI Password The Open Firmware and EFI are similar to the BIOS on a PC, we are going to set a password on this to stop other people forcing your Mac to boot from another device such as a Firewire drive or CD/DVD drive and to stop others from booting into single user mode, as if they were able to do this, they would be able to bypass all your security settings. Single user Neil Fryer 35
37 mode automatically logs the user in as root, as you are aware the root account has the highest privileges on a UNIX system, and with this account the user would be able to also bypass all your security measures. To set an Open Firmware or EFI password: o On your OS X Tiger installation disc, copy the Open Firmware Password application from /Applications/Utilities on the DVD to /Applications/Utilities on you OS X hard drive. o Open the Open Firmware Password application Key fingerprint - Place = AF19 a FA27 tick in 2F94 the 998D box next FDB5 to DE3D Require F8B5 06E4 password A169 4E46 to change Open Firmware Settings, then type in the password that you wish to set for the Open Firmware into the Password and Verify fields. Neil Fryer 36
38 o Click the OK button; you will then be prompted for your user password. o You should them receive a confirmation that the Open Firmware or EFI password has been set. Select Quit from the Open Firmware Password application menu. o Reboot your Mac for this change to take effect. Login Banner Login banners are useful to notify users of unauthorized access to inform them that anything that they do on the system may be monitored. This also covers your bases from a legal perspective as well, so in general it is always a good idea to set login banners. Here we will be setting a login banner on the OS X login screen. I will be using a section of the D.O.D Neil Fryer 37
39 Secure Configuration of Apache in the Mac OS X Environment login banner (ICODES Web, 2006), as it is one of the more complete ones out there, you can feel free to edit this one to suit your needs. Before you use this policy though, check with your organizations legal department to make sure that this banner complies with all their requirements. o Open Terminal.app o Type the following to change your logon window access-warning banner: sudo defaults write /Library/Preferences/com.apple.loginwindow LoginwindowText "Use of this computer system, authorized or unauthorized, constitutes consent to monitoring of this system. Unauthorized use may subject you to criminal prosecution. Evidence of unauthorized use collected during monitoring may be used for administrative, criminal, or other adverse action. Use of this system constitutes consent to monitoring for these purposes." o Everything between the quotation marks is what will be displayed. o Log out to test that you can see the login banner. Neil Fryer 38
40 Passwords One of the most important things to do on your OS X system is to make sure that you set strong passwords for all users (AUSCERT, 1993). At a minimum these should be 8 characters long, a mix of both upper and lowercase letters, alphanumeric, and also contain special characters (!@ $%^&*<>?). Also these passwords should not be based on dictionary words in any language. Consider using passphrases instead of passwords, a passphrase is any memorable phrase that you use the first letters from to make up a phrase to use instead of a password. For instance Two cows flew over the Eiffel Tower together?!, could become 2cFot3Tt?!. Now you have a passphrase that you can remember, that meets all the Key fingerprint minimum = password AF19 FA27 requirements. 2F94 998D FDB5 DE3D F8B5 06E4 A169 4E46 Default UMASK The default umask value is what determines the users permissions on any newly created files (Maple, 2000). The default value for this on OS X is 022. This means that all users are granted read access to all newly created files. We are going to change this to the value 027, this will limit the file permissions so that only users in the same group can access newly created files. To change the default OS X umask open Terminal.app, and type the following: Neil Fryer 39
41 sudo defaults write /Library/Preferences/.GlobalPreferences NSUmask 23 File Integrity Now that you have the host OS configured securely, you need to make sure that it stays that way, and that if anything changes you are informed about it. The best tool to do this with is Tripwire, configuring Tripwire is a complex subject in itself so I have included a couple of links here on how to do this. Key fingerprint = AF19 FA27 2F94 998D FDB5 DE3D F8B5 06E4 A169 4E46 Rootkits A rootkit is a set of software tools intended to conceal running processes, files or system data, thereby helping an intruder to maintain access to a system whilst avoiding detection. Rootkits are known to exist for a variety of operating systems such as Linux, Solaris and versions of Microsoft Windows. Rootkits often modify parts of the operating system or install themselves as drivers or kernel modules. Wikipedia Neil Fryer 40
42 Even though we have increased the security of OS X, we still need to make sure that if your server does get compromised, and a rootkit left behind, that we detect it as soon as possible. Tripwire will let you know if anything changes, but we need to have something that will run in the background and check for rootkits on a daily basis. For this I would recommend chkrootkit. More information on chkrootkit, as well as installation instructions is available from: Resources for securing OS X further The following is a list of useful web sites on the Internet in regard to securing OS X even further. It would be a good idea to read through these if you are serious about locking down your system. Apache Configuration Now that we have covered securing OS X, we are ready to configure the Apache web server and build all the necessary components to secure it and turn it into a Internet facing web server. I will walk you through all the necessary steps to get this done below, so what are Neil Fryer 41
43 we waiting for? Let s get moving! Install OS X Developer Tools We need to install the developer tools on our host so that we can compile some of the modules that Apache requires. The OS X developer tools package contains vital libraries and the gcc compiler, which we will need for compiling our new applications. To install the OS X Developer tools first insert your OS X DVD. On your OS X DVD you will see a folder called Xcode Tools, open this and then install the XcodeTools.mpkg package. Once the installation has finished, we are going to repair the OS X file permissions just to make sure that nothing went wrong with our installation. It is good practice to always repair the file permissions on an OS X volume, as sometimes the permissions can get a bit mixed up and cause system problems. Repair File Permissions It is good practice to repair the file permissions whenever you install any new security updates as well. Neil Fryer 42
44 o Go to /Applications/Utilities and open the Disk Utility application, then select your Macintosh HD drive from the list on the left hand side. o Click on the Repair Disc Permissions button, once this has completed, restart your Mac. Repairing the file permissions makes sure that all the file permissions are set in the correct manner (Apple, 2005). Neil Fryer 43
45 Downloading mod_security Secure Configuration of Apache in the Mac OS X Environment Mod_Security is a web application firewall (Modsecurity, 2006), which can be run either as an Apache module or as a standalone instance, and is used to further protect web applications from the various attacks that they can be vulnerable to. We are including this module into our Apache build to build upon our layered defense strategy. Before we can begin, we have to go and get the new module that we are going to add to our Apache configuration and verify its authenticity. Below are the links to the module, the current rule set, as well as the MD5 checksum for verification. Key fingerprint Mod_Security: = AF19 FA27 2F D FDB5 DE3D F8B5 06E4 A169 4E46 Mod_Security MD5 signature: Mod_Security Current Rule Set: Please go and download the module, the rules and the MD5 checksum. Apache Modules All of the Apache configuration changes and the adding of mod_security will all be Neil Fryer 44
46 Secure Configuration of Apache in the Mac OS X Environment done via the Terminal.app, so open this one up, and then let s get started on our quest to secure Apache on OS X. Firstly we are going to move everything that we downloaded for mod_security to our /tmp folder on OS X. To move these three files from your Desktop to the /tmp directory using the Terminal.app, type the following: mv Desktop/modsecurity-* /tmp Now change to your /tmp directory, and make sure that all the files are there. Verifying MD5 Checksums Now to verify the MD5 checksum on the modsecurity-apache_1.9.4.tar.gz.tar file using the MD5 checksum modsecurity-apache_1.9.4.tar.gz.md5.txt run the following commands in Terminal.app: cat modsecurity-apache_1.9.4.tar.gz.md5.txt md5 modsecurity-apache_1.9.4.tar.gz.tar As you can see we first issued the command cat modsecurityapache_1.9.4.tar.gz.md5.txt, this was used to read the MD5 checksum. The MD5 checksum Neil Fryer 45
47 that was issued was 74d bab619cd7b6b376b We then ran the MD5 utility against the file modsecurity-apache_1.9.4.tar.gz.tar, by issuing the command md5 modsecurity-apache_1.9.4.tar.gz.tar, which gave us the output value of 74d bab619cd7b6b376b If all is as it should be, both MD5 values should match, if this is not the case, delete both files and download them again, as this will mean that they are not the correct files, and they may have been compromised or corrupted. Compiling and installing mod_security Now that we have verified that the module that we downloaded is a legitimate module, we are now ready to start compiling it, and installing it. The first thing that we want to do is uncompress the mod_security module, to do this on within the Terminal.app, use the following command: tar zxvf modsecurity-apache_1.9.4.tar.gz.tar Once this has been uncompressed, then change into the mod_security directory. Before we go any further we are going to back up our copy of Apache s configuration Neil Fryer 46
48 file httpd.conf. To do this type the following into your command line: sudo cp /private/etc/httpd/httpd.conf /private/etc/httpd/httpd.conf.backup This makes a copy of the Apache configuration file /private/etc/httpd/httpd.conf called httpd.conf.backup in the same location as your original httpd.conf file. This is just in case we ever need to revert back to this one. Now we need to compile mod_security, type the following on the command line: /usr/local/apache/bin/apxs -cia mod_security.c You now have Apache running with mod_security installed, but now you need to add some default rules to mod_security, to do this you ll have to edit the Apache configuration file httpd.conf. Open the file /private/etc/httpd/httpd.conf with super user privileges in you text editor. in the Terminal.app: sudo vi /private/etc/httpd/httpd.conf As you can see from the comments in this text below, we will be configuring mod_security to block various attacks such as SQL injection, XSS, input validation and buffer Neil Fryer 47
49 overflows. Once you have this file open, scroll down to the bottom of the file and then paste the text below into it, once you have done this save the file. <IfModule mod_security.c> # Turn the filtering engine On or Off SecFilterEngine On # Make sure that URL encoding is valid Key fingerprint SecFilterCheckURLEncoding = AF19 FA27 2F94 998D FDB5 On DE3D F8B5 06E4 A169 4E46 # Unicode encoding check SecFilterCheckUnicodeEncoding Off # Only allow bytes from this range SecFilterForceByteRange # Only log suspicious requests SecAuditEngine RelevantOnly # The name of the audit log file SecAuditLog /var/log/audit_log # Debug level set to a minimum Neil Fryer 48
50 SecFilterDebugLog /var/log/modsec_debug_log SecFilterDebugLevel 0 # Should mod_security inspect POST payloads SecFilterScanPOST On # By default log and deny suspicious requests # with HTTP status 500 SecFilterDefaultAction "deny,log,status:500" Key fingerprint # Prevent = AF19 drop FA27 table 2F94 SQL 998D injection FDB5 DE3D F8B5 06E4 A169 4E46 SecFilter "drop[[:space:]]table" #SQL injection attacks SecFilter "delete[[:space:]]+from" SecFilter "insert[[:space:]]+into" SecFilter "select.+from" # Only inspect dynamic requests Secure Configuration of Apache in the Mac OS X Environment Neil Fryer 49
51 # (YOU MUST TEST TO MAKE SURE IT WORKS AS EXPECTED) SecFilterEngine DynamicOnly # Prevent OS specific keywords SecFilter /etc/passwd SecFilter /bin/ls # Prevent path traversal (..) attacks SecFilter "\.\./" # Weaker XSS protection but allows common HTML tags SecFilter "<[[:space:]]*script" # Prevent XSS atacks and do input validation (HTML/Javascript injection) SecFilter "<(. \n)+>" # Reject requests with status 403 SecFilterDefaultAction "deny,log,status:403" Neil Fryer 50
52 following: Secure Configuration of Apache in the Mac OS X Environment SecFilterSelective SCRIPT_FILENAME "export\.php$" chain SecFilterSelective ARG_what "\.\." SecFilterSelective "HTTP_Via" "pinappleproxy" </IfModule> We now need to restart Apache for these rules to take effect, to do this, type the sudo apachectl graceful If all went well Apache should return something similar to the following: /usr/sbin/apachectl graceful: httpd gracefully restarted You have now installed and configured mod_security. If you would like to learn more about mod_security head over to the following website, as it has all the documentation you could want on mod_security: Neil Fryer 51
53 Apache SSL (Self Signed Certificate) Secure Configuration of Apache in the Mac OS X Environment There are two ways to enable SSL on Apache and both of these require a valid SSL certificate, using the one way we will create an SSL certificate ourselves and the other way is to purchase one from a valid Certificate Authority such as Verisign. I would recommend that if you are going to be doing online sales or running a corporate website, then you should purchase a SSL certificate, but if this will be just to host a personal site, you can get away with using a self-signed certificate. First I will show you how to create a self-signed SSL certificate, then I will tell you the Key fingerprint steps involved = AF19 in FA27 purchasing 2F94 998D one FDB5 and DE3D installing F8B5 06E4 it on A169 your 4E46 web server. The following steps closely follow the steps outlined by legacyb4 on the MacOS X hints website here: There are basically 5 steps involved in creating a self-signed SSL certificate for Apache (legacyb4, 2004), and they are the following: 1. Creating a Certificate Authority Neil Fryer 52
54 2. Generate a private key for the web server 3. Generate a Certificate Request 4. Sign the Certificate Request 5. Add the SSL components to Apache 1. Creating a Certificate Authority Open up the Terminal.app and change your directory to /Documents directory. Next create a new directory called certs and move into this directory: mkdir certs; cd certs We now need to create a new Certificate Authority, to do this we are going to run the CA.pl script from the /System/Library/OpenSSL/misc directory. From the command line type the following: /System/Library/OpenSSL/misc/CA.pl -newca You will then see the following within the Terminal.app: xyberpix-mac-mini:~/documents/certs xyberpix$ System/Library/OpenSSL/misc/CA.pl Neil Fryer 53
55 -newca Secure Configuration of Apache in the Mac OS X Environment CA certificate filename (or enter to create) Making CA certificate... Generating a 1024 bit RSA private key writing new private key to './democa/private/cakey.pem' Enter PEM pass phrase: Key fingerprint = AF19 Verifying FA27 2F94 - Enter 998D PEM FDB5 pass DE3D phrase: F8B5 06E4 A169 4E You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank Neil Fryer 54
56 Country Name (2 letter code) [AU]:GB State or Province Name (full name) [Some-State]:Berkshire Locality Name (eg, city) []:Reading Organization Name (eg, company) [Internet Widgits Pty Ltd]:Neil's CA Organizational Unit Name (eg, section) []:IT Common Name (eg, YOUR name) []:Neil Fryer Address As you get prompted for information enter it accordingly, until you are returned back to the command prompt. 2. Generate a private key for the web server To generate a private key for the web server type the following in the ~/Documents/certs directory: openssl genrsa des3 out webserver.key 1024 This will then create an encrypted, private key for your web server. Make sure that you use a secure password here. The output that you will see on the screen should be similar to the following: Neil Fryer 55
57 xyberpix-mac-mini:~/documents/certs xyberpix$ openssl genrsa -des3 -out webserver.key 1024 Generating RSA private key, 1024 bit long modulus e is (0x10001) Enter pass phrase for webserver.key: Verifying - Enter pass phrase for webserver.key: xyberpixs-mac-mini:~/documents/certs xyberpix$ Key fingerprint The = AF19 next FA27 thing 2F94 that 998D we need FDB5 to DE3D do is F8B5 generate 06E4 A169 a non-password 4E46 protected copy of the key. This is done because the user can not enter a password for the certificate when OS X is booting. To do this, type the following into the Terminal: openssl rsa in webserver.key out webserver.nopass.key This will then generate a non-password protected copy of the private key that you just created: xyberpixs-mac-mini:~/documents/certs xyberpix$ openssl rsa -in webserver.key -out webserver.nopass.key Enter pass phrase for webserver.key: (This will be the pass phrase that you set earlier) Neil Fryer 56
58 Secure Configuration of Apache in the Mac OS X Environment writing RSA key xyberpixs-mac-mini:~/documents/certs xyberpix$ 3. Generate A Certificate Request The next step in our process is to generate a certificate request for our web server; this will be based on the private key that we generated back in step 2. You should still be in the ~/Documents/certs directory in Terminal.app, if not go there and then type the following all on the same line: openssl req config /System/Library/OpenSSL/openssl.cnf new key webserver.key out newreq.pem days 3650 Once you have hit enter you will be prompted for your certificate pass phrase. What you have done here is to tell the system to generate a new certificate request newreq.pem, using the default openssl configuration openssl.cnf, using the web server key webserver.key and give it a validity period of 10 years 3650 days. You should then get the following in your Terminal.app: Enter pass phrase for webserver.key: Neil Fryer 57
59 You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank Country Name (2 letter code) [AU]:GB State or Province Name (full name) [Some-State]:Berkshire Locality Name (eg, city) []:Reading Organization Name (eg, company) [Internet Widgits Pty Ltd]:Neil's CA Organizational Unit Name (eg, section) []:IT Common Name (eg, YOUR name) []:Neil Fryer Address []:[email protected] Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []:^C Neil Fryer 58
60 xyberpixs-mac-mini:~/documents/certs xyberpix$ openssl req -config /System/Library/OpenSSL/openssl.cnf -new -key webserver.key -out newreq.pem -days 3650 Enter pass phrase for webserver.key: You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. Key fingerprint = AF19 FA27 2F94 998D FDB5 DE3D F8B5 06E4 A169 4E46 Country Name (2 letter code) [AU]:GB State or Province Name (full name) [Some-State]:Berkshire Locality Name (eg, city) []:Reading Organization Name (eg, company) [Internet Widgits Pty Ltd]:Neil's CA Organizational Unit Name (eg, section) []:IT Common Name (eg, YOUR name) []:ssl.xyberpix.com Address []:[email protected] Neil Fryer 59
61 Secure Configuration of Apache in the Mac OS X Environment Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: leave this blank An optional company name []: leave this blank 4.Sign The Certificate Request The next thing that we need to do is to sign the certificate request newreq.pem with the Certificate Authority that we created way back in step one. Make sure that you are still in the ~/Documents/certs directory and enter the following into the Terminal.app: /System/Library/OpenSSL/misc/CA.pl signreq This tells the system to sign the newreq.pem file we created in step 3. You should receive the following output in Terminal.app: Using configuration from /System/Library/OpenSSL/openssl.cnf Enter pass phrase for./democa/private/cakey.pem: Check that the request matches the signature Signature ok Certificate Details: Neil Fryer 60
62 Serial Number: 86:23:d2:db:4f:5b:c7:9a Validity Not Before: Sep 18 00:10: GMT Not After : Sep 18 00:10: GMT Subject: countryname stateorprovincename localityname organizationname = Neil's CA organizationalunitname commonname address X509v3 extensions: Secure Configuration of Apache in the Mac OS X Environment = GB X509v3 Basic Constraints: CA:FALSE Netscape Comment: = Berkshire = Reading = IT = ssl.xyberpix.com OpenSSL Generated Certificate = [email protected] Neil Fryer 61
63 X509v3 Subject Key Identifier: Secure Configuration of Apache in the Mac OS X Environment 0C:15:85:02:5B:B8:B0:8B:CD:77:DA:A0:E4:00:49:CF:BD:4C:71:C3 X509v3 Authority Key Identifier: keyid:1d:b7:ae:8c:ae:cf:6d:7f:81:bd:d0:f6:9e:65:b6:47:50:d0:47:b8 DirName:/C=GB/ST=Berkshire/L=Reading/O=Neil's CA/OU=IT/CN=Neil Fryer/ [email protected] serial:86:23:d2:db:4f:5b:c7:99 Certificate is to be certified until Sep 18 00:10: GMT (365 days) Key fingerprint Sign = AF19 the certificate? FA27 2F94 [y/n]:y 998D FDB5 DE3D F8B5 06E4 A169 4E46 1 out of 1 certificate requests certified, commit? [y/n]y Write out database with 1 new entries Data Base Updated Signed certificate is in newcert.pem 5. Add The SSL Components To Apache Well now we have all the SSL pieces that we require, so all that s left is to move the Neil Fryer 62
64 pieces and add them to our Apache configuration. To move the entire certs directory out of your home folder to the /private/etc/httpd/ directory and change it s permissions in Terminal.app, type the following: sudo mv /Users/xyberpix/Documents/certs /private/etc/httpd/ sudo chown R root:wheel /private/etc/httpd/certs To add the SSL configuration to the Apache configuration file, using your text editor within Terminal.app, open the file /private/etc/httpd.conf with super user privileges. Paste the following at the end of httpd.conf file (legacyb4,2004), taking care to replace all the highlighted entries with those of your own: <IfModule mod_ssl.c> Listen 80 Listen 443 SSLRandomSeed startup builtin SSLRandomSeed connect builtin Neil Fryer 63
65 <VirtualHost _default_:443> SSLEngine on ServerName ssl.xyberpix.com ServerAdmin ErrorLog /var/log/httpd/error_log SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL SSLCertificateFile /private/etc/httpd/certs/newcert.pem Key fingerprint SSLCertificateKeyFile = AF19 FA27 2F94 /private/etc/httpd/certs/webserver.nopass.key 998D FDB5 DE3D F8B5 06E4 A169 4E46 SSLCACertificateFile /private/etc/httpd/certs/democa/cacert.pem SSLCARevocationPath /private/etc/httpd/certs/democa/crl </VirtualHost> </IfModule> Once you have pasted this in, scroll up until you find the following couple of lines that look like this: #LoadModule ssl_module libexec/httpd/libssl.so Neil Fryer 64
66 Secure Configuration of Apache in the Mac OS X Environment #AddModule mod_ssl.c The # in front of these lines means that they have been commented out. We need to remove these # s to enable SSL. To do this, go to the beginning of each of these two lines and delete the unwanted # s. Once you have done this, save and exit the file. We now need to restart Apache for our changes to take effect, to do this type the following: sudo apachectl stop;sudo apachectl start You have now successfully got SSL configured into Apache with a self-signed SSL certificate. Apache SSL (3rd Party Certificate) So you now know how to use a self signed SSL certificate, but if you want to use this server for a production web site, then you re going to want to use a valid SSL certificate that s been issued by a valid Certificate Authority. Adding certificate from a valid CA is quite a simple process, firstly you will need to Neil Fryer 65
67 purchase an SSL certificate, and the two most well know issuers are Verisign and Thwate: Basically all you need to do to install your new certificate once you have received it, is to place it in a secure directory on your web server and then set the following directives in your Apache configuration file to point to your new certificate, key file and chain file respectively: Key fingerprint SSLCertificateFile = AF19 FA27 2F94 998D FDB5 DE3D F8B5 06E4 A169 4E46 SSLCertificateKeyFile SSLCertificateChainFile Both Verisign and Thwate have some well written instructions on their web sites for installing SSL certificates, so I am not going to duplicate them here, instead I will provide the links to their instructions. Neil Fryer 66
68 Enabling PHP within Apache Apache on OS X already has PHP support built into it; only it is not enabled by default. To enable PHP on Apache all we have to do is edit the httpd.conf file slightly. Using your text editor in Terminal.app open the following file with super user privileges /private/etc/httpd/http.conf. Find the following two lines: Key fingerprint #LoadModule = AF19 FA27 php4_module 2F94 998D FDB5 libexec/httpd/libphp4.so DE3D F8B5 06E4 A169 4E46 #AddModule mod_php4.c Then delete the # s from the beginning of these lines, then save the file. You should now be back to your command line, and have saved the changes that you made to the httpd.conf file. All that s left now is to restart Apache, and you have now enabled PHP. To restart Apache from the Terminal.app: sudo apachectl stop;sudo apachectl start Neil Fryer 67
69 Securing the Apache configuration file Secure Configuration of Apache in the Mac OS X Environment Now that we have all of the components installed, we now need to trim a lot of the unnecessary features out of Apache, and thus increase its security. Firstly we are going to comment out any modules that we are not likely to need in our instance of Apache, if you feel that you will require any of these then don t comment them out. Full documentation on all the Apache modules for the 1.3.x Apache branch can be found here: To comment out a line in the Apache configuration file, all you need to do is insert a # at the beginning of the line. Let s get started, the modules that you are going to comment out of the httpd.conf file are the following: autoindex_module imap_module userdir_module mod_bonjour For Directory Indexing For IMAP connecivity To allow users to host their own web sites Used for Apple networking Neil Fryer 68
70 Once again in Terminal.app open the Apache configuration (/private/etc/httpd/httpd.conf) file in your text editor using super user privileges. Once you have this file open go and place # s in front of the following lines in the configuration file: In the LoadModules section: LoadModule autoindex_module libexec/httpd/mod_autoindex.so LoadModule imap_module LoadModule userdir_module libexec/httpd/mod_imap.so libexec/httpd/mod_userdir.so LoadModule bonjour_module libexec/httpd/mod_bonjour.so In the AddModules section: AddModule mod_autoindex.c AddModule mod_imap.c AddModule mod_userdir.c AddModule mod_bonjour.c By default Apache will give out it s version information, so we want to stop this from happening, as we want to make it as hard as possible for any attackers, so what we are going to do here is turn this off. Find the directive named ServerSignature, and set it to off, so that it Neil Fryer 69
71 should now look like the following: ServerSignature Off Below the above directive we are going to add a new directive, this directive tells Apache to only send Apache in it s header information. ServerTokens Prod Apache in its default configuration also has the Apache manual available as well (Apache, 2006), so we are going to remove this, comment out the entire section below: # This Alias will project the on-line documentation tree under /manual/ # even if you change the DocumentRoot. Comment it if you don't want to # provide access to the on-line documentation. # Alias /manual/ "/Library/WebServer/Documents/manual/" <Directory "debug2: channel 0: window sent adjust Options Indexes FollowSymlinks MultiViews AllowOverride None Order allow,deny Neil Fryer 70
72 Allow from all </Directory> Apache also ships with quite a few languages as well, so we are going to comment out all the entries that we don t need. In your httpd.conf file you will find entries like the following: AddLanguage da.dk AddLanguage nl.nl AddLanguage en.en AddLanguage et.ee Comment out all the entries you don t need, but make sure to leave the AddCharset entries. The last line that you will want to comment out is the directive to allow users to host their own sites from out of their home directories. The line to comment out here is: Include /private/etc/httpd/users/*.conf Once you have commented all of those lines out, you can then save the file. We now need to remove the Apache manual pages from the server, to do this, type the following at the command line: Neil Fryer 71
73 Secure Configuration of Apache in the Mac OS X Environment sudo rm rf /Library/WebServer/Documents/manual You have now finished securing your Apache server configuration. Neil Fryer 72
74 Securing PHP Secure Configuration of Apache in the Mac OS X Environment Even though we have secured Apache itself, we still need to make sure that PHP has been secured. PHP is a very powerful programming language, and in the wrong hands it can wreak havoc. The main PHP configuration file is located at /private/etc/php.ini.default, and this is the file that we will be editing in Terminal.app. Open the file /private/etc/php.ini.default in Terminal.app with super user privileges in your text editor: We are going to set the following parameters in this file to the values specified here. safe_mode = On By enabling safe_mode, PHP scripts are only able to access files when their owner is the owner of the PHP scripts. This is one of the most important security mechanisms built into PHP, and prevents unauthorized users from accessing system resources. Security Focus safe_mode_gid = Off With safe_mode_gid turned off, PHP scripts are able to access files not only when the user id s are the same, but also when the group of the PHP script owner, is the same as that Neil Fryer 73
75 of the group of the owner of the file. Security Focus disable_functions = "dl,phpinfo,shell_exec,passthru,exec,popen,system, proc_get_status,proc_nice,proc_open,proc_terminate,proc_close" By disabling certain PHP functions that shouldn t be needed we are making the system more secure and less vulnerable to attack. expose_php = Off Turning off expose_php prevents PHP from sending information about itself in the HTTP headers. display_errors = Off We are disabling all errors, as these can give away vital information about our PHP installation. log_errors = On We are going to log all PHP errors, as your log files can sometimes be your only means of finding out how a compromise happened. Once you have changed these parameters, save the file. For these changes to take effect you have to rename your php.ini.default file to php.ini Neil Fryer 74
76 and then restart Apache, to do this type the following: Secure Configuration of Apache in the Mac OS X Environment sudo cp /private/etc/php.ini.default /private/etc/php.ini And: sudo apachectl restart You have now secured PHP, all that s left to do is clean up the system a bit. till Neil Fryer 75
77 Secure Configuration of Apache in the Mac OS X Environment Clean Up Removing the Apple developer tools Now that we have finished installing everything, there s no need to leave the developer tools on our system for attackers to use as these can be used to run and compile custom exploits on our system, so we re going to remove them. In Terminal.app type the following: sudo /Developer/Tools/uninstall-devtools.pl Removing the downloaded application source code We also need to remove the source code for mod_security, to do this, type the following into Terminal.app: rm rf /tmp/modsecurity* Repair disk permissions and reboot The final thing that we need to do is to repair the disk permissions and reboot our Mac. The reason for repairing the permissions now, is that we have done a lot of work on our system, and the last thing that we would want is for something to go wrong at this point. For a Neil Fryer 76
78 complete list of everything that repairing permissions does see: To repair the disk permissions, open /Applications/Utilities/Disk Utility, then select Repair Disk Permissions. Once this has completed, reboot your Mac, and you now have a secure web server running on OS X. All your web pages that you want to publish should all be placed into the directory /Library/WebServer/Documents, for CGI s there is /Library/WebServer/CGI-Executables/. Neil Fryer 77
79 After Secure Configuration of Apache in the Mac OS X Environment We now have a web server that is suitable for doing secure transactions over the Internet, so you could now have an online ordering site, or set up access to your server via web mail, without worrying about sending sensitive details over a clear link. We have also added the mod_security module to Apache, and defined a policy for this, this will help to protect any web applications that we now publish, from the likes of certain XSS or SQL injection attacks. Key fingerprint PHP = AF19 was FA27 added 2F94 into 998D the FDB5 mix as DE3D well, F8B5 so that 06E4 we A169 can 4E46 have web pages accessing databases, and being a lot more active than static HTML would ever allow, due to the power of PHP as a programming language we have secured the default PHP installation as well. We also tightened up the security on the Apache configuration file as well, in it s default state it is too open, and gives out too much information, so we have now secured this as much as possible without loosing any performance or functionality. During this process, I only ran into one issue, which was not removing the SSL certificates out of my home directory, and thus having them be encrypted by FileVault and break the SSL functionality of Apache. Thankfully this was easily solved. Neil Fryer 78
80 We have now secured our instance of Apache, and added functionality for processing sensitive date, and added prevention mechanisms to prevent web site attacks such as XSS and SQL injection. We have also firewalled and locked down our OS X host, so that we now have a defense in depth strategy which is exactly what we were working towards here. Neil Fryer 79
81 Solution Testing and Validation Secure Configuration of Apache in the Mac OS X Environment We now need to test that everything is working, as it should be. So we are going to start with testing that Apache is running, to do this, point your web browser to the IP address of your web server, and you should then be presented with the default Apache server screen: Now that we have Apache serving up web pages we also need to test that the PHP functionality is working properly as well. To do this copy the following script into a file called test.php in your /Library/WebServer/Documents folder on your web server. <?php echo 'Congratulations! PHP is working.'; Neil Fryer 80
82 ?> The point your web browser at your web server s IP address again, but this time add test.php to the end of the URL, like so You should then be presented with the following screen: To test that we have SSL running smoothly, we are going to point our web browser at are servers IP address again, but this time, we are going to add HTTPS to the front of the URL, like so You should then be presented with a SSL certificate screen, like the following: Neil Fryer 81
83 You should then click on the Show Certificate button, and that will take you to screen showing you the details of the certificate, click on the marker next to the details heading, and you should then be able to view all the details about the certificate that you created or bought. Once you are happy that this is your certificate you can then click on the Continue Neil Fryer 82
84 button to gain access to you HTTPS web site. Secure Configuration of Apache in the Mac OS X Environment Neil Fryer 83
85 Mitigation: enabled the system firewall. No host based firewall Mitigation: enabled the system firewall. No firewall logging Mitigation: enabled the system firewall logging feature. Unencrypted home directories Mitigation: Enabled FileVault. Automatic login enabled Secure Configuration of Apache in the Mac OS X Environment Risk Assessment The level of risk associated with this host now is considerably less than it was initially. If we look at the initial risks that we had earlier, and how they have now been mitigated, you can see that we now have a more secure host. Unnecessary ports listening Neil Fryer 84
86 Mitigation: disabled Automatic Login. System preferences not secured Mitigation: Enabled a screensaver password. Insecure swap space usage Mitigation: enabled secure system memory. No automated security updates Mitigation: enabled automatic updates. Core dumps enabled Mitigation: disabled core dumps. No Open Firmware/EFI password Secure Configuration of Apache in the Mac OS X Environment Mitigation: secured the important system preferences. No screensaver password Mitigation: Enabled the Open Firmware/EFI password. Neil Fryer 85
87 No login banners Mitigation: set login banners. Weak passwords Mitigation: used secure minimum length alphanumeric passphrases containing special characters. Default UMASK is insecure Mitigation: changed the default UMASK value. No file integrity checks Mitigation: installed Tripwire. No rootkit detection Mitigation: installed chkrootkit. Application level attacks (XSS, SQL injection, buffer overflows) Mitigation: installed mod_security. Neil Fryer 86
88 No HTTP encryption for sensitive data Mitigation: Enabled mod_ssl. Unnecessary Apache modules loaded Mitigation: Removed unnecessary Apache modules. Apache information leakage (version info, error messages, etc) Mitigation: configured Apache securely. We have reduced the vulnerabilities in our web server by configuring it in a secure manner; we cannot reduce the threat level due to the fact that a lot of web site attacks are automated, but in reducing the vulnerability of our web server, we have succeeded in reducing the level of risk that we now face. Neil Fryer 87
89 Conclusion Secure Configuration of Apache in the Mac OS X Environment This guide is intended to help anyone who is planning on running a production web server on an OS X host. We have covered securing OS X, enabling SSL for web transactions, enabling mod_security as a web application firewall, securing the Apache configuration and enabling and securing PHP on our host. This paper does not go into depth in areas such as where on your network to place your web server, or secure network architecture design. You can find out more on these topics from the following sources: Neil Fryer 88
90 Acronyms AES - Secure Configuration of Apache in the Mac OS X Environment Advanced Encryption Standard, also known as Rijndael CA - Certificate Authority DMZ - DOD - Demilitarized Zone Department Of Defense (U.S) EFI - Extensible Firmware Interface, found on Intel Macs GCC - The GNU Compiler Collection GUI - Graphical User Interface HFS - HTTP - HTTPS - Hierarchical File System Hyper Text Transfer Protocol Hyper Text Transfer Protocol Secure sockets IDS - Intrusion Detection System IP - Internet Protocol Neil Fryer 89
91 IPS - Intrusion Prevention System ISP - Internet Service Provider MP3 - Mpeg Layer 3 MPAA - Secure Configuration of Apache in the Mac OS X Environment Motion Picture Association of America OS - Operating System OSS - OS X - Operating System 10, Apple s current Operating System PHP - PPC - RIAA - SLP - SQL - SSL - Open Source Software Hypertext Preprocessor Power PC Recording Industry Association of America Service Location Protocol, used by OS X for Bonjour networking Structured Query Language Secure Sockets Layer Neil Fryer 90
92 URL - Secure Configuration of Apache in the Mac OS X Environment Uniform Resource Locator Neil Fryer 91
93 References Secure Configuration of Apache in the Mac OS X Environment Apple - Mac OS X - UNIX. Retrieved October 23, 2006, from Apple Web site: Apache Software Foundation. Retrieved October 23, 2006, from Apache software foundation Web site: About the Apache HTTP Server Project. Retrieved October 23, 2006, from Apache software foundation Web site: Apache Modules. Retrieved October 23, 2006, from Apache software foundation Web site: Apache httpd 1.3 vulnerabilities. Retrieved October 23, 2006, from Apache software foundation Web site: Search results. Retrieved October 23, 2006, from Common vulnerabilities and exposures Web site: Neil Fryer 92
94 Web server survey archives. Retrieved October 23, 2006, from Netcraft Web site: Google. Retrieved October 23, 2006, from Google Web site: The apache interface to OpenSSL. Retrieved October 23, 2006, from mod_ssl Web site: Key fingerprint Open source = AF19 web FA27 application 2F94 998D firewall. FDB5 DE3D Retrieved F8B5 06E4 October A169 4E46 23, 2006, from ModSecurity Web site: Hypertext Preprocessor. Retrieved October 23, 2006, from PHP Web site: The FreeBSD project. Retrieved October 23, 2006, from The FreeBSD Project Web site: (2006,7,6). Threats prompt Mac switch advice. Retrieved October 23, 2006, from BBC Web site: Neil Fryer 93
95 Burton, Richard (2002,5,3). Mac OS X command line 101. Retrieved October 23, 2006, from The Mac Observer Web site: Common vulnerabilities and exposures. Retrieved October 23, 2006, from CVE Web site: Home. Retrieved October 23, 2006, from Zone-H Web site: Digital attacks archive: today's verified attacks. Retrieved October 23, 2006, from Zone-H Web site: Digital attacks archive: Special Defacements. Retrieved October 23, 2006, from Zone-H Web site: Hickman, Peter (2005,03,15). Exploring the Mac OS X Firewall. Retrieved October 23, 2006, from MacDevCenter Web site: Neil Fryer 94
96 Hays, Bill (2005,8,23). Configuring IPFW firewalls on OS X. Retrieved October 23, 2006, from Ibiblio Web site: (2002,8,13). Manual page for IPFW(8). Retrieved October 23, 2006, from Apple Developer Connection Web site: tml Key fingerprint FileVault. = Retrieved AF19 FA27 October 2F94 998D 23, FDB5 2006, DE3D from F8B5 Apple 06E4 Web A169 site: 4E46 de Vries, Stephen (2005,8,19). Securing Mac OS X. Retrieved October 23, 2006, from Corsaire Web site: (2006). Mac OS X security configuration for version 10.4 or later. Retrieved October 23, 2006, from Apple Web site: Neil Fryer 95
97 Pelow, James (2005,3,6). Enabling Apple's supplied PHP in OS X 10.4 Tiger. Retrieved October 23, 2006, from PHPmac Web site: Pelow, James (2005,6,1). Installing mod_security on OSX 10.4 Tiger. Retrieved October 23, 2006, from Studi2f Web site: p Key fingerprint Modsecurity = AF19 (mod_security) FA27 2F94 998D - Open FDB5 DE3D Source F8B5 Web 06E4 Application A169 4E46Firewall. Retrieved November 12, 2006, from ModSecurity Web site: Download. Retrieved October 23, 2006, from ModSecurity Web site: Ristic, Ivan (2006,4,10). ModSecurity for Apache user guide. Retrieved October 23, 2006, from ModSecurity Web site: Neil Fryer 96
98 B4, Legacy (2004,12,1). How to create a secure (HTTPS) OS X webserver. Retrieved October 23, 2006, from MacOSXhints Web site: Security, communications and information services. Retrieved October 23, 2006, from Verisign Web site: Installation Instructions- Apache Server with modssl. Retrieved October 23, 2006, from Verisign Web site: = AF19 FA27 2F94 998D FDB5 DE3D F8B5 06E4 A169 4E46 Key fingerprint Thwate. Retrieved October 23, 2006, from Thwate Web site: Apache-SSL / Apache ModSSL Certificate installation instructions. Retrieved October 23, 2006, from Thwate Web site: Maj, Artur (2003,6,23). Securing PHP: Step-by-Step. Retrieved October 23, 2006, from Security Focus Web site: Neil Fryer 97
99 K, Chuck (2002,10,23). Removing the developer tools. Retrieved October 23, 2006, from Security Focus Web site: Maxwell, Doug (2006,4,19). Five-minutes to a more secure SSH. Retrieved October 23, 2006, from Geek Pit Web site: Key fingerprint Tridgell, Andrew = AF19 FA27 (2003,5,26). 2F94 998D Securing FDB5 DE3D Samba. F8B5 06E4 Retrieved A169 4E46 October 23, 2006, from Samba Web site: Firewall Configuration For OS X Retrieved October 23, 2006, from The University Of Melbourne Web site: Davisson, Gordon (2005). Mac OS X: What are all those processes. Retrieved October 23, 2006, from Westwind Computing Web site: Neil Fryer 98
100 X/background-processes.html frodo (2005,5,1). Tripwire on OS X. Retrieved October 24, 2006, from Macguru Web site: Chris (2006,1,30). Installing Tripwire on OS X using a.plist file. Retrieved October 24, 2006, from UMaine HPC Web site: OWASP Top Ten. Retrieved November 12, 2006, from OWASP Web site: GIAC security essentials certification (GSEC). Retrieved November 12, 2006, from Web site: Defence in depth - Wikipedia. Retrieved November 12, 2006, from Web site: Neil Fryer 99
101 (2005, 4, 25). Web server attacks 'growing fast'. Retrieved November 12, 2006, from Web site: Core Dump - Wikipedia. Retrieved November 12, 2006, from Wikipedia Web site: Rogers, Russ (1999,10,02). Security Horizon Computer and Network Security. Retrieved November 12, 2006, from Exploiting the FTP PASV vulnerability Web site: ICODES Web: DoD Login Banner. Retrieved November 12, 2006, from ICODES Web Web site: Guidelines For Developing A Sensible Password Policy. Retrieved November 12, 2006, from AUSCERT Web site: Maple, Ryan (2000, 6, 24). Using umask. Retrieved November 12, 2006, from Linux Security Web site: Neil Fryer 100
102 Rootkit - Wikipedia. Retrieved November 12, 2006, from Wikipedia Web site: (2005, 9, 20). About Disk Utility's Repair Disk Permissions feature. Retrieved November 12, 2006, from Apple Computers Web site: Neil Fryer 101
103 Last Updated: July 1st, 2016 Upcoming SANS Training Click Here for a full list of all Upcoming SANS Events by Location SANS London Summer 2016 London, GB Jul 09, Jul 18, 2016 Live Event SANS Rocky Mountain 2016 Denver, COUS Jul 11, Jul 16, 2016 Live Event SANS Minneapolis 2016 Minneapolis, MNUS Jul 18, Jul 23, 2016 Live Event SANS San Antonio 2016 San Antonio, TXUS Jul 18, Jul 23, 2016 Live Event SANS Delhi 2016 Delhi, IN Jul 18, Jul 30, 2016 Live Event SANS San Jose 2016 San Jose, CAUS Jul 25, Jul 30, 2016 Live Event Industrial Control Systems Security Training Houston, TXUS Jul 25, Jul 30, 2016 Live Event SANS Boston 2016 Boston, MAUS Aug 01, Aug 06, 2016 Live Event Security Awareness Summit & Training San Francisco, CAUS Aug 01, Aug 10, 2016 Live Event SANS Vienna Vienna, AT Aug 01, Aug 06, 2016 Live Event SANS Dallas 2016 Dallas, TXUS Aug 08, Aug 13, 2016 Live Event SANS Portland 2016 Portland, ORUS Aug 08, Aug 13, 2016 Live Event DEV531: Defending Mobile Apps San Francisco, CAUS Aug 08, Aug 09, 2016 Live Event DEV534: Secure DevOps San Francisco, CAUS Aug 10, Aug 11, 2016 Live Event Data Breach Summit Chicago, ILUS Aug 18, Aug 18, 2016 Live Event SANS Virginia Beach 2016 Virginia Beach, VAUS Aug 22, Sep 02, 2016 Live Event SANS Alaska 2016 Anchorage, AKUS Aug 22, Aug 27, 2016 Live Event SANS Bangalore 2016 Bangalore, IN Aug 22, Sep 03, 2016 Live Event SANS Chicago 2016 Chicago, ILUS Aug 22, Aug 27, 2016 Live Event SANS Adelaide 2016 Adelaide, AU Sep 05, Sep 10, 2016 Live Event SANS Brussels Autumn 2016 Brussels, BE Sep 05, Sep 10, 2016 Live Event SANS Northern Virginia - Crystal City 2016 Crystal City, VAUS Sep 06, Sep 11, 2016 Live Event SANS Network Security 2016 Las Vegas, NVUS Sep 10, Sep 19, 2016 Live Event SANS London Autumn London, GB Sep 19, Sep 24, 2016 Live Event SANS ICS London 2016 London, GB Sep 19, Sep 25, 2016 Live Event Security Leadership Summit Dallas, TXUS Sep 27, Oct 04, 2016 Live Event MGT433 at SANS London Summer 2016 OnlineGB Jul 07, Jul 08, 2016 Live Event SANS OnDemand Books & MP3s OnlyUS Anytime Self Paced
SecuritySpy Setting Up SecuritySpy Over SSL
SecuritySpy Setting Up SecuritySpy Over SSL Secure Sockets Layer (SSL) is a cryptographic protocol that provides secure communications on the internet. It uses two keys to encrypt data: a public key and
Security Workshop. Apache + SSL exercises in Ubuntu. 1 Install apache2 and enable SSL 2. 2 Generate a Local Certificate 2
Security Workshop Apache + SSL exercises in Ubuntu Contents 1 Install apache2 and enable SSL 2 2 Generate a Local Certificate 2 3 Configure Apache to use the new certificate 4 4 Verify that http and https
Exercises: FreeBSD: Apache and SSL: SANOG VI IP Services Workshop
Exercises Exercises: FreeBSD: Apache and SSL: SANOG VI IP Services Workshop July 18, 2005 1. 2. 3. 4. 5. Install Apache with SSL support Configure Apache to start at boot Verify that http and https (Apache)
Enterprise SSL Support
01 Enterprise SSL Support This document describes the setup of SSL (Secure Sockets Layer) over HTTP for Enterprise clients, servers and integrations. 1. Overview Since the release of Enterprise version
Sophos SafeGuard Native Device Encryption for Mac Administrator help. Product version: 7
Sophos SafeGuard Native Device Encryption for Mac Administrator help Product version: 7 Document date: December 2014 Contents 1 About SafeGuard Native Device Encryption for Mac...3 1.1 About this document...3
Virtual Private Network with OpenVPN
-COMP-016 Revision: 0 2005-02-03 Contact Author Institut de RadioAstronomie Millimétrique Virtual Private Network with OpenVPN Owner Sebastien Blanchet Keywords: VPN Owner Sebastien Blanchet ([email protected])
Best Practices in Hardening Apache Services under Linux
Best Practices in Hardening Apache Services under Linux Anthony Kent Web servers are attacked more frequently than anything else on the internet. Without the proper security measures it is just a matter
MassTransit 6.0 Enterprise Web Configuration for Macintosh OS 10.5 Server
MassTransit 6.0 Enterprise Web Configuration for Macintosh OS 10.5 Server November 6, 2008 Group Logic, Inc. 1100 North Glebe Road, Suite 800 Arlington, VA 22201 Phone: 703-528-1555 Fax: 703-528-3296 E-mail:
Addressing Application Layer Attacks with Mod Security
Addressing Application Layer Attacks with Mod Security This article sheds some light on some of the important concepts pertaining to Web Application Firewalls (WAF). We have also looked at the Mod_Security
10 steps to better secure your Mac laptop from physical data theft
10 steps to better secure your Mac laptop from physical data theft Executive summary: This paper describes changes Mac users can make to improve the physical security of their laptops, discussing the context
SSL Tunnels. Introduction
SSL Tunnels Introduction As you probably know, SSL protects data communications by encrypting all data exchanged between a client and a server using cryptographic algorithms. This makes it very difficult,
Generating and Installing SSL Certificates on the Cisco ISA500
Application Note Generating and Installing SSL Certificates on the Cisco ISA500 This application note describes how to generate and install SSL certificates on the Cisco ISA500 security appliance. It includes
Apple Server Diagnostics User Guide. For Version 3X106
Apple Server Diagnostics User Guide For Version 3X106 KKApple Inc. 2009 Apple Inc. All rights reserved. Under the copyright laws, this manual may not be copied, in whole or in part, without the written
Encrypted Connections
EMu Documentation Encrypted Connections Document Version 1 EMu Version 4.0.03 www.kesoftware.com 2010 KE Software. All rights reserved. Contents SECTION 1 Encrypted Connections 1 How it works 2 Requirements
Yealink Technical White Paper. Contents. About VPN... 3. Types of VPN Access... 3. VPN Technology... 3 Example Use of a VPN Tunnel...
1 Contents About... 3 Types of Access... 3 Technology... 3 Example Use of a Tunnel... 4 Yealink IP Phones Compatible with... 5 Installing the Open Server... 5 Installing the Open Server on the Linux Platform...
Recommended File System Ownership and Privileges
FOR MAGENTO COMMUNITY EDITION Whenever a patch is released to fix an issue in the code, a notice is sent directly to your Admin Inbox. If the update is security related, the incoming message is colorcoded
LAB :: Secure HTTP traffic using Secure Sockets Layer (SSL) Certificate
LAB :: Secure HTTP traffic using Secure Sockets Layer (SSL) Certificate In this example we are using apnictraining.net as domain name. # super user command. $ normal user command. X replace with your group
Network-Enabled Devices, AOS v.5.x.x. Content and Purpose of This Guide...1 User Management...2 Types of user accounts2
Contents Introduction--1 Content and Purpose of This Guide...........................1 User Management.........................................2 Types of user accounts2 Security--3 Security Features.........................................3
IS L06 Protect Servers and Defend Against APTs with Symantec Critical System Protection
IS L06 Protect Servers and Defend Against APTs with Symantec Critical System Protection Description Lab flow At the end of this lab, you should be able to Discover how to harness the power and capabilities
Unifying Information Security. Implementing TLS on the CLEARSWIFT SECURE Email Gateway
Unifying Information Security Implementing TLS on the CLEARSWIFT SECURE Email Gateway Contents 1 Introduction... 3 2 Understanding TLS... 4 3 Clearswift s Application of TLS... 5 3.1 Opportunistic TLS...
Windows Operating Systems. Basic Security
Windows Operating Systems Basic Security Objectives Explain Windows Operating System (OS) common configurations Recognize OS related threats Apply major steps in securing the OS Windows Operating System
Penetration Testing LAB Setup Guide
Penetration Testing LAB Setup Guide (Internal Attacker - Beginner version) By: magikh0e - [email protected] Last Edit: July 07 2012 This guide assumes a few things... 1. You have installed Backtrack before
How to: Install an SSL certificate
How to: Install an SSL certificate Introduction This document will talk you through the process of installing an SSL certificate on your server. Once you have approved the request for your certificate
Installing OptiRain Open on Macintosh OS X 10.6 (Snow Leopard)
QUICKSMART Installing OptiRain Open on Macintosh OS X 10.6 (Snow Leopard) QuickSmart Development P.O. Box 3689 Santa Clara, CA 95055 408-777-0944 www.quicksmart.com OptiRain Open provides local scheduling
APACHE HTTP SERVER 2.2.8
LEVEL 3 APACHEHTTP APACHE HTTP SERVER 2.2.8 HTTP://HTTPD.APACHE.ORG SUMMARY Apache HTTP Server is an open source web server application regarded as one of the most efficient, scalable, and feature-rich
GlobalSCAPE DMZ Gateway, v1. User Guide
GlobalSCAPE DMZ Gateway, v1 User Guide GlobalSCAPE, Inc. (GSB) Address: 4500 Lockhill-Selma Road, Suite 150 San Antonio, TX (USA) 78249 Sales: (210) 308-8267 Sales (Toll Free): (800) 290-5054 Technical
Linux Deployment Guide. How to deploy Network Shutdown Module for Linux
Linux Deployment Guide How to deploy Network Shutdown Module for Linux 1 Contents 2 Introduction... 4 3 To Prepare your System for Install... 4 3.1 RedHat 5.9 i386 Command... 4 3.2 RedHat 5.9 x86_64 Command...
User Guide. Version 3.2. Copyright 2002-2009 Snow Software AB. All rights reserved.
Version 3.2 User Guide Copyright 2002-2009 Snow Software AB. All rights reserved. This manual and computer program is protected by copyright law and international treaties. Unauthorized reproduction or
Installing an SSL certificate on the InfoVaultz Cloud Appliance
Installing an SSL certificate on the InfoVaultz Cloud Appliance This document reviews the prerequisites and installation of an SSL certificate for the InfoVaultz Cloud Appliance. Please note that the installation
e-cert (Server) User Guide For Apache Web Server
e-cert (Server) User Guide For Apache Web Server Revision Date: Sep 2015 Table of Content A. Guidelines for e-cert (Server) Applicant... 2 B. Generating Certificate Signing Request (CSR)... 3 C. Submitting
Secure Web Application Coding Team Introductory Meeting December 1, 2005 1:00 2:00PM Bits & Pieces Room, Sansom West Room 306 Agenda
Secure Web Application Coding Team Introductory Meeting December 1, 2005 1:00 2:00PM Bits & Pieces Room, Sansom West Room 306 Agenda 1. Introductions for new members (5 minutes) 2. Name of group 3. Current
LAMP Secure Web Hosting. A.J. Newmaster & Matt Payne 8/10/2005
LAMP Secure Web Hosting A.J. Newmaster & Matt Payne 8/10/2005 How do I lock down my server? & ModSecurity is an open source intrusion detection and prevention engine for web applications. Operating as
Setting Up SSL on IIS6 for MEGA Advisor
Setting Up SSL on IIS6 for MEGA Advisor Revised: July 5, 2012 Created: February 1, 2008 Author: Melinda BODROGI CONTENTS Contents... 2 Principle... 3 Requirements... 4 Install the certification authority
Xserve Apple Xserve Diagnostics User Guide. For Version 3X104
Xserve Apple Xserve Diagnostics User Guide For Version 3X104 KKApple Inc. 2009 Apple Inc. All rights reserved. Under the copyright laws, this manual may not be copied, in whole or in part, without the
RecoveryVault Express Client User Manual
For Linux distributions Software version 4.1.7 Version 2.0 Disclaimer This document is compiled with the greatest possible care. However, errors might have been introduced caused by human mistakes or by
LAB :: Secure HTTP traffic using Secure Sockets Layer (SSL) Certificate
LAB :: Secure HTTP traffic using Secure Sockets Layer (SSL) Certificate In this example we are using df-h.net as domain name. # super user command. $ normal user command. X replace with your group no.
Instructions for Adding a MacOS 10.4.x Server to ASURITE for File Sharing. Installation Section
Instructions for Adding a MacOS 10.4.x Server to ASURITE for File Sharing Installation Section Purpose: We are setting up a server in ASU s specific environment. Power on the Server Insert the CD Hold
YubiKey OSX Login. yubico. Via Yubico-PAM Challenge-Response. Version 1.6. October 24, 2015
YubiKey OSX Login Via Yubico-PAM Challenge-Response Version 1.6 October 24, 2015 YubiKey OSX Login 2015 Yubico. All rights reserved. Page 1 of 18 About Yubico Disclaimer As the inventors of the YubiKey,
Administering FileVault 2 on OS X Lion with the Casper Suite. Technical Paper July 2012
Administering FileVault 2 on OS X Lion with the Casper Suite Technical Paper July 2012 JAMF Software, LLC 2012 JAMF Software, LLC. All rights reserved. JAMF Software has made all efforts to ensure that
Basic Setup Guide. Remote Administrator 4 NOD32 Antivirus 4 Business Edition Smart Security 4 Business Edition
Basic Setup Guide Remote Administrator 4 NOD32 Antivirus 4 Business Edition Smart Security 4 Business Edition Contents Getting started...1 Software components...1 Section 1: Purchasing and downloading
NSi Mobile Installation Guide. Version 6.2
NSi Mobile Installation Guide Version 6.2 Revision History Version Date 1.0 October 2, 2012 2.0 September 18, 2013 2 CONTENTS TABLE OF CONTENTS PREFACE... 5 Purpose of this Document... 5 Version Compatibility...
Team Foundation Server 2013 Installation Guide
Team Foundation Server 2013 Installation Guide Page 1 of 164 Team Foundation Server 2013 Installation Guide Benjamin Day [email protected] v1.1.0 May 28, 2014 Team Foundation Server 2013 Installation Guide
This chapter describes how to set up and manage VPN service in Mac OS X Server.
6 Working with VPN Service 6 This chapter describes how to set up and manage VPN service in Mac OS X Server. By configuring a Virtual Private Network (VPN) on your server you can give users a more secure
Getting Started with Dynamic Web Sites
PHP Tutorial 1 Getting Started with Dynamic Web Sites Setting Up Your Computer To follow this tutorial, you ll need to have PHP, MySQL and a Web server up and running on your computer. This will be your
Security Advice for Instances in the HP Cloud
Security Advice for Instances in the HP Cloud Introduction: HPCS protects the infrastructure and management services offered to customers including instance provisioning. An instance refers to a virtual
Penetration Testing LAB Setup Guide
Penetration Testing LAB Setup Guide (External Attacker - Intermediate) By: magikh0e - [email protected] Last Edit: July 06 2012 This guide assumes a few things... 1. You have read the basic guide of this
Online Backup Client User Manual
For Mac OS X Software version 4.1.7 Version 2.2 Disclaimer This document is compiled with the greatest possible care. However, errors might have been introduced caused by human mistakes or by other means.
Virtual Appliance for VMware Server. Getting Started Guide. Revision 2.0.2. Warning and Disclaimer
Virtual Appliance for VMware Server Getting Started Guide Revision 2.0.2 Warning and Disclaimer This document is designed to provide information about the configuration and installation of the CensorNet
Securing Web Access with a Private Certificate Authority
Securing Web Access with a Private Certificate Authority Presented by Paul Weinstein, Waubonsie Consulting, ApacheCon US 2002 November 20, 2002 Paul Weinstein -
Online Backup Client User Manual
For Linux distributions Software version 4.1.7 Version 2.0 Disclaimer This document is compiled with the greatest possible care. However, errors might have been introduced caused by human mistakes or by
Online Backup Linux Client User Manual
Online Backup Linux Client User Manual Software version 4.0.x For Linux distributions August 2011 Version 1.0 Disclaimer This document is compiled with the greatest possible care. However, errors might
1. Product Information
ORIXCLOUD BACKUP CLIENT USER MANUAL LINUX 1. Product Information Product: Orixcloud Backup Client for Linux Version: 4.1.7 1.1 System Requirements Linux (RedHat, SuSE, Debian and Debian based systems such
Introduction to Operating Systems
Introduction to Operating Systems It is important that you familiarize yourself with Windows and Linux in preparation for this course. The exercises in this book assume a basic knowledge of both of these
How to generate SSL certificates for use with a KVM box & XViewer with XCA v0.9.3
How to generate SSL certificates for use with a KVM box & XViewer with XCA v0.9.3 Written by Michael Lackner aka Grand Admiral Thrawn http://wp.xin.at/the-xviewer-project irc://www.xin.at:6666 #guests
Online Backup Client User Manual Linux
Online Backup Client User Manual Linux 1. Product Information Product: Online Backup Client for Linux Version: 4.1.7 1.1 System Requirements Operating System Linux (RedHat, SuSE, Debian and Debian based
User s guide. APACHE 2.0 + SSL Linux. Using non-qualified certificates with APACHE 2.0 + SSL Linux. version 1.3 UNIZETO TECHNOLOGIES S.A.
User s guide APACHE 2.0 + SSL Linux Using non-qualified certificates with APACHE 2.0 + SSL Linux version 1.3 Table of contents 1. PREFACE... 3 2. GENERATING CERTIFICATE... 3 2.1. GENERATING REQUEST FOR
Installation of PHP, MariaDB, and Apache
Installation of PHP, MariaDB, and Apache A few years ago, one would have had to walk over to the closest pizza store to order a pizza, go over to the bank to transfer money from one account to another
Online Backup Client User Manual
Online Backup Client User Manual Software version 3.21 For Linux distributions January 2011 Version 2.0 Disclaimer This document is compiled with the greatest possible care. However, errors might have
APNS Certificate generating and installation
APNS Certificate generating and installation Quick Guide for generating and installing an Apple APNS Certificate Version: x.x MobiDM Quick Guide for APNS Certificate Page 1 Index 1. APPLE APNS CERTIFICATE...
Working Together - Your Apple Mac and Microsoft Windows
Contains information about complex concepts and /or requires technical knowledge to get the most out of the article. Aimed at the more experienced / ambitious ICT manager or accidental techie. Working
Smart Card Setup Guide
Smart Card Setup Guide K Apple Computer, Inc. 2006 Apple Computer, Inc. All rights reserved. Under the copyright laws, this manual may not be copied, in whole or in part, without the written consent of
Apache, SSL and Digital Signatures Using FreeBSD
Apache, SSL and Digital Signatures Using FreeBSD AfNOG 2007 Unix System Administration April 26, 2007 Hervey Allen Network Startup Resource Center Some SSL background Invented by Netscape for secure commerce.
Enterprise Remote Control 5.6 Manual
Enterprise Remote Control 5.6 Manual Solutions for Network Administrators Copyright 2015, IntelliAdmin, LLC Revision 3/26/2015 http://www.intelliadmin.com Page 1 Table of Contents What is Enterprise Remote
How to enable Disk Encryption on a laptop
How to enable Disk Encryption on a laptop Skills and pre-requisites Intermediate IT skills required. You need to: have access to, and know how to change settings in the BIOS be confident that your data
INSTALLATION AND CONFIGURATION GUIDE (THIS DOCUMENT RELATES TO MDAEMON v15.5.0 ONWARDS)
Web: Overview INSTALLATION AND CONFIGURATION GUIDE (THIS DOCUMENT RELATES TO MDAEMON v15.5.0 ONWARDS) This document provides an installation and configuration guide for MDaemon Messaging Server along with
ViMP 3.0. SSL Configuration in Apache 2.2. Author: ViMP GmbH
ViMP 3.0 SSL Configuration in Apache 2.2 Author: ViMP GmbH Table of Contents Requirements...3 Create your own certificates with OpenSSL...4 Generate a self-signed certificate...4 Generate a certificate
Synchronizer Installation
Synchronizer Installation Synchronizer Installation Synchronizer Installation This document provides instructions for installing Synchronizer. Synchronizer performs all the administrative tasks for XenClient
Table of Contents. CHAPTER 1 About This Guide... 9. CHAPTER 2 Introduction... 11. CHAPTER 3 Database Backup and Restoration... 15
Table of Contents CHAPTER 1 About This Guide......................... 9 The Installation Guides....................................... 10 CHAPTER 2 Introduction............................ 11 Required
Online Backup Client User Manual Mac OS
Online Backup Client User Manual Mac OS 1. Product Information Product: Online Backup Client for Mac OS X Version: 4.1.7 1.1 System Requirements Operating System Mac OS X Leopard (10.5.0 and higher) (PPC
Online Backup Client User Manual Mac OS
Online Backup Client User Manual Mac OS 1. Product Information Product: Online Backup Client for Mac OS X Version: 4.1.7 1.1 System Requirements Operating System Mac OS X Leopard (10.5.0 and higher) (PPC
How To Use 1Bay 1Bay From Awn.Net On A Pc Or Mac Or Ipad (For Pc Or Ipa) With A Network Box (For Mac) With An Ipad Or Ipod (For Ipad) With The
1-bay NAS User Guide INDEX Index... 1 Log in... 2 Basic - Quick Setup... 3 Wizard... 3 Add User... 6 Add Group... 7 Add Share... 9 Control Panel... 11 Control Panel - User and groups... 12 Group Management...
QuickStart Guide for Managing Computers. Version 9.2
QuickStart Guide for Managing Computers Version 9.2 JAMF Software, LLC 2013 JAMF Software, LLC. All rights reserved. JAMF Software has made all efforts to ensure that this guide is accurate. JAMF Software
Team Foundation Server 2010, Visual Studio Ultimate 2010, Team Build 2010, & Lab Management Beta 2 Installation Guide
Page 1 of 243 Team Foundation Server 2010, Visual Studio Ultimate 2010, Team Build 2010, & Lab Management Beta 2 Installation Guide (This is an alpha version of Benjamin Day Consulting, Inc. s installation
Apache Security with SSL Using Ubuntu
Apache Security with SSL Using Ubuntu These materials are licensed under the Creative Commons Attribution-Noncommercial 3.0 Unported license (http://creativecommons.org/licenses/by-nc/3.0/) Some SSL background
GoldKey Software. User s Manual. Revision 7.12. WideBand Corporation www.goldkey.com. Copyright 2007-2014 WideBand Corporation. All Rights Reserved.
GoldKey Software User s Manual Revision 7.12 WideBand Corporation www.goldkey.com 1 Table of Contents GoldKey Installation and Quick Start... 5 Initial Personalization... 5 Creating a Primary Secure Drive...
Running a Default Vulnerability Scan SAINTcorporation.com
SAINT Running a Default Vulnerability Scan A Step-by-Step Guide www.saintcorporation.com Examine. Expose. Exploit. Install SAINT Welcome to SAINT! Congratulations on a smart choice by selecting SAINT s
Configuring Secure Socket Layer (SSL)
7 Configuring Secure Socket Layer (SSL) Contents Overview...................................................... 7-2 Terminology................................................... 7-3 Prerequisite for Using
To enable https for appliance
To enable https for appliance We have used openssl command to generate a key pair. The below image shows on how to generate key using the openssl command. SSH into appliance and login as root. Copy all
This section describes how to use SSL Certificates with SOA Gateway running on Linux.
This section describes how to use with SOA Gateway running on Linux. Setup Introduction Step 1: Set up your own CA Step 2: SOA Gateway Server key and certificate Server Configuration Setup To enable the
Reboot the ExtraHop System and Test Hardware with the Rescue USB Flash Drive
Reboot the ExtraHop System and Test Hardware with the Rescue USB Flash Drive This guide explains how to create and use a Rescue USB flash drive to reinstall and recover the ExtraHop system. When booting
RFG Secure FTP. Web Interface
RFG Secure FTP Web Interface Step 1: Getting to the Secure FTP Web Interface: Open your preferred web browser and type the following address: http://ftp.raddon.com After you hit enter, you will be taken
Secure Web Development Teaching Modules 1. Security Testing. 1.1 Security Practices for Software Verification
Secure Web Development Teaching Modules 1 Security Testing Contents 1 Concepts... 1 1.1 Security Practices for Software Verification... 1 1.2 Software Security Testing... 2 2 Labs Objectives... 2 3 Lab
FOG Guide. IPBRICK International. July 17, 2013
FOG Guide IPBRICK International July 17, 2013 1 Copyright c IPBRICK International All rights reserved. The information in this manual is subject to change without prior notice. The presented explanations,
Portions of this product were created using LEADTOOLS 1991-2009 LEAD Technologies, Inc. ALL RIGHTS RESERVED.
Installation Guide Lenel OnGuard 2009 Installation Guide, product version 6.3. This guide is item number DOC-110, revision 1.038, May 2009 Copyright 1992-2009 Lenel Systems International, Inc. Information
How To Harden Ancient Mac Xp On Mac Moonlight 2.5.2 (Mac) On A Macbook V.Xo (Apple) With A Hardening Mode On A Windows Xp 2.4.2.2 On A
OS X Hardening Mountain Lion 10.8 Version: 1.00 Date: 8/2/2013 Classification: Author(s): Public Florian Grunow, Matthias Luft, Michael Thumann, Michael Schaefer TABLE OF CONTENT 1 INTRODUCTION... 4 2
2X SecureRemoteDesktop. Version 1.1
2X SecureRemoteDesktop Version 1.1 Website: www.2x.com Email: [email protected] Information in this document is subject to change without notice. Companies, names, and data used in examples herein are fictitious
EMC Data Protection Search
EMC Data Protection Search Version 1.0 Security Configuration Guide 302-001-611 REV 01 Copyright 2014-2015 EMC Corporation. All rights reserved. Published in USA. Published April 20, 2015 EMC believes
Cloud Services. Introduction...2 Overview...2. Security considerations... 2. Installation...3 Server Configuration...4
Contents Introduction...2 Overview...2 Security considerations... 2 Installation...3 Server Configuration...4 Management Client Connection...4 General Settings... 4 Enterprise Architect Client Connection
User Manual. Onsight Management Suite Version 5.1. Another Innovation by Librestream
User Manual Onsight Management Suite Version 5.1 Another Innovation by Librestream Doc #: 400075-06 May 2012 Information in this document is subject to change without notice. Reproduction in any manner
Server Security. Contents. Is Rumpus Secure? 2. Use Care When Creating User Accounts 2. Managing Passwords 3. Watch Out For Aliases 4
Contents Is Rumpus Secure? 2 Use Care When Creating User Accounts 2 Managing Passwords 3 Watch Out For Aliases 4 Deploy A Firewall 5 Minimize Running Applications And Processes 5 Manage Physical Access
SecureDoc for Mac v6.1. User Manual
SecureDoc for Mac v6.1 User Manual Copyright 1997-2012 by WinMagic Inc. All rights reserved. Printed in Canada Many products, software and technologies are subject to export control for both Canada and
Take Your Mac OS X Security to NSA Standards June 19, 2014 by Larry Chafin
Take Your Mac OS X Security to NSA Standards June 19, 2014 by Larry Chafin Forword While doing research for another article, I came across NSA s security setup for Mac OS X. No, the information gained
Spector 360 Deployment Guide. Version 7.3 January 3, 2012
Spector 360 Deployment Guide Version 7.3 January 3, 2012 Table of Contents Deploy to All Computers... 48 Step 1: Deploy the Servers... 5 Recorder Requirements... 52 Requirements... 5 Control Center Server
ScoMIS Encryption Service
Introduction This guide explains how to implement the ScoMIS Encryption Service for a secondary school. We recommend that the software should be installed onto the laptop by ICT staff; they will then spend
White Paper. Installation and Configuration of Fabasoft Folio IMAP Service. Fabasoft Folio 2015 Update Rollup 3
White Paper Fabasoft Folio 2015 Update Rollup 3 Copyright Fabasoft R&D GmbH, Linz, Austria, 2016. All rights reserved. All hardware and software names used are registered trade names and/or registered
RemotelyAnywhere. Security Considerations
RemotelyAnywhere Security Considerations Table of Contents Introduction... 3 Microsoft Windows... 3 Default Configuration... 3 Unused Services... 3 Incoming Connections... 4 Default Port Numbers... 4 IP
EventTracker Windows syslog User Guide
EventTracker Windows syslog User Guide Publication Date: September 16, 2011 EventTracker 8815 Centre Park Drive Columbia MD 21045 www.eventtracker.com Introduction This document is prepared to help user(s)
Cloud Backup Express
Cloud Backup Express Table of Contents Installation and Configuration Workflow for RFCBx... 3 Cloud Management Console Installation Guide for Windows... 4 1: Run the Installer... 4 2: Choose Your Language...
Running a Default Vulnerability Scan
Running a Default Vulnerability Scan A Step-by-Step Guide www.saintcorporation.com Examine. Expose. Exploit. Welcome to SAINT! Congratulations on a smart choice by selecting SAINT s integrated vulnerability
