• No results found

Dopra Linux OS Security(SingleRAN_12)

N/A
N/A
Protected

Academic year: 2021

Share "Dopra Linux OS Security(SingleRAN_12)"

Copied!
48
0
0

Loading.... (view fulltext now)

Full text

(1)

SingleRAN

Dopra Linux OS Security Feature

Parameter Description

Issue 12

Date 2015-04-30

(2)

Copyright © Huawei Technologies Co., Ltd. 2015. All rights reserved.

No part of this document may be reproduced or transmitted in any form or by any means without prior written consent of Huawei Technologies Co., Ltd.

Trademarks and Permissions

and other Huawei trademarks are trademarks of Huawei Technologies Co., Ltd.

All other trademarks and trade names mentioned in this document are the property of their respective holders. Notice

The purchased products, services and features are stipulated by the contract made between Huawei and the customer. All or part of the products, services and features described in this document may not be within the purchase scope or the usage scope. Unless otherwise specified in the contract, all statements, information, and recommendations in this document are provided "AS IS" without warranties, guarantees or representations of any kind, either express or implied.

The information in this document is subject to change without notice. Every effort has been made in the preparation of this document to ensure accuracy of the contents, but all statements, information, and recommendations in this document do not constitute a warranty of any kind, express or implied.

Huawei Technologies Co., Ltd.

Address: Huawei Industrial Base

Bantian, Longgang Shenzhen 518129

People's Republic of China

Website: http://www.huawei.com

(3)

Contents

1 Introduction...1

1.1 Scope...1

1.2 Intended Audience...1

1.3 Change History...1

2 Dopra Linux Security Description...7

2.1 Introduction to the Dopra Linux...7

2.1.1 Overview...7

2.1.2 Differences Between the Dopra Linux and Other Operating Systems...7

2.2 Dopra Linux Security Overview...8

2.3 Security Architecture...8

3 Dopra Linux Security Features...10

3.1 User Management...10

3.1.1 Dopra Linux Users...10

3.1.2 Security Policies for User Management...11

3.1.3 Operations Related to User Management...12

3.1.4 Operations Related to Password Complexity Management...13

3.1.5 Operations Related to Password Setting...13

3.2 File System and Permission Management...14

3.2.1 Directory Protection...14

3.2.2 File Protection...15

3.3 Network Management...15

3.3.1 Protocols Enabled by Default...16

3.3.2 Services Enabled by Default...16

3.3.3 Ports Opened by Default...17

3.3.4 System Firewall iptables...17

3.3.5 Security Policies Related to TCP/IP Stacks...17

3.3.6 Security Policies Related to SSH...21

3.3.7 Operations Related to SSH...22

3.4 Enhanced Antivirus Policy...24

3.4.1 Virus Entry Control...24

3.4.2 Post-entry Virus Control...24

3.5 Operating System Integrity Protection...24

(4)

3.5.1 Product Development Security...24

3.5.2 Product Release Security...25

3.6 System and Security Log Management...25

3.6.1 Log Files...25

3.6.2 Real-Time Access Information Recording...25

3.6.3 Configuration Guide for the Log Audit Service of Dopra Linux...25

3.6.3.1 Configuration Commands...26

3.6.3.2 Configuration Guide...27

3.7 System Upgrade and Patch Policy...29

3.7.1 Patch Installation...29

3.7.2 Upgrade...29

4 Base Station Applications...31

5 Differences Between History Dopra Linux Versions...32

5.1 History Dopra Linux Versions...32

5.2 Versions Running on the OMUa/SAUa/OMUb/SAUb...33

5.2.1 V100R001C03SPC010 to V100R001C03SPC020...33

5.2.2 V100R001C03SPC020 to V100R001C03SPC030...33

5.3 Versions Running on the OMUc/SAUc...34

5.3.1 V200R003C02SPC030 to V200R003C02SPC060...34

5.3.2 V200R003C02SPC060 to V200R003C02SPC070...34

5.4 V200R003C02SPC080 Running on the OMUa/SAUa/OMUb/SAUb/OMUc/SAUc...34

5.4.1 V200R003C02SPC070 to V200R003C02SPC080...34 5.4.2 V200R003C02SPC080 to V200R003C02SPC090...34 5.4.3 V200R003C02SPC090 to V200R003C08...35 5.4.4 V200R003C08 to V200R003C08SPC080...35 5.4.5 V200R003C08SPC080 to V200R003C08SPC100...35 5.4.6 V200R003C08SPC100 to V200R003C08SPC120...36 5.4.7 V200R003C08SPC120 to V200R003C08SPC130...36 5.4.8 V200R003C08SPC130 to V200R003C08SPC150...36 5.4.9 V200R003C08SPC150 to V200R003C08SPC170...36 5.4.10 V200R003C08SPC170 to V200R003C08SPC190...36

5.5 Versions Running on the EOMUa/ESAUa...37

5.5.1 RTOS-V100R001C00 to RTOS-V100R001C00SPC030...37 5.5.2 RTOS-V100R001C00SPC030 to RTOS-V100R001C00SPC050...37 5.5.3 RTOS-V100R001C00SPC050 to RTOS-V100R001C00SPC060...37 5.5.4 RTOS-V100R001C00SPC060 to RTOS-V100R001C00SPC070...37 5.5.5 RTOS-V100R001C00SPC070 to RTOS-V100R001C00SPC080...37 5.5.6 RTOS-V100R001C00SPC080 to RTOS-V100R001C00SPC090...37 5.5.7 RTOS-V100R001C00SPC090 to RTOS-V200R003C08SPC080...38 5.5.8 RTOS-V200R003C08SPC080 to RTOS-V200R003C08SPC100...38 5.5.9 RTOS-V200R003C08SPC100 to RTOS-V200R003C08SPC120...38

(5)

5.5.10 RTOS-V200R003C08SPC120 to RTOS-V200R003C08SPC150...39 5.5.11 RTOS-V200R003C08SPC150 to RTOS-V200R003C08SPC170...39 5.5.12 RTOS-V200R003C08SPC170 to RTOS-V200R003C08SPC190...39

6 Parameters...40

7 Counters...41

8 Glossary...42

9 Reference Documents...43

(6)

1

Introduction

1.1 Scope

This document describes the security features and capabilities of the Dopra Linux operating system.

NOTE

l This document is based on V200R003C02SPC090 and RTOS-V100R001C00 SPC080. For details about differences in history versions, see " 5 Differences Between History Dopra Linux Versions." l The operating system for the EOMUa/ESAUa and later boards based on Dopra Linux is renamed RTOS. Real-time operating system (RTOS) inherits basic functions on Dopra Linux. This document refers to an RTOS version with a prefix in front of the version number, for example,

RTOS-V100R001C00SPC070. Unless otherwise stated, this document can be applied to both Dopra Linux and RTOS.

l For a base station, only software of the UMPT and UMDU boards uses and encapsulates the Dopra Linux OS. Therefore, you cannot log in to the OS of a base station that is configured with one of these boards after the base station is delivered. For details, see chapter 4 Base Station Applications.

1.2 Intended Audience

This document is intended for personnel who: l Need to understand the features described herein l Work with Huawei products

1.3 Change History

This section provides information about the changes in different document versions. There are two types of changes, which are defined as follows:

l Feature change

Changes in features of a specific product version l Editorial change

(7)

Changes in wording or addition of information that was not described in the earlier version

12 (2015-04-30)

This issue includes the following changes.

Change Type Change Description Parameter Change

Feature change Added 5.4.10 V200R003C08SPC170 to V200R003C08SPC190

Added 5.5.12

V200R003C08SPC170 to RTOS-V200R003C08SPC190

None

Editorial change 3.3.7 Operations Related to SSH added SFTP timeout

3.3.6 Security Policies Related to SSH delete

arcfour256,arcfour128algorithm,added hmac-sha2-256 algorithm

3.3.7 Operations Related to SSH delete arcfour256,arcfour128 algorithm

None

11 (2015-02-15)

This issue includes the following changes.

Change Type Change Description Parameter Change

Feature change Added 5.4.9 V200R003C08SPC150 to V200R003C08SPC170

Added 5.5.11

V200R003C08SPC150 to RTOS-V200R003C08SPC170

None

Editorial change None None

10 (2015-01-15)

This issue includes the following changes.

(8)

Change Type Change Description Parameter Change Feature change Added 5.4.8 V200R003C08SPC130 to

V200R003C08SPC150 Added 5.5.10

V200R003C08SPC120 to RTOS-V200R003C08SPC150

None

Editorial change None None

09 (2014-12-15)

This issue includes the following changes.

Change Type Change Description Parameter Change

Feature change Added 5.4.7 V200R003C08SPC120 to V200R003C08SPC130

None

Editorial change None None

08 (2014-10-10)

This issue includes the following changes.

Change Type Change Description Parameter Change

Feature change Added 5.4.6 V200R003C08SPC100 to V200R003C08SPC120

Added 5.5.9

V200R003C08SPC100 to RTOS-V200R003C08SPC120

None

Editorial change None None

07 (2014-09-25)

This issue includes the following changes.

Change Type Change Description Parameter Change

Feature change Added 5.4.5 V200R003C08SPC080 to V200R003C08SPC100

Added 5.5.8

V200R003C08SPC080 to RTOS-V200R003C08SPC100

None

(9)

Change Type Change Description Parameter Change

Editorial change None None

06 (2014-08-15)

This issue includes the following changes.

Change Type Change Description Parameter Change

Feature change None None

Editorial change Added descriptions of base stations using the Dopra Linux OS in section 1.1 Scope.

None

05 (2014-06-10)

This issue includes the following changes.

Change Type Change Description Parameter Change

Feature change Added 3.6.3 Configuration Guide for the Log Audit Service of Dopra Linux.

None

Editorial change None. None

04 (2012-12-30)

This issue includes the following changes.

Change Type Change Description Parameter Change

Feature change Added V200R003C02SPC090 and its feature difference.

None Added RTOS versions

V100R001C00SPC030, V100R001C00SPC050, V100R001C00 SPC060, and RTOS-V100R001C00 SPC070 and their feature difference.

None

Added descriptions on operating system applications of base stations. For details, see "4 Base Station Applications".

None

(10)

Change Type Change Description Parameter Change Editorial change Changed the document name from

Controller Dopra Linux OS Security to Dopra Linux OS Security.

None

03 (2012-11-30)

This issue includes the following changes.

Change Type Change Description Parameter Change

Feature change None None

Editorial change Changed "RTOS" to "Dopra Linux" in this document. The document title is also changed from "RTOS Security" to "Controller Dopra Linux OS Security" for consistency with the name of the current operating system.

None

02 (2012-09-30)

This issue includes the following changes.

Change Type Change Description Parameter Change

Feature change None None

Editorial change Added the description on how to create users, change passwords, and delete users. For details, see section 3.1 "User

Management."

None

Added section 3.5 "Operating System Integrity Protection."

None Modified Secure Shell (SSH) policies.

For details, see section 3.3 "Network Management."

None

Added chapter 5 "Differences Between History Dopra Linux Versions".

None

01 (2012-08-16)

This issue includes the following changes.

(11)

Change Type Change Description Parameter Change Editorial change Modified the organization and descriptions

in section 3 "Dopra Linux Security Features."

None

Modified the TCP/IP protocol stack security policy table and added default values for these security policies.

None

Added the description on how to create users, change passwords, and delete users.

None

Draft A (2012-06-20)

This is a draft.

(12)

2

Dopra Linux Security Description

2.1 Introduction to the Dopra Linux

2.1.1 Overview

The Dopra Linux is a Linux-based operating system tailored to provide full security protection for telecommunications products. As part of an end-to-end security solution, the Dopra Linux is enhanced in hardware support, software commissioning, and performance to minimize security risks.

A customized Dopra Linux consists of the kernel and root file system:

l Kernel: The Dopra Linux kernel is customized and has the latest patch installed, which helps improve system security.

l Root file system: The Dopra Linux is a compact operating system where only useful database and service components are installed in the file system. This helps minimize security risks.

2.1.2 Differences Between the Dopra Linux and Other Operating

Systems

The Dopra Linux is a real-time embedded operating system. Compared with server and desktop operating systems, the Dopra Linux meets the following security requirements:

l System-level security requirements, such as minimum installation, system tailoring, and security patch management

l Anti-attack requirements for protocols and interfaces, such as use of secure protocols and anti-attack features

l Requirements on product development, release, and installation, such as software commissioning and integrity checking

l Sensitive data protection requirements, such as data confidentiality and integrity, use of encryption algorithms, and use of secure transmission channels

(13)

l Requirements for secure system management and maintenance, such as password, authentication, authorization, log, and alarm management

2.2 Dopra Linux Security Overview

The main security threats for the Dopra Linux are security vulnerabilities, password cracking, illegal operations, and information disclosure.

Table 2-1describes these threats.

Table 2-1 Main security threats for the Dopra Linux

Threat Description Severity Security Requirement

Security vulnerability

The kernel, SSH, and Secure File Transfer Protocol (SFTP) have known security vulnerabilities.

Minor The Dopra Linux provides a new service protocol version and is able to fix security

vulnerabilities by version upgrade or patch installation. The Dopra Linux is upgraded every 12 months by default. Password cracking Password

complexity check is not performed on the initial password.

Major The Dopra Linux requires users to use complex passwords.

Illegal operation The maximum number of

unsuccessful login attempts is not specified.

Minor The Dopra Linux locks the login account or IP address when the maximum number of

unsuccessful login attempts is exceeded.

Information disclosure

Insecure protocols, such as Trivial File Transfer Protocol (TFTP) and Telnet are used.

Major By default, the Dopra Linux does not support insecure protocols. Instead, it uses secure protocols such as SFTP.

NOTE

The Dopra Linux does not require antivirus software because few viruses target at Linux and only few Dopra Linux ports are open. For details about Dopra Linux antivirus, see "3.4 Enhanced Antivirus Policy."

2.3 Security Architecture

The Dopra Linux interfaces hardware (multi-core CPUs and other devices) and user-mode processes. The Dopra Linux runs on medium- or high-end CPUs. As a multi-thread operating system, the Dopra Linux features the security policies listed in Table 2-2.

(14)

Table 2-2 Dopra Linux security policies

Identity Authentication l Access control l User password control File System and Permission

Management

l Directory protection l File protection

Network Management l Protocols enabled by default l Services enabled by default l Ports opened by default l System firewall iptables

l Security policies related to TCP/IP stacks l Security policies related to SSH

Enhanced Antivirus Policy l Virus entry control l Post-entry virus control Operating System Integrity

Protection

l Product development security l Product release security l Product installation security System and Security Log

Management

Log file management, such as auditing and monitoring

System Upgrade and Patch Policy l Patch installation l System upgrade

(15)

3

Dopra Linux Security Features

3.1 User Management

3.1.1 Dopra Linux Users

Dopra Linux users are categorized into root user, common user, service user, and lgnusr user. The permission of these users is as follows:

l The root user has the highest operation permission, including read, write, and execute permission. The read permission allows the root user to view the names and contents of files under a directory. The write permission allows the root user to create or delete files as well as modify file contents. The execute permission allows the root user to run shell scripts or binary executable files. The root user can be granted read, write, and execute permission to all files and directories.

V200R003C02SPC090, RTOS-V100R001C00SPC070, and later versions no longer allow the root user to perform remote login. This measure helps enhance system security. l Common users are created by the root user. They can log in to the Dopra Linux and create,

modify, or delete files under their specific home directories. For example, user jack can perform relevant operations under the home directory /home/jack. In addition, common users can run scripts or binary executable files under the /usr/bin and /bin directories. l Service users are used by system service processes. Service users have the lowest operation

permission and cannot log in to the operating system. They are not created by the root user. This prevents unauthorized users from attacking the operating system and reduces security risks. Service user accounts in the Dopra Linux include sshd, nobody, haldaemon, messagebox, and mysql.

(16)

NOTE

l sshd: sshd server users cannot login to the operating systerm.

l nobody: portmap standard account of other system services cannot login to the operating systerm. l haldaemon: standard account used by haldaemon servers account cannot login to the operating

systerm.

l messagebus:standard account used by D-BUS servers account cannot login to the operating systerm.

l mysql: used by mysql servers.

l The lgnusr user is an internal common user. Added in V200R003C02SPC090 and RTOS-V100R001C00SPC070, the lgnusr user is used for Secure Shell (SSH) login. You can run the su command to switch the lgnusr user to the root user to gain administrative rights. You are advised to reserve the lgnusr user for SSH security.

3.1.2 Security Policies for User Management

Table 3-1 describes the security policies for user management in the Dopra Linux. Table 3-1 Security policies for user management in the Dopra Linux

User

Management

Policy

Password complexity

A user password must contain at least eight characters, including at least one uppercase letter, one lowercase letter, one special character, and one digit.

Simple passwords (passwords defined in the weak password dictionary) are not allowed.

NOTE

l You can run the zcat /usr/share/cracklib/cracklib-words.gz command to view the weak password dictionary.

l For the Dopra Linux,you can run the create-cracklib-dict command to update the weak password dictionary. For example, run the

create-cracklib-dict create-cracklib-dict1.dat command to add words in create-cracklib-dict1.dat to the weak password

dictionary.

l For the RTOS, the weak password dictionary cannot be viewed or modified to prevent it from being disclosed.

The Dopra Linux records the history passwords of only common users. By default, the Dopra Linux records a maximum of three history passwords.and the RTOS records a maximum of five history passwords. The new password must be different with the history passwords or the reverse of history passwords.

Common users can change only their own passwords. The root user can change all users' passwords.

(17)

User

Management Policy

Login message l For the Dopra Linux, the Dopra Linux prints the information about the previous login after a login, including the login date, time, and IP address. The information helps users determine whether unauthorized users have used the account.

l For the RTOS, the information print function is disabled by default after a successful login. You can enable the information print function as follows: Run the vi /etc/ssh/sshd_config command to open the sshd_config file, set PrintLastLog to yes, and run the killall sshd command to restart the SSHD service.

Login permission By default, a user account is locked for 300 seconds at three consecutive unsuccessful login attempts. The administrator can unlock the account. Versions before V200R003C08SPC080, users will be asked for old passwords when changing their own passwords. From

V200R003C08SPC080 and later versions, old password is required. For all versions, old password is not required when root use r modifing non-root users.

Root user The root user is the only superuser in the system and is authorized to execute all scripts and executable files.

The password for the root user is customized before Dopra Linux deployment.

service user service users. They cannot log in to the Dopra Linux and are only for service purposes.

Advance warning before password expiration

The default password validity period is 30 days. To enhance password security, the Dopra Linux prompts users to change their passwords seven days before the passwords expire.

In versions earlier than V200R003C02SPC090, the default password validity period is 30 days. In

V200R003C02SPC090,RTOS-V100R001C00SPC050 and later versions, the default password validity period is 90 days.

Minimum password validity

You are advised to set the minimum password validity period to 48 hours or longer. Otherwise, the password may bypass the password security policy inspection.

Passwords encryption

The Dopra Linux uses SHA-512 encryption algorithm to encrypt passwords in V200R003C02SPC080 and later.Versions before V200R003C02SPC080 use MD5.

3.1.3 Operations Related to User Management

Operations related to user management include creating, deleting, and switching users as well as changing user passwords. This section uses user1 as an example to describe these operations.

(18)

l To create user1, run the following command:

useradd –m user1 //After user1 is created, its home directory /home/user1 is also created. l To delete user1, run the following command:

userdel –r user1 //After user1 is deleted, its home directory /home/user1 is also deleted. l To change the password for user1, run the following command:

passwd user1 //Only user1 and the root user can change the password for user1.

The password must comply with the password complexity policy in Table 3-1. For example, Huawei@751.

l To switch to user1, run the following command: su user1 //The current user is switched to user1.

su - user1 //The current user is switched to user1. The hyphen (-) indicates that the environment variables are also switched.

3.1.4 Operations Related to Password Complexity Management

NOTE

It is recommended that you not modify password complexity settings to enhance password security.

You can set the following parameters in the /etc/pam.d/common-password file to modify password complexity settings:

l retry = N: You have N attempts to change the password each time you run the passwd command. N is an integer from 1 to 256. The default value is 6.

l lcredit = –N: A password contains at least N lower-case letters. N is an integer from 0 to 127. The default value is 1 for the Dopra Linux OS and 0 for the RTOS.

l ucredit = –N: A password contains at least N upper-case letters. N is an integer from 0 to 127. The default value is 1 for the Dopra Linux OS and 0 for the RTOS.

l dcredit = –N: A password contains at least N digits. N is an integer from 0 to 127. The default value is 1 for the Dopra Linux OS and 0 for the RTOS.

l ocredit = –N: A password contains at least N special characters(~!@#$%^&*()_+`-={}|[] \:";'<>?,./). N is an integer from 0 to 127. The default value is 1 for the Dopra Linux OS and 0 for the RTOS.

l minlen = N: A password contains at least N characters. N is an integer from 6 to 127. The default value is 8.

l enforce_root: A password policy takes effect to the root user. After this parameter is deleted, the password policy does not take effect to the root user.

l remember = N: N previous passwords are recorded for common users. N is an integer from 0 to 400. The default value is 3 for the Dopra Linux OS and 5 for the RTOS. This rule does not take effect for the root user to change the passwords for itself and other accounts. l uname_check: A password cannot be the same as any user name or be any user name in

reverse order. This function is enabled by default.

3.1.5 Operations Related to Password Setting

NOTE

In versions earlier than V100R001C03SPC030, the password lock and validity period cannot be changed because the etc/pam.conf file and chage command are not supported in these versions.

(19)

You can set the following options in the /etc/pam.d/common-auth file to modify password locking settings:

l deny=N, which indicates that the login account is locked when the number of unsuccessful login attempts exceeds N. N is an integer between 1 to 32. The default value is 3.

l unlock_time=N, which indicates that the user account is locked for N seconds when the maximum number of unsuccessful login attempts is exceeded. N is an integer between 1 to 3600. The default value is 300.

You can run the following commands to view or modify password time settings:

l chage -l user1 //You can view the parameters such as the minimum interval at which a password must be changed (Minimum), the maximum interval at which a password must be changed (Maximum), and advance warning before password expires (Warning). l chage -m N common user //N indicates the minimum interval at which a common user's

password must be changed, which means you can change the password N days later. N is an integer between 0 to 99999. If N is set to 0, you can change the password anytime. This option does not apply to the root user.

l chage -M N root/common user //N indicates the maximum interval at which common user's password must be changed. N is an integer between 1 to 99999.

l chage -W N root/common user //N indicates the advance warning days before a common user's password expires. N is an integer between 1 to 99999.

3.2 File System and Permission Management

File system permission is categorized into read, write, and execute permission. The root user can operate all files. Common users can operate only their own files. Permission management ensures file security.

3.2.1 Directory Protection

The Dopra Linux restricts directory access permission. You can run the ll or ls –l command to query the read, write, and execute permission on files and sub-directories in different directories. The following is an example:

Jasper / # ll total 112 drwxr-xr-x 2 root root 4096 Jul 6 22:10 bin drw-r--- 6 root root 4096 Jul 7 23:08 boot drwxr-xr-x 9 root root 5560 Jul 7 19:11 dev drwxr-xr-x 25 root root 4096 Jul 7 23:15 etc drwxr-x--x 4 root root 4096 Jul 7 21:19 home -rwxr-xr-x 1 root root 29 Jul 5 22:24 init drwxr-xr-x 7 root root 4096 Jul 6 22:10 lib

drwx--- 2 root root 16384 Jul 5 22:23 lost+found d-wx---r-x 5 root root 4096 Jul 5 22:24 mbsc drwxr-xr-x 2 root root 4096 Jul 5 22:24 media drwxr-xr-x 4 root root 4096 Jul 5 22:25 mnt drwxr-x--- 2 root root 4096 Jul 5 22:24 none drwxr-x--- 3 root root 4096 Jul 5 22:24 opt dr-xr-xr-x 114 root root 0 Jul 7 19:10 proc drwx--- 3 root root 4096 Jul 7 22:06 root drwxr-x--- 2 root root 4096 Jul 7 21:25 sbin -rwxr-xr-x 1 root root 23713 Jul 5 22:24 sc_init drwxr-xr-x 2 root root 4096 Jul 5 22:24 srv

(20)

drwxr-xr-x 11 root root 0 Jul 7 19:10 sys drwxrwxrwt 2 root root 4096 Jul 11 03:30 tmp drwxr-xr-x 2 root root 4096 Jul 5 22:25 usb drwxr-xr-x 7 root root 4096 Jul 5 22:24 usr drwxr-xr-x 10 root root 4096 Jul 6 22:10 var

The following uses the last line as an example to explain the command output: l In drwxr-xr-x:

d means directory. Files are not started with d.

rwx indicates that the file or directory creator has read, write, and execute permission.r-x indicates that users who belong to the same user group as the file or directory creator

have read and execute permission.

The second r-x indicates that users who do not belong to the same user group as the file or directory creator have read and execute permission.

NOTE

The root user has the highest permission and can operate all files created by other users.

l 10 indicates the number of hard connections to the directory. l root indicates that the file or directory is created by the root user.

l The second root indicates that the file or directory creator is in the root user group. l 4096 indicates the directory or file size (excluding files or sub-directories under the

directory).

l Jul 6 22:10 is the time when the file or directory was last modified. l var is the file or directory name.

3.2.2 File Protection

The Dopra Linux restricts common users' access to system files. l Common users cannot visit the home directory.

l Common users cannot modify or delete commands, library files, and directories storing device files (/dev) or configuration files (/etc).

l Only the root user is authorized to access system command management directories (/ sbin and /usr/sbin) and log files in /var/log.

NOTE

The read permission to a directory indicates that a user can view the files and sub-directories under the directory. The write permission indicates that a user can create files and sub-directories under the directory. The execute permission does not apply to directories.

The read permission to a file indicates that a user can view the contents in the file. The write permission to a file indicates that a user can edit the contents in the file. The execute permission to a file indicates that a user can execute the commands in the file.

Users can run the setfacl command to set access permission to a file. For example, in the setfacl -m u:user1:rw a.dat command, user1 has read and write permission to a.dat.

3.3 Network Management

(21)

3.3.1 Protocols Enabled by Default

By default, the User Datagram Protocol (UDP), Transmission Control Protocol (TCP), and Internet Control Message Protocol (ICMP) are enabled in the Dopra Linux.

3.3.2 Services Enabled by Default

Table 3-2 describes the default services provided in the Dopra Linux. Table 3-2 Default services provided in the Dopra Linux

Service

Name ON/OFF Protocol PortNumber Description

sshd ON TCP 22 A service started from inittab for

SSH login

syslog-ng ON N/A N/A A service started from inittab for log

recording

dbus-daemon ON N/A N/A An application that uses the D-Bus

library to implement a message bus daemon

NOTE

D-Bus is a library that provides one-to-one communication between any two applications. Multiple programs connect to the message bus daemon and can exchange messages with each other.

cron ON N/A N/A Daemon to execute scheduled

commands

klogd ON N/A N/A A service started from inittab for log

buffering

auditd ON N/A N/A A service for saving audit records to

the disk

boot.udev ON N/A N/A A service that listens to kernel events

and passes the incoming events to udev

haldaemon ON N/A N/A A service that collects and stores

hardware information

syslogbuf ON N/A N/A A service started from inittab for log

buffering

acpid ON N/A N/A A service that functions as the

daemon of advanced configuration and power interface (ACPI) and manages the power supply

(22)

3.3.3 Ports Opened by Default

For details about the default ports opened in the Dopra Linux, see Communication Matrix delivered with the product.

You can run the netstat -nlp command to view all listening ports.

3.3.4 System Firewall iptables

iptables is a kernel-level component in the Linux for filtering IP packets. When Linux is connected to the Internet, local area networks (LANs), servers, or Internet proxies, iptables act as a firewall to filter IP packets.

Being integrated into the Dopra Linux, iptables does not need to be configured by default. However, users can define rules in the iptables if required. When defining rules for a live network, note the following points:

l Do not modify existing rules.

l Write scripts to ensure that defined rules automatically take effect upon system startup. l Define rules again after the Dopra Linux is upgraded or updated, as defined rules are deleted

after the system is upgraded or updated.

3.3.5 Security Policies Related to TCP/IP Stacks

Dopra Linux does not support IPv6 by default. Table 3-3 describes security policies related to the IPv4 TCP/IP stack. These items are configured in the /etc/sysctl.conf file. Default settings in Table 3-3 are recommended by Huawei to ensure optimum security and performance, and generally should not be changed.

NOTE

The configuration items of TCP/IP stacks are named in the format of "net + protocol + conf + all/default/ device + attribute". Where, device means a logical interface, such as eth1, bond2, and vlan3, default is used to initialize an interface as it is initialized and loaded, and all means to apply to all interfaces.

(23)

Table 3-3 Configuration items Item Defaul t Value Description net.ipv4.conf.all.arp_ig-nore 0 for the RTOS 1 for the Dopra Linux

This parameter defines the modes for sending replies in response to received ARP requests that resolve local target IP addresses.

l 0: Reply to any local target IP address, irrespective of its interface.

l 1: Reply only if the target IP address is the local address configured on the incoming interface. l 2: Reply only if the target IP address is the local

address configured on the incoming interface, and both the sender's and receiver's IP addresses are in the same subnet.

l 3: Reply only resolutions for global and link addresses, and do not reply to local addresses configured with scope host.

l 4-7: Reserved.

l 8: Do not reply to local addresses. net.ipv4.conf.default.arp_i

gnore

net.ipv4.conf.all.promote_ secondaries

1 If this item is enabled and primary address of an interface is deleted, an alias of the interface will be upgraded to the primary one.

l 0: The alias of the interface will not be upgraded to the primary one.

l 1: The alias of the interface will be upgraded to the primary one.

l Default for Dopra linux is 0, for RTOS is 1. net.ipv4.conf.default.prom

ote_secondaries

net.ipv4.conf.all.arp_filter 1 l 0: The kernel can respond to ARP requests with addresses from other interfaces. This may seem wrong but it actually makes sense because it increases the number of successful

communication attempts. IP addresses are owned by the complete host on the Linux, not by specific interfaces.

l 1: This value allows you to have multiple network interfaces on the same subnet and have the ARPs for each interface be answered based on whether the kernel can route packets from the ARP's IP address out of that interface.

net.ipv4.conf.default.arp_f ilter

net.ipv4.conf.all.accept_so urce_route

0 This parameter specifies whether to accept routing extension headers.

If the value for this parameter is greater than or equal to 0, only the routing header type 2 is accepted. If this value is less than 0, routing header is not accepted.

net.ipv4.conf.default.acce pt_source_route

(24)

Item Defaul

t Value Description net.ipv4.conf.all.accept_re

directs

0 It is assumed that the network segment where the host is located has two routers, and one of them is set as the default gateway. When another router sends IP packets to the gateway, the router also sends an ICMP redirect message, instructing the gateway to forward those packets to other routers.

l 1 means to accept the redirect forwarding. l 0 means to ignore the redirect forwarding.

It is recommended that this parameter be set to 0 to eliminate potential security risks.

net.ipv4.conf.default.acce pt_redirects

net.ipv4.conf.all.secure_re directs

0 This parameter specifies the secure redirect

forwarding function. When this function is enabled, only ICMP redirect messages from the gateway are accepted.

l 1 means to enable the function. l 0 means to disable the function. net.ipv4.conf.default.secur

e_redirects

net.ipv4.conf.all.send_re-directs

0 This parameter specifies whether to send redirect messages.

l 1 means to send. l 0 means not to send. net.ipv4.conf.default.send

_redirects

net.ipv4.tcp_fin_timeout 60 This parameter specifies the duration for keeping packets in the FIN-WAIT-2 state. If the value of this parameter is too large, memory overflow may occur. net.ipv4.tcp_syncookies 1 This parameter specifies whether to send syncookies

when the syn backlog queue overflows. This parameter is valid only when CONFIG_SYNCOO-KIES is set during kernel compilation.1 means to send.0 means not to send.

net.ipv4.tcp_syn_retries 1 This parameter specifies the number of times initial SYN messages for an active TCP connection attempt will be retransmitted.

net.ipv4.tcp_synack_re-tries

1 This parameter specifies the number of times SYN-ACK messages for a passive TCP connection attempt will be retransmitted.

net.ipv4.tcp_max_syn_bac klog

4096 This parameter specifies the maximum number of unacknowledged connection requests.

net.ipv4.icmp_echo_ignor e_broadcasts

1 This parameter specifies whether to ignore broadcast and multicast messages.

l 1 means to ignore. l 0 means not to ignore.

(25)

Item Defaul

t Value Description

kernel.panic_on_oops 1 This parameter specifies the kernel's behavior when it encounters an exception or bug.

l 0: Attempt to continue operations.

l 1: Stop (panic) immediately. If sysctl is also non-zero, the server will be rebooted.

kernel.printk 6 4 1 7 This parameter specifies where to send log messages according to their priorities. This parameter has four default values, which denote console_loglevel, default_message_loglevel, minimum_console_lo-glevel, and default_console_lominimum_console_lo-glevel, respectively. l console_loglevel: Messages with a priority

higher than this level will be printed to the console.

l default_message_loglevel: Messages without an explicit priority will be printed with this level. l minimum_console_loglevel: This level is the

minimum (highest) value to which console_loglevel can be set.

l default_console_loglevel: This is the default value for console_loglevel.

net.ipv4.tcp_timestamps 0 This parameter specifies whether to add a 12-byte timestamp to TCP headers.

l 0 means not to add the timestamp. l 1 means to add the timestamp. net.ipv4.icmp_ignore_bog

us_error_responses

1 This parameter specifies whether to ignore "bogus error message responses".

l 1 means to ignore. l 0 means not to ignore.

net.ipv4.conf.all.rp_filter 1 This parameter specifies whether to enable IP spoofing protection and turns on source route verification.

l 1 means yes. l 0 means no.

It is recommended that you set this parameter to 1 for a single host or routers in a stub network. net.ipv4.conf.default.rp_fil

ter

kernel.sysrq 0 This parameter specifies the magic-sysrq key.

If the parameter is set to non-zero, the system request key is activated.

(26)

3.3.6 Security Policies Related to SSH

The Dopra Linux does not support non-encrypted File Transfer Protocol (FTP) and TELNET. Instead, it uses secure protocols such as SSH and SFTP.

Table 3-4 lists the configurations for SSH. Table 3-4 Configurations for SSH

Item Default Value Description

Ciphers

aes128- ctr,aes192- ctr,aes256-ctr,arcfour256,a rcfour128

Uses the 3des-cbc and aes128-cbc encryption algorithm.

MACs

hmac-sha2-256,hmac -sha1

Sets the message authentication code (MAC) algorithm to the secure algorithm (SHA2) for ensuring data integrity.and compatible HMAC-SHA1

Protocol 2 Forcibly enables SSH V2.0.

LogLevel VERBOSE Sets a message level to Verbose to log user login

information for auditing.

StrictModes Yes Forcibly checks file permission and the login user's

permission to the home directory and files.

PubkeyAuthentica-tion

Yes Allows public key authentication.

PermitEmptyPass-words

No Forbids login with an empty password.

PermitRootLogin No Allows the root user to remotely log in to the Dopra Linux. You can disable this function for security.

UsePAM Yes Uses the pluggable authentication modules

(PAM), a more scalable scheme, for authentication.

Banner /etc/issue.net Displays banners after a user logs in to the Dopra Linux using SSH. The default banner is: "You are trying to access a restricted zone. Only Authorized Users allowed."

NOTE

You can run the vi /etc/issue.net command to modify banners.

(27)

3.3.7 Operations Related to SSH

The following part describes operations associated with SSH.

Secure Logins

To log in to a target computer (for example, with an IP address of 192.168.0.241) that provides SSH services:

Run the ssh [email protected] command to log in as the root user, or run the ssh [email protected] command to log in as user user1.

Secure Copy

To copy data (for example, /home/filename) from a Linux server that provides SSH services to /home of a target computer (for example, with an IP address of 192.168.0.241):

Run the scp -r /home/filename [email protected]:/home command.

SFTP Operations

A computer running Dopra Linux can function as a server to provide SFTP services. To connect to a target computer (for example, with an IP address of 192.168.0.241):

Run the sftp 192.168.0.241 command. l Disabling the SFTP Service

1. Run the vi /etc/ssh/sshd_config command, comment out the line starting with Subsystem sftp, save the modifications, and close the file.

2. Run the kill all sshd command to restart the SSHD service. 3. Check whether the SSHD process starts.

If command "pidof sshd" prints integers, the process starts properly. The SFTP service is a sub-function of the SSHD service. If the SSHD process restarts, the SFTP service is disabled successfully.

l Enabling SFTP Logging

1. Run the vi /etc/ssh/sshd_config command, change the line starting with Subsystem sftp to Subsystem sftp internal-sftp -l INFO, save the modifications, and close the file.

2. Run the kill all sshd command to restart the SSHD service. 3. Check whether the SSHD process starts.

If command "pidof sshd" prints integers, the process starts properly. The SFTP service is a sub-function of the SSHD service. If the SSHD process restarts, SFTP logging is enabled successfully.

Forbidding remote login of the root user

You are advised to disable the remote login of the root user. V200R003C02SPC090, RTOS-V100R001C00SPC070, and later versions no longer allow the root user to perform remote login. To disable remote login, perform the following steps:

(28)

Step 1 Add a common user that can log in to the Dopra Linux remotely. For example:

l Run the useradd –m user1 command to add user user1 and create directory /home/user1. l Run the passwd user1 command to set or change the password (for example,

Tom@520123) for user user1. For details about the password policy, see "3.1.2 Security Policies for User Management".

Step 2 Modify the configuration file. Log in as the root user, and set PermitRootLogin to no in the / etc/ssh/sshd_config file.

Step 3 Run the killall sshd command to restart the SSH service. The modification takes effect after the SSH service restarts.

----End

NOTE

After the sshd process is killed, the SSH service becomes unavailable. Several seconds later, the SSH service restarts automatically.

To permit remote login of user root, set PermitRootLogin to yes in the /etc/ssh/sshd_config file, and restart the SSH service.

Disable SSH Server CBC Mode ,arcfour256,arcfour128 Ciphers disable SSH Server

CBC ,arcfour256,arcfour128 Ciphers algorithm

Perform the following steps to disable the CBC cipher algorithm for the SSH service: Step 1 Open the vi /etc/ssh/sshd_config file and find the line starting with Ciphers, and change the

content to:

Ciphers aes128-ctr,aes192-ctr,aes256-ctr

NOTE

Find the line starting with Ciphers but not with #Ciphers. The number sign (#) indicates that the line is commented out.

Step 2 Run the kill all sshd command to restart the sshd service. ----End

NOTE

The preceding two steps are not required if the /etc/ssh/sshd_config contains the following settings: Ciphers aes128-ctr,aes192-ctr,aes256-ctr.

Hardening the MAC Algorithm of the SSH Service

Perform the following steps to harden the MAC algorithm of the SSH service:

Step 1 Open the vi /etc/ssh/sshd_config file and find the line starting with MACsand change the content to:

l Before V200R003C08SPC190 version,MACs modify MACs hmac-sha1. l After V200R003C08SPC190 version,MACs modify MACs hmac-sha2-256.

l If MACs configue just have hmac-sha2-256,need upgrade putty to 0.64 and above version.

(29)

NOTE

Find the line starting with MACsbut not with #MACs. The number sign (#) indicates that the line is commented out.

Step 2 Run the kill all sshd command to restart the sshd service. ----End

NOTE

The preceding two steps are not required if the /etc/ssh/sshd_config contains the following settings: MACs hmac-sha1

The preceding operations must be performed by professional personnel who understand basic Linux command (vi) and common system management commands. Otherwise, the SSH connection may fail due to incorrect modifications.

3.4 Enhanced Antivirus Policy

3.4.1 Virus Entry Control

The Dopra Linux disables idle ports and uses secure protocols (such as SSH and SFTP) only, making itself much less vulnerable to virus attacks.

The Dopra Linux uses enhanced password polices, such as forced lockout after three failed password attempts. These policies greatly improve the anti-hacking capability.

3.4.2 Post-entry Virus Control

The Dopra Linux defines strict permission control, which means that only the root user has the write permissions to system files and log files. Therefore, even virus files are falsely executed, only files to which the login user has the write permissions will be corrupted. System running and log files are not affected.

Though the Dopra Linux does not run any antivirus software, it is insusceptible to virus attacks unless the root user password is cracked. In addition, the root user password is well protected by the following measures:

l Uses enhanced password policies.

l Forces the user to log out after defined failed password attempts.

3.5 Operating System Integrity Protection

3.5.1 Product Development Security

The Dopra Linux image contains vmlinuz (kernel) and initrd (root file system), where the kernel mode and user mode are separated. This method enhances Dopra Linux security.

V200R003C02SPC080, RTOS-V100R001C00, and later versions support security loophole scan using the Nessus and port and protocol scan using the NMap.

V200R003C02SPC090, RTOS-V100R001C00SPC070, and later versions support security loophole scan using the Retina.

(30)

3.5.2 Product Release Security

Before the Dopra Linux is released, it is scanned by antivirus software Symantec, McAfee, Avira, Kav and Trend to ensure that it is virus free.

3.6 System and Security Log Management

Logs record system running information and are of vital importance to system security. Major log functions include auditing and monitoring. With logs, you can diagnose problems, monitor real-time system status, and track traces left by attackers.

3.6.1 Log Files

Only the root user can view log files and description under the log directory /var/log. The following describes log files in the Dopra Linux:

l audit

A log file for the audit daemon, which writes kernel information generated by applications and system activities into hard disk.

l dlinstall.log/dlrecover.log/dlupgrade.log

Log files recording information about system installation, rollback, and upgrade. l faillog

A log file recording the number of failed logins due to incorrect user name or password. This file is encrypted. Running the vi/cat command cannot open this file. You can run faillog to view this file.

l messages

A log file recording kernel and system information. You can run vi/cat to view this file.

l warn

A log file recording all warnings and error information.

l wtmp

A log file recording all remote and local logins, changes in system running level, and time of the changes.

This file is encrypted. You can run last to view this file.

3.6.2 Real-Time Access Information Recording

The Dopra Linux records real-time Dopra Linux login and logout information in logs. For details about how to manage these logs, see section "Configuring the Function of Recording OMU OS Accessing Information in Real Time" in OMU Administration Guide.

3.6.3 Configuration Guide for the Log Audit Service of Dopra Linux

(31)

3.6.3.1 Configuration Commands

Linux audit Subsystem (audit), is a system service. This service is used for auditing system invoking records and writing the records to files. The user space program of the audit service is auditd, which is used for writing audit information to disks.

Audit Configuration Differences Between Dopra Linux and Common Linux

The Dopra Linux(Before V200R003C08SPC100 versions) and common Linux differ in the audit service as follows:

l The configuration file path is different. The paths for Dopra Linux are /etc/auditd.conf and /etc/audit.rules. The paths for common Linux are /etc/auditd/auditd.conf and /etc/ auditd/audit.rules.

l When the /etc/rc.d/init.d/auditd script is used to enable the audit service, audit rules are not automatically loaded by default.If you want to retain the rules after a restart, manually modify the /etc/rc.d/init.d/auditd file. For details about the procedure, see Configuration Guide.

Querying Audit Service Status

The audit service status' value of RTOS system can be 0,1,2. The audit service status' value of Dopra Linux system can be 0,1.

Jasper ~ # auditctl -s

AUDIT_STATUS: enabled=1 flag=1 pid=14886 rate_limit=0 backlog_limit=64 lost=0 backlog=0

Jasper ~ #

enabled=1: Log auditing is enabled for the audit service. enabled=0: Log upgrades are disabled.

enabled=2: The audit rules cannot be edited.If you want to edit it,you should restart the system first.

By default, enabled=1 is used after a normal startup. You can run the auditctl-e 1 command to change the value of enabled to 1.

Jasper ~ # auditctl -s

AUDIT_STATUS: enabled=1 flag=1 pid=14886 rate_limit=0 backlog_limit=64 lost=0 backlog=0

Jasper ~ # auditctl -e 2

AUDIT_STATUS: enabled=2 flag=1 pid=14886 rate_limit=0 backlog_limit=64 lost=0 backlog=0

Jasper ~ # auditctl -a entry,always -S umask

Error sending add rule request (Operation not permitted)

Error sending add rule request (Operation not permitted) --> When enabled is 2, rules cannot be edited.

Query Existing Rules

auditctl -l

(32)

Deleting All Audit Rules at a Time

auditctl -D

Adding an Audit Rule

Auditctl -a entry,always -S umask -k umask --> Add an audit rule for invoking the umask system.

Deleting an Audit Rule

auditctl -d entry,always -S umask -k umask --> Delete an audit rule for invoking the umask system.

Adding Audit Rules in Batches

auditctl -R /etc/audit.rules --> /etc/audit.rules is a text file containing rules in any paths.

Stopping the auditd Service Process

killall auditd or

/etc/rc.d/init.d/auditd stop

Starting the auditd Service Process

startproc /sbin/auditd or

/etc/rc.d/init.d/auditd start

Querying the auditd Service Process Status

/etc/rc.d/init.d/auditd status

Checking Whether Recording Is Enabled for the auditd Service

auditctl –s

If "enabled=1" is displayed, recording is enabled.

3.6.3.2 Configuration Guide

This section describes how to configure the audit service.

Procedure

Step 1 Create a default configuration file of the audit service. Jasper ~ # mkdir /etc/audit/

Jasper ~ # cp /etc/auditd.conf /etc/audit/auditd.conf Jasper ~ # cp /etc/audit.rules /etc/audit/audit.rules

(33)

Step 2 Edit the rule file /etc/audit/audit.rules.

You can select interesting audit rules from the following samples:

# This file contains the auditctl rules that are loaded # whenever the audit daemon is started via the initscripts. # The rules are simply the parameters that would be passed # to auditctl.

# First rule - delete all -D

# Increase the buffers to survive stress events. # Make this bigger for busy systems

-b 256

# Feel free to add below this line. See auditctl man page ## Audit the audit logs.

## successful and unsuccessful attempts to read information from the ## audit records; all modifications to the audit trail

-w /var/log/audit/ -k auditlog

## Monitor for use of audit management tools -w /sbin/auditctl -p x -k audittools

-w /sbin/auditd -p x -k audittools ## changes to the time

##

a exit,always F arch=b32 S adjtimex S settimeofday S stime S clock_settime -k time

-a exit,always -F arch=b64 -S adjtimex -S settimeofday -S clock_settime -k time ## umask

-a entry,always -S umask -k umask ## cron configuration & scheduled jobs -w /etc/crontab -p rwax -k cron

## user, group, password databases -w /etc/group -p rwax -k etcgroup -w /etc/passwd -p rwax -k etcpasswd -w /etc/shadow -k etcpasswd

## monitor usage of passwd

-w /usr/bin/passwd -p x -k passwd_modification ## login configuration and information

-w /etc/login.defs -p rwax -k login -w /etc/securetty -p rwax -k login ## network configuration

-w /etc/hosts -p rwax -k hosts

-w /etc/sysconfig/network -p rwax -k network ## system startup scripts

-w /etc/inittab -p rwax -k init ## kernel parameters

-w /etc/sysctl.conf -p rwax -k sysctl ## modprobe configuration

-w /etc/modprobe.conf -p rwax -k modprobe ## pam configuration

-w /etc/pam.d/ -p rwax -k pam ## ssh configuration

-w /etc/ssh/sshd_config -k sshd ## changes to hostname

-a exit,always -F arch=b32 -S sethostname -k hostname -a exit,always -F arch=b64 -S sethostname -k hostname ## changes to issue

-w /etc/issue -p rwax -k etcissue -w /etc/issue.net -p rwax -k etcissue

Step 3 Edit the startup script of the audit service to configure an automatic loading rule after a restart. Add the following contents in bold to vi /etc/rc.d/init.d/auditd (Skip this step if the bold line exists):

case "$1" instart) echo -n "Starting RPC auditd daemon" auditd_pid=`pidof auditd`

if [[ -z ${auditd_pid} ]]

(34)

then $AUDITD_BIN if [[ $? -ne 0 ]] then rc_failed 1 else rc_failed 0 fi else rc_failed 0 fi

test -f /etc/audit/audit.rules && /sbin/auditctl -R /etc/audit/audit.rules >/dev/ null

# Remember status and be verbose rc_status -v

Step 4 Restart the audit service. /etc/rc.d/init.d/auditd restart

Step 5 Check whether audit log recording is enabled. ----End

Run the auditctl -s command to check the value of enabled. If the value is 1, log recording is enabled.

If the value is not 1, run the auditctl –e 1 command to enable log recording. ---End

Important Notes

Because audit rules are added, the system kernel adds additional audit operations besides normal processing, which compromise system performance. Delete unnecessary audit rules and minimize the number of audit rules based on site requirements to minimize performance deterioration.

3.7 System Upgrade and Patch Policy

Due to defects in product design or development, the Dopra Linux may have certain

vulnerabilities, for example, service errors or authentication failures. These vulnerabilities may pose security threats such as hacking or viruses. You can install patches to eliminate these system vulnerabilities.

3.7.1 Patch Installation

By default, security patches are applied on the Dopra Linux every 12 months.

3.7.2 Upgrade

Currently, the Dopra Linux version and product version are independent. The Dopra Linux upgrade does not affect applications that have been installed on the source Dopra Linux, when the hard disk partition settings on the source and destination Dopra Linux versions are the same. You can upgrade the Dopra Linux using either of the following methods:

(35)

l USB upgrade l Web upgrade

For details about upgrade methods, see Guide to Dopra Linux Operating System Remote Patch Upgrade delivered with Dopra Linux patches.

NOTE

You must restart the system after an upgrade is complete. If you upgrade the Dopra Linux using the web mode, you can roll back the Dopra Linux to the source version if the upgrade fails. If you upgrade the Dopra Linux using the USB mode, you have to reinstall the Dopra Linux if the upgrade fails.

If you upgrade the RTOS or certain Dopra Linux versions using the web mode, the version cannot be rolled back. In this case, the USB upgrade is recommended.

(36)

4

Base Station Applications

The base station operating system patches are packed in the base station product version, and therefore an separated operating system upgrade is not supported on the base station. However if any security risks are exposed in RTOS versions, you can run the operating system patches by way of the product version upgrade because these patches are packed in the latest product version.

NOTE

If the product version includes RTOS patches, the patch information will be addressed in the Release

Notes of base stations.

The base station operating system is not visible for users because the patches are packed in the base station software.

l Of all operating system security policies of the base station, only the anti-virus policy is provided by the operating system. For details, see "3.4 Enhanced Antivirus Policy." l Other than the antivirus policy, operating system security policies are packed in the base

station software. For details, see the Base Station Equipment and OM Security Feature Parameter Description.

(37)

5

Differences Between History Dopra Linux

Versions

5.1 History Dopra Linux Versions

Table 5-1 lists history Dopra Linux versions and corresponding boards. Table 5-1 History Dopra Linux versions and corresponding boards

Dopra Linux Version Board

V100R001C03SPC010 OMUa/SAUa/OMUb/SAUb V100R001C03SPC020 OMUa/SAUa/OMUb/SAUb V100R001C03SPC030 OMUa/SAUa/OMUb/SAUb V200R003C02SPC030 OMUc/SAUc V200R003C02SPC060 OMUc/SAUc V200R003C02SPC070 OMUc/SAUc V200R003C02SPC080 OMUa/SAUa/OMUb/SAUb /OMUc/SAUc V200R003C02SPC090 OMUa/SAUa/OMUb/SAUb /OMUc/SAUc V200R003C08 OMUa/SAUa/OMUb/SAUb/OMUc/SAUc V200R003C08SPC080 OMUa/SAUa/OMUb/SAUb/OMUc/SAUc V200R003C08SPC100 OMUa/SAUa/OMUb/SAUb/OMUc/SAUc V200R003C08SPC120 OMUa/SAUa/OMUb/SAUb/OMUc/SAUc V200R003C08SPC130 OMUa/SAUa/OMUb/SAUb/OMUc/SAUc V200R003C08SPC150 OMUa/SAUa/OMUb/SAUb/OMUc/SAUc RTOS-V100R001C00SPC030 EOMUa/ESAUa

(38)

Dopra Linux Version Board RTOS-V100R001C00SPC050 EOMUa/ESAUa RTOS-V100R001C00 SPC060 EOMUa/ESAUa RTOS-V100R001C00 SPC070 EOMUa/ESAUa RTOS-V100R001C00 SPC080 EOMUa/ESAUa RTOS-V100R001C00 SPC090 EOMUa/ESAUa RTOS-V200R003C08SPC080 EOMUa/ESAUa RTOS-V200R003C08SPC100 EOMUa/ESAUa RTOS-V200R003C08SPC120 EOMUa/ESAUa RTOS-V200R003C08SPC150 EOMUa/ESAUa NOTE

l The Dopra Linux can be upgraded to a destination version that supports the same type of boards as the source version. For example, any version can be upgraded to V200R003C02SPC080, but

V100R001C03SPC010 cannot be upgraded to V200R003C02SPC070.

l Unless otherwise stated, basic functions of previous versions are inherited in the latest version, although supported boards vary with versions.

5.2 Versions Running on the OMUa/SAUa/OMUb/SAUb

5.2.1 V100R001C03SPC010 to V100R001C03SPC020

The following functions are supported:

l Enable or disable remote login for the root user.

l Enhance the password complexity policy, which enables the root user to set password complexity policies.

l Allow the root user to uniformly set password expiration date. l Lock user accounts at multiple unsuccessful login attempts.

l Add the setfacl package to allow users to set access permission to files. l Provide the su command so that login users can be switched.

l Add the SSH login and logout logs to enhance the log auditing function. The logs include user name, login time, and source IP address.

5.2.2 V100R001C03SPC020 to V100R001C03SPC030

l Provide the create-cracklib-dict command to allow users to update the weak password dictionary.

(39)

5.3 Versions Running on the OMUc/SAUc

5.3.1 V200R003C02SPC030 to V200R003C02SPC060

l Delete the modules for commissioning to minimize security risks. The deleted modules are ltp, livegdb, lmbench, and livepatch.

5.3.2 V200R003C02SPC060 to V200R003C02SPC070

l Upgrade the kernel version from Linux-2.6.16.60-0.68.1 to Linux-2.6.16.60-0.87.1.

5.4 V200R003C02SPC080 Running on the OMUa/SAUa/

OMUb/SAUb/OMUc/SAUc

5.4.1 V200R003C02SPC070 to V200R003C02SPC080

The following functions are supported:

l Support the OMUa, SAUa, OMUb, SAUb, OMUc, and SAUc.

l Upgrade the kernel version to Linux-2.6.16.60-0.87.1, which enhances operating system security.

l Enhance operating system security by providing default security settings, such as password complexity policies.

l Upgrade to OpenSSH 5.2.

l Disable unnecessary IPv6 modules to minimize security risks posed by these modules. l The portmap service is disabled by default. Therefore, port 111 used by the portmap service

is also disabled by default.

5.4.2 V200R003C02SPC080 to V200R003C02SPC090

The following functions are supported:

l Update the kernel version to Linux-2.6.16.60-0.99.1 to eliminate system loopholes scanned out by the NMap, Nessus, and Retina and harden the operating system security.

l Count the start time of password validity period from the system installation time. If the password is changed, the period is counted since the change time. The default password validity period is changed from 30 days to 90 days.

l Add a prompt message when the account is locked.

l Add the lgnusr user for remote login. You cannot remotely log in to the system as a root user by default, but you can remotely log in to the system as an lgnusr user and then switch to the root user. In this way, the user management security of the operating system is enhanced.

(40)

5.4.3 V200R003C02SPC090 to V200R003C08

l Rectify the defect that common users cannot modify the OS time zones. l Rectify the defect that Ext3 file system is occasionally read-only.

l Rectify the defect that a message indicating expired password is displayed after a USB flash disk is used to restore the OS.

l Rectify the defect that the MySQL service fails to start after a USB flash disk is used to restore the OS after an upgrade.

l Forbid the upgrade from a later version to an earlier version. l Rectify the OpenSSL security issue (CVE-2013-0166).

l Forbid the CMDline parameter (init=/bin/bash) parsing in the kernel.

5.4.4 V200R003C08 to V200R003C08SPC080

l Change the cipher algorithms for SSH services to secure ones, such as aes128-ctr, aes192-ctr, aes256-aes192-ctr, arcfour256, and arcfour128.

l Change the account encryption algorithm to the secure algorithm SHA512. In addition, the old passwords of the root user are verified before they are changed.

l Add the one-click recovery function by upgrading the GRUB to GRUB 2. After GRUB is upgraded to GRUB 2, SHA512 is used to encrypt GRUB passwords and GRUB password complexity check is added.

l Upgrade OpenSSL to 0.9.8y, which rectifies the OpenSSL security issues CVE-2013-0169 and CVE-2013-0166.

l Rectify the OpenSSH security issue CVE-2012-0814,Plaintext Recovery Attack against CBC ciphers(ID: CVE-2008-5161).

l Rectify the libsasl2 security issue CVE-2013-4122.

l Rectify the color change issue when a common user switches from the su user to the root user.

l Rectify the incorrect failed log statistics issue. l Rectify OpenSSL security vulnerabilities, including

CVE-2014-0224,CVE-2014-0221,CVE-2014-0195,CVE-2014-0198,CVE-2010-5298,C VE-2014-3470,CVE-2014-0076.

l Add SFTP logging.

5.4.5 V200R003C08SPC080 to V200R003C08SPC100

l Upgrading the kernel from 2.6.16.60-0.99.1 to 2.6.16.60-0.105.1-bigsmp, fix security issues and bug fix.

l Upgrade glibc from 2.4-31.91.1 to 2.4-31.109.1, fix security issues and bug fix. l Support PAM configuration for su command.

l New smartctl command.

l Enhanced / etc / ssh / sshd_config in configuration AllowTcpForwarding no, to fix CVE-2004-1653.

(41)

5.4.6 V200R003C08SPC100 to V200R003C08SPC120

l Enhanced ssh_host_rsa_key.pub and ssh_host_rsa_key length 2048. l Rectify top command not support -b -n 1 parameter.

l Rectify bash vulnerabilities,six in total(HUAWEI Vulnerability

ID:HWPSIRT-2014-0951):CVE-2014-6271,CVE-2014-7169,CVE-2014-6277,CVE-201 4-6278,CVE-2014-7186,CVE-2014-7187.

l Rectify OpenSSL vulnerabilities,nine in total(HUAWEI Vulnerability

ID:HWPSIRT-2014-0816):CVE-2014-3505,CVE-2014-3506,CVE-2014-3507,CVE-201 4-3508,CVE-2014-3509,CVE-2014-3510,CVE-2014-3511,CVE-2014-3512,CVE-2014-5139.

5.4.7 V200R003C08SPC120 to V200R003C08SPC130

l Rectified the defect that the working link mode of the network adapter is restored to the original configuration after the OMUc operating system is upgraded.

5.4.8 V200R003C08SPC130 to V200R003C08SPC150

l Upgrade wget, rectify vulnerabilities CVE-2014-4877. l Added iostat command.

l Rectify OpenSSL vulnerabilities, four in total: CVE-2014-3513, CVE-2014-3566 (HUAWEI Vulnerability: HWPSIRT-2014-1041), CVE-2014-3567, CVE-2014-3568. l Rectify OpenSSH vulnerabilities CVE-2014-2653.

l Because -p of the command useradd, usermod, groupadd and groupmod the option may bypass the password order of complexity inspection, therefore deleted -p the support of option.

5.4.9 V200R003C08SPC150 to V200R003C08SPC170

l Rectify OpenSSL Vulnerabilities CVE-2014-3569, CVE-2014-3570, CVE-2014-3571, CVE-2014-3572, CVE-2014-8275, CVE-2015-0204.

l Rectify glibc Vulnerability CVE-2015-0235 (HUAWEI Vulnerability ID HWPSIRT-2015-01045).

l Rectify the failure in connecting to the network during an OS upgrade because the board was not reset after the OS upgrade from Doprax86V100R001C03.

5.4.10 V200R003C08SPC170 to V200R003C08SPC190

l Upgrade OpenSSH to 6.2p2 to support the HMAC-SHA2-256 algorithm. By default, the HMAC-SHA1 and HAMC-SHA2 algorithms are supported. In this case, the PuTTY client does not need to be upgraded. When only the HMAC-SHA2 algorithm is used, the PuTTY must be upgraded to the 0.64 and above version. Otherwise, board logins will fail. l Upgrade OpenSSL to 0.98zf to rectify the latest vulnerability (CVE-2015-0209

CVE-2015-0286 CVE-2015-0287 CVE-2015-0288 CVE-2015-0289 CVE-2015-0293). l Rectify the glibc vulnerabilities CVE-2015-1472, CVE-2013-7423, CVE-2014-7817, and

CVE-2014-9402.

References

Related documents