Security Design in Avaya Aura Presence Services Release 5.2 Issue 1 November 2009 © 2009 Avaya Inc. All Rights Reserved. Notice While reasonable efforts were made to ensure that the information in this document was complete and accurate at the time of printing, Avaya Inc. can assume no liability for any errors. Changes and corrections to the information in this document may be incorporated in future releases. For full legal page information, please see the complete document, Avaya Legal Page for Hardware Documentation, Document number 03-600759. To locate this document on our website, simply go to http://www.avaya.com/support and search for the document number in the search box. Documentation disclaimer Avaya Inc. is not responsible for any modifications, additions, or deletions to the original published version of this documentation unless such modifications, additions, or deletions were performed by Avaya. Customer and/or End User agree to indemnify and hold harmless Avaya, Avaya's agents, servants and employees against all claims, lawsuits, demands and judgments arising out of, or in connection with, subsequent modifications, additions or deletions to this documentation to the extent made by the Customer or End User. Link disclaimer Avaya Inc. is not responsible for the contents or reliability of any linked Web sites referenced elsewhere within this documentation, and Avaya does not necessarily endorse the products, services, or information described or offered within them. We cannot guarantee that these links will work all of the time and we have no control over the availability of the linked pages. Warranty Avaya Inc. provides a limited warranty on this product. Refer to your sales agreement to establish the terms of the limited warranty. In addition, Avaya’s standard warranty language, as well as information regarding support for this product, while under warranty, is available through the following Web site: http://www.avaya.com/support Copyright Except where expressly stated otherwise, the Product is protected by copyright and other laws respecting proprietary rights. Unauthorized reproduction, transfer, and or use can be a criminal, as well as a civil, offense under the applicable law. Avaya support Avaya provides a telephone number for you to use to report problems or to ask questions about your product. The support telephone number is 1-800-242-2121 in the United States. For additional support telephone numbers, see the Avaya Web site: http://www.avaya.com/support Contents Introduction ........................................................................................................... 5 Security Architecture ............................................................................................. 5 Firewall ................................................................................................................. 5 Controlling the Firewall on Presence Services Solution .................................... 7 Monitoring Software .............................................................................................. 7 Network Access .................................................................................................... 8 Logins and Passwords .......................................................................................... 8 XCP Controller .................................................................................................. 8 Internal Unprivileged Linux Accounts ................................................................ 9 Session Inactivity, Audit Trails and Account Lockouts ........................................ 10 SIP Stack Protection ........................................................................................... 11 Linux Installation and Software ........................................................................... 11 Vulnerability Tracking.......................................................................................... 11 APPENDICES ..................................................................................................... 13 APPENDIX A – Linux PAM Configuration ....................................................... 14 APPENDIX B – Inactivity timeouts .................................................................. 17 APPENDIX C – Firewall Commands ............................................................... 18 Modifying the Firewall .................................................................................. 18 Listing the rules of the Firewall .................................................................... 18 Starting the Firewall ..................................................................................... 18 Stopping the Firewall ................................................................................... 18 Restarting the Firewall ................................................................................. 18 Allowing access to a port in the Firewall ...................................................... 18 Disabling access to a port in the Firewall ..................................................... 19 APPENDIX D – Warning banners / Disclaimers .............................................. 20 Introduction Avaya Aura Presence Services 5.2 comes pre-packaged with several security features and packages. This document describes the security features and outlines the security guidelines that are recommended for securing Presence Services against known vulnerabilities and attacks. Since this is a software-only solution, the customer is primarily responsible for the security of the server. Security Architecture Microsoft Office Communications Server (Edge) TCP[5061 (default)] XMPP Server (Federation) TCP [5269] (default) HTTP(s) [80,443,7300] Administration Console Presence Services UDP[161] TCP[3268] (default) TCP [22] Shell Terminal Active Directory Figure 1: Interaction of Presence Services with support configuration Firewall Firewall software provides protection to a server from the network. RedHat Linux 5.x comes with firewall software called iptables. It controls the network packet filtering code in the Linux kernel. Release 5.2 Issue 1 Decemeber 2009 5 We strongly recommend turning on the firewall software on the server that hosts the Presence Services solution. The firewall software should be configured to open only those ports that are absolutely required. Presence Services uses the following ports by default. Where appropriate, ports only accessible via the local loopback interface are marked as “Local Only”. For “Local Only”, Presence Services components are connecting to other internal Presence Services components using these ports, these ports are randomly chosen based on the ports available. For “Inbound” ports, an entity external to Presence Services is initiating the connection. For the application protocols, this will be a client application. For “Outbound” ports i.e. connection to OCS Edge server, Presence Services will initiate the connection setup. Port Used For Protocol Direction 7400 Presence Services Core tcp Inbound & Outbound 5432, 53418[Local Only] Postgres DB tcp Inbound 5353 XCP Controller udp Inbound 7300 XCP Controller tcp Inbound 5222 XCP Controller tcp Inbound 5223 XCP Controller tcp Inbound 68 DHCP tcp Inbound 22 SSH (and SFTP and tcp SCP) Inbound 123 NTP tcp Outbound 2812 Monit tcp Inbound 32000[Local Only], 48859[Local Only], 31003 [Local Only] SAL Agent tcp Outbound 32777[Local Only], 10162 SAL Agent udp Outbound 3268 Active Directory tcp Outbound Release 5.2 Issue 1 Decemeber 2009 6 Port Used For Protocol Direction tcp Inbound connector (optional) 5269 Server-to-Server Controlling the Firewall on Presence Services Solution It is possible to control the communication access [through ports] to Presence Services through firewall. Presence Services has implemented the firewall using the Red Hat Linux iptables package. The firewall is always on by default. Monitoring Software It is strongly recommended to install intrusion detection and monitoring software on the Presence Services machine. Tripwire is installed on the Presence Services machine but only monitors a small number of files by default. There are other software packages available like SNORT, etc. It is also strongly recommended to configure the Linux bash shell to log all shell command activity to Linux system logs. Release 5.2 Issue 1 Decemeber 2009 7 Network Access It is recommended to disable telnet, ftp, rsync, rsh, finger and chargen as these network programs are insecure. These network programs will send out user name and password in clear text. Instead we recommend the use of SSH, SFTP and SCP for remote access to Presence Services machine. To disable telnet and the other services listed above use the chkconfig command. Logins and Passwords XCP Controller The XCP controller (Presence Component Configuration) pages are used to administer the presence components running in the system. (e.g. Active Directory Component) The XCP controller web-pages require login authentication from the Linux platform where xcp-auth is the name of the service in pam.d that is used for authentication. /etc/pam.d/xcp-auth by default comes with permissions for cust and craft users to login to the XCP controller. Account Group Name Default Purpose Password Password Naming Policy Password Change Policy cust susers Yes For customer use At least 6 chars, no dictionary words or palindromes. By default, password changes are not required. Password should be changed by Avaya Technician or by the customer during installation and periodically there after. See Appendix A for recommendations on configuring Linux to enforce a password change policy for cust account. craft susers Yes For Avaya Technician use At least 6 chars, no dictionary words or Will be changed by (Password Change System) PCS periodically Release 5.2 Issue 1 Decemeber 2009 8 Account Group Name Default Purpose Password Password Naming Policy Password Change Policy palindromes. Internal Unprivileged Linux Accounts For security reasons, services on the Presence Services machine run as unprivileged Linux users. Direct access to these unprivileged accounts is disabled, however the services run as the unprivileged user and thus only have access to what the unprivileged user has permissions for. Examples of these internal unprivileged accounts include monit(used by core process monitoring tool), spirit (used for the SAL Agent) and postgres (used by Postgres database). Account Name Group Default Purpose Password Password Naming Policy sroot root Yes For login At least 6 Will be changed by chars, no PCS periodically dictionary words or palindromes. monit monit Yes Service monitor user At least 6 chars, no dictionary words or palindromes. By default, password changes are not required. See Appendix A for recommendations on configuring Linux to enforce a password change policy for cust account. postgres postgres Yes PostgresQL Database user At least 6 chars, no dictionary words or palindromes. By default, password changes are not required. See Appendix A for recommendations on configuring Linux to enforce a password change policy for Release 5.2 Password Change Policy Issue 1 Decemeber 2009 9 cust account. jabber jroot Yes Presence component and log-harvester user At least 6 chars, no dictionary words or palindromes. By default, password changes are not required. See Appendix A for recommendations on configuring Linux to enforce a password change policy for cust account. spirit Spirit No SAL Agent user At least 6 chars, no dictionary words or palindromes. By default, password changes are not required. See Appendix A for recommendations on configuring Linux to enforce a password change policy for cust account. Session Inactivity, Audit Trails and Account Lockouts Inactivity timeouts are recommended for users logged into a Linux shell via SSH. The following table summarizes the recommended inactivity timeouts for these connections. Service Name Session Inactivity Customizable SSH (shell) No (default = 30 minutes) Yes (requires root access) See Appendix B for details on modifying the default timeout values. It is recommended to configure the bash RPM on the Presence Services machine to log all shell command activity to Linux system logs in /var/log/messages. This includes login attempts (success and failure) and any command that is typed by a user or invoked by any software within the Presence Release 5.2 Issue 1 Decemeber 2009 10 Services machine. This provides an audit trail for all shell activity. Access to these audit trails or logs is restricted only to root or super user privileged logins. Service Name Audit Trail SSH (shell) Yes, in /var/log/messages Presence Server Configuration Yes, in /var/log/presence Currently the services do not perform account lockouts in the event of consecutive failed login attempts. Appendix A provides details on configuring Linux to perform account lockouts for Linux accounts after a certain number of successive failures. SIP Stack Protection Presence Services 5.2 employs SIP stacks that protect against malformed SIP packets and DOS attacks. They handle DOS attacks at kernel level. Linux Installation and Software See Installation guide for software requirements for Presence Services 5.2. We recommend that a minimum installation be performed while installing Linux. This will ensure only the minimum software RPMs [Red Hat Package Manager] for Linux are installed which will greatly lessen security risks. Thus an onionlayer security is provided by the OS, firewall, Intrusion Detection System, SIP Stack Protection and TLS/SSL [secure web pages through HTTPS]. The server itself is recommended to be placed in a physically restricted area by following standard data-center practices. Vulnerability Tracking Avaya's support organization provides security advisories for its products and notifies when Avaya products are susceptible to vulnerabilities in third-party software, such as Red Hat Enterprise Linux and Postgres. To sign up for advisory notification, please go to http://support.avaya.com and navigate to "Feeds and Notifications" -> "Avaya E-Notifications". For more detail on Avaya tracking policies and practices, please see: Avaya's Product Security Vulnerability Response Policy Release 5.2 Issue 1 Decemeber 2009 11 http://support.avaya.com/elmodocs2/security/security_vulnerability_response.pdf Avaya's Security Vulnerability Classification Policy http://support.avaya.com/elmodocs2/security/security_vulnerability_classification. pdf Release 5.2 Issue 1 Decemeber 2009 12 APPENDICES These following appendices outline some potential options for configuration changes that may help make the Presence Services machine more secure. These configuration changes require root access and would typically need to be performed by an Avaya Services technician running as root or sroot. There are three areas that are covered: 1) Linux PAM configuration for enhanced password management 2) Configuration options for changing inactivity timeouts for shell 3) Customizing SSH warning banners Release 5.2 Issue 1 Decemeber 2009 13 APPENDIX A – Linux PAM Configuration This section provides details on how Linux may be configured to ensure stronger password policies for customer accounts on Presence Services solution. Passwords are encrypted with standard inbuilt MD5 algorithm of RHEL 5. 1) It should be noted that the recommendations for forcing password changes on 1st login, forcing periodic password changes and locking out accounts after certain periods of inactivity should not be applied to the Avaya Services accounts (craft and sroot) since Avaya Services already implement a policy for these accounts. In addition, internal unprivileged accounts (like apache, monit etc) which are not directly logged into, should not have policies set for them. 2) Forcing a password change for cust account on 1st login (via SSH). In order to do this issue the following command (as sroot) chage –d 0 cust 3) Forcing periodic password changes on account cust. For instance to force a password change every 60 days do the following: chage –M 60 cust By default the user will see warnings 7 days prior to their password expiring. The warnings are seen when logging in via SSH. 4) To lockout an account after a period of inactivity (after their password has expired). For instance to lockout cust account if there are 14 days of inactivity after the password expired: chage –I 14 cust 5) To provide more precise password naming rules, the /etc/pam.d/system-auth files needs to be updated. For instance to ensure the minimum password policy meets a 1 digit, 1 lowercase character, minimum length of 6 chars, modify the cracklib line as follows: password required /lib/security/$ISA/pam_cracklib.so retry=3 minlen=6 dcredit=-1 lcredit=-1 It should be noted that stricter policies other than this one should not be enforced otherwise it might cause passwords generated by the Avaya Service’s Password Change System (for craft and sroot) to fail. 6) To lock out an account after a certain number of failed login attempts. Again this requires modification to the /etc/pam.d/system-auth file. Add/update the following (highlighted lines) to the system-auth file. Release 5.2 Issue 1 Decemeber 2009 14 auth required /lib/security/$ISA/pam_env.so auth required /lib/security/$ISA/pam_tally.so onerr=fail no_magic_root auth sufficient /lib/security/$ISA/pam_unix.so likeauth nullok auth required /lib/security/$ISA/pam_deny.so account required account required no_magic_root reset /lib/security/$ISA/pam_unix.so /lib/security/$ISA/pam_tally.so per_user deny=5 password required dcredit=-1 lcredit=-1 /lib/security/$ISA/pam_cracklib.so retry=3 minlen=6 password shadow sufficient /lib/security/$ISA/pam_unix.so nullok use_authtok md5 password required /lib/security/$ISA/pam_deny.so session required /lib/security/$ISA/pam_limits.so session required /lib/security/$ISA/pam_unix.so This will cause an account to be locked out after 5 consecutive failed login attempts. To check for locked out accounts run “faillog”. It’s possible we want to have certain accounts that are not locked out (like craft and sroot for instance). To do this use the following: faillog –u craft –M -1 faillog –u sroot –M -1 Remembering password history. Release 5.2 Issue 1 Decemeber 2009 15 To allow the system to remember password history (so that passwords can’t be re-used), you must again edit the /etc/pam.d/system-auth file. Edit the password line for pam_unix and add/update the remember attribute. password sufficient /lib/security/$ISA/pam_unix.so nullok use_authtok md5 shadow remember=10 NOTE: If the /etc/security/opasswd doesn't exist, create the file. # ls -l /etc/security/opasswd -rw------- 1 root root 0 Dec 8 06:54 /etc/security/opasswd In the example above, the system will remember the last 10 passwords for each user, so they can't be reused. Release 5.2 Issue 1 Decemeber 2009 16 APPENDIX B – Inactivity timeouts Sometimes customers may have requirements for lower timeouts or timeouts for Secure Shell. The following shows how these inactivity timeouts can be modified. To modify the bash shell inactivity timeout, do the following: 1) cd /etc/profile.d 2) Edit setpres.sh 3) Add TMOUT value. This value is seconds. The entry will look like export TMOUT=1800 to change to 15 minutes for example do the following: export TMOUT=900 Changes will take effect for all subsequent shell logins Release 5.2 Issue 1 Decemeber 2009 17 APPENDIX C – Firewall Commands Modifying the Firewall In some instances a customer or Avaya technician would want to change the port filtering (port or port ranges) on the Firewall. This can be done by using various options available through the iptables command. By default, the firewall is automatically started when the Bundled system boots up. The default rules that are implemented by the firewall are in /etc/init.d/iptables. For all commands below, SSH into the Presence Services machine first with root level access. Listing the rules of the Firewall Use the following command: iptables --list --line-number --numeric This will list all the firewall rules including the Rule Numbers. There are three chains (table) for which rules will be listed. INPUT - for incoming connections/packets OUTPUT - for outgoing connections/packets FORWARD - for forwarding packets from one host to another Starting the Firewall To start the firewall: service iptables start Stopping the Firewall Use the following command: service iptables stop Restarting the Firewall At any point, if the iptable rules are modified, then restarting the iptables will reload the iptable rules with modified rules. Use the following command: service iptables restart Allowing access to a port in the Firewall Use the following command: iptables -A INPUT -p udp –destination-port 5060 -i eth0 -j ACCEPT Release 5.2 Issue 1 Decemeber 2009 18 to allow SIP UDP packets [running on port port 5060] -A is to append the ruleset to existing rules -p is for the protocol [tcp/udp etc] -i is the interface [eth0] -j is for access control [ALLOW/DENY/DROP] Disabling access to a port in the Firewall Use the following command: iptables -A INPUT -p udp --destination-port 23 -i eth0 -j DROP to drop all packets coming to the server in port [telnet service]. Release 5.2 Issue 1 Decemeber 2009 19 APPENDIX D – Warning banners / Disclaimers To add or modify the SSH disclaimer banner, do the following, login as root: 1) Edit or replace /etc/banner. 2) Open /etc/ssh/sshd_config file in read-write mode. 3) Restart the ssh daemon for the configuration changes to take affect, with the following command: 'service sshd restart' Uncomment “#Banner /some/path” line. After editing the line should look like Banner /etc/banner Release 5.2 Issue 1 Decemeber 2009 20
© Copyright 2026 Paperzz