VNFRQTS - Removing Security Req Batch 3
[vnfrqts/requirements.git] / docs / Chapter4 / Security.rst
1 .. Modifications Copyright © 2017-2018 AT&T Intellectual Property.
2
3 .. Licensed under the Creative Commons License, Attribution 4.0 Intl.
4    (the "License"); you may not use this documentation except in compliance
5    with the License. You may obtain a copy of the License at
6
7 .. https://creativecommons.org/licenses/by/4.0/
8
9 .. Unless required by applicable law or agreed to in writing, software
10    distributed under the License is distributed on an "AS IS" BASIS,
11    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12    See the License for the specific language governing permissions and
13    limitations under the License.
14
15
16 VNF Security
17 ----------------------
18
19 The objective of this section is to provide the key security
20 requirements that need to be met by VNFs. The security requirements are
21 grouped into five areas as listed below. Other security areas will be
22 addressed in future updates. These security requirements are applicable
23 to all VNFs. Additional security requirements for specific types of VNFs
24 will be applicable and are outside the scope of these general
25 requirements.
26
27 Section 4.3 Security in *VNF Guidelines* outlines
28 the five broad security areas for VNFs that are detailed in the
29 following sections:
30
31 -  **VNF General Security**: This section addresses general security
32    requirements for the VNFs that the VNF provider will need to address.
33
34 -  **VNF Identity and Access Management**: This section addresses
35    security requirements with respect to Identity and Access Management
36    as these pertain to generic VNFs.
37
38 -  **VNF API Security**: This section addresses the generic security
39    requirements associated with APIs. These requirements are applicable
40    to those VNFs that use standard APIs for communication and data
41    exchange.
42
43 -  **VNF Security Analytics**: This section addresses the security
44    requirements associated with analytics for VNFs that deal with
45    monitoring, data collection and analysis.
46
47 -  **VNF Data Protection**: This section addresses the security
48    requirements associated with data protection.
49
50 VNF General Security Requirements
51 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
52
53 This section provides details on the VNF general security requirements
54 on various security areas such as user access control, network security,
55 ACLs, infrastructure security, and vulnerability management. These
56 requirements cover topics associated with compliance, security patching,
57 logging/accounting, authentication, encryption, role-based access
58 control, least privilege access/authorization. The following security
59 requirements need to be met by the solution in a virtual environment:
60
61 General Security Requirements
62
63 Integration and operation within a robust security environment is necessary
64 and expected. The security architecture will include one or more of the
65 following: IDAM (Identity and Access Management) for all system and
66 applications access, Code scanning, network vulnerability scans, OS,
67 Database and application patching, malware detection and cleaning,
68 DDOS prevention, network security gateways (internal and external)
69 operating at various layers, host and application based tools for
70 security compliance validation, aggressive security patch application,
71 tightly controlled software distribution and change control processes
72 and other state of the art security solutions. The VNF is expected to
73 function reliably within such an environment and the developer is
74 expected to understand and accommodate such controls and can expected
75 to supply responsive interoperability support and testing throughout
76 the product’s lifecycle.
77
78
79 .. req::
80     :id: R-23740
81     :target: VNF
82     :keyword: MUST
83     :updated: casablanca
84
85     The VNF **MUST** implement and enforce the principle of least privilege
86     on all protected interfaces.
87
88 .. req::
89     :id: R-61354
90     :target: VNF
91     :keyword: MUST
92
93     The VNF **MUST** implement access control list for OA&M
94     services (e.g., restricting access to certain ports or applications).
95
96 .. req::
97     :id: R-92207
98     :target: VNF
99     :keyword: SHOULD
100
101     The VNF **SHOULD** implement a mechanism for automated and
102     frequent "system configuration (automated provisioning / closed loop)"
103     auditing.
104
105 .. req::
106     :id: R-23882
107     :target: VNF
108     :keyword: SHOULD
109     :updated: casablanca
110
111     The VNF **SHOULD** provide the capability for the Operator to run security
112     vulnerability scans of the operating system and all application layers.
113
114 .. req::
115     :id: R-46986
116     :target: VNF
117     :keyword: SHOULD
118
119     The VNF **SHOULD** have source code scanned using scanning
120     tools (e.g., Fortify) and provide reports.
121
122 .. req::
123     :id: R-99771
124     :target: VNF
125     :keyword: MUST
126     :updated: casablanca
127
128     The VNF **MUST** have all code (e.g., QCOW2) and configuration files
129     (e.g., HEAT template, Ansible playbook, script) hardened, or with
130     documented recommended configurations for hardening and interfaces that
131     allow the Operator to harden the VNF. Actions taken to harden a system
132     include disabling all unnecessary services, and changing default values
133     such as default credentials and community strings.
134
135 .. req::
136     :id: R-19768
137     :target: VNF
138     :keyword: SHOULD
139     :updated: casablanca
140
141     The VNF **SHOULD** support Layer 3 VPNs that enable segregation of
142     traffic by application (i.e., AVPN, IPSec VPN for Internet routes).
143
144 .. req::
145     :id: R-33981
146     :target: VNF
147     :keyword: SHOULD
148
149     The VNF **SHOULD** interoperate with various access control
150     mechanisms for the Network Cloud execution environment (e.g.,
151     Hypervisors, containers).
152
153 .. req::
154     :id: R-40813
155     :target: VNF
156     :keyword: SHOULD
157     :updated: casablanca
158
159     The VNF **SHOULD** support the use of virtual trusted platform
160     module.
161
162 .. req::
163     :id: R-56904
164     :target: VNF
165     :keyword: MUST
166
167     The VNF **MUST** interoperate with the ONAP (SDN) Controller so that
168     it can dynamically modify the firewall rules, ACL rules, QoS rules, virtual
169     routing and forwarding rules.
170
171 .. req::
172     :id: R-26586
173     :target: VNF
174     :keyword: SHOULD
175
176     The VNF **SHOULD** support the ability to work with aliases
177     (e.g., gateways, proxies) to protect and encapsulate resources.
178
179 .. req::
180     :id: R-49956
181     :target: VNF
182     :keyword: MUST
183
184     The VNF **MUST** pass all access to applications (Bearer,
185     signaling and OA&M) through various security tools and platforms from
186     ACLs, stateful firewalls and application layer gateways depending on
187     manner of deployment. The application is expected to function (and in
188     some cases, interwork) with these security tools.
189
190 .. req::
191     :id: R-69649
192     :target: VNF
193     :keyword: MUST
194
195     The VNF **MUST** have all vulnerabilities patched as soon
196     as possible. Patching shall be controlled via change control process
197     with vulnerabilities disclosed along with mitigation recommendations.
198
199 .. req::
200     :id: R-78010
201     :target: VNF
202     :keyword: MUST
203
204     The VNF **MUST** use the NCSP's IDAM API for Identification,
205     authentication and access control of customer or VNF application users.
206
207 .. req::
208     :id: R-42681
209     :target: VNF
210     :keyword: MUST
211
212     The VNF **MUST** use the NCSP's IDAM API or comply with
213     the requirements if not using the NCSP's IDAM API, for identification,
214     authentication and access control of OA&M and other system level
215     functions.
216
217 .. req::
218     :id: R-68589
219     :target: VNF
220     :keyword: MUST
221
222     The VNF **MUST**, if not using the NCSP's IDAM API, support
223     User-IDs and passwords to uniquely identify the user/application. VNF
224     needs to have appropriate connectors to the Identity, Authentication
225     and Authorization systems that enables access at OS, Database and
226     Application levels as appropriate.
227
228 .. req::
229     :id: R-98391
230     :target: VNF
231     :keyword: MUST
232
233     The VNF **MUST**, if not using the NCSP's IDAM API, support
234     Role-Based Access Control to permit/limit the user/application to
235     performing specific activities.
236
237 .. req::
238     :id: R-62498
239     :target: VNF
240     :keyword: MUST
241     :updated: casablanca
242
243     The VNF **MUST** support encrypted access protocols, e.g., TLS,
244     SSH, SFTP.
245
246 .. req::
247     :id: R-79107
248     :target: VNF
249     :keyword: MUST
250
251     The VNF **MUST**, if not using the NCSP's IDAM API, enforce
252     a configurable maximum number of Login attempts policy for the users.
253     VNF provider must comply with "terminate idle sessions" policy.
254     Interactive sessions must be terminated, or a secure, locking screensaver
255     must be activated requiring authentication, after a configurable period
256     of inactivity. The system-based inactivity timeout for the enterprise
257     identity and access management system must also be configurable.
258
259 .. req::
260     :id: R-35144
261     :target: VNF
262     :keyword: MUST
263
264     The VNF **MUST**, if not using the NCSP's IDAM API, comply
265     with the NCSP's credential management policy.
266
267 .. req::
268     :id: R-75041
269     :target: VNF
270     :keyword: MUST
271
272     The VNF **MUST**, if not using the NCSP's IDAM API, expire
273     passwords at regular configurable intervals.
274
275 .. req::
276     :id: R-46908
277     :target: VNF
278     :keyword: MUST
279
280     The VNF **MUST**, if not using the NCSP's IDAM API, comply
281     with "password complexity" policy. When passwords are used, they shall
282     be complex and shall at least meet the following password construction
283     requirements: (1) be a minimum configurable number of characters in
284     length, (2) include 3 of the 4 following types of characters:
285     upper-case alphabetic, lower-case alphabetic, numeric, and special,
286     (3) not be the same as the UserID with which they are associated or
287     other common strings as specified by the environment, (4) not contain
288     repeating or sequential characters or numbers, (5) not to use special
289     characters that may have command functions, and (6) new passwords must
290     not contain sequences of three or more characters from the previous
291     password.
292
293 .. req::
294     :id: R-39342
295     :target: VNF
296     :keyword: MUST
297
298     The VNF **MUST**, if not using the NCSP's IDAM API, comply
299     with "password changes (includes default passwords)" policy. Products
300     will support password aging, syntax and other credential management
301     practices on a configurable basis.
302
303 .. req::
304     :id: R-40521
305     :target: VNF
306     :keyword: MUST
307
308     The VNF **MUST**, if not using the NCSP's IDAM API, support
309     use of common third party authentication and authorization tools such
310     as TACACS+, RADIUS.
311
312 .. req::
313     :id: R-41994
314     :target: VNF
315     :keyword: MUST
316
317     The VNF **MUST**, if not using the NCSP's IDAM API, comply
318     with "No Self-Signed Certificates" policy. Self-signed certificates
319     must be used for encryption only, using specified and approved
320     encryption protocols such as TLS 1.2 or higher or equivalent security
321     protocols such as IPSec, AES.
322
323 .. req::
324     :id: R-23135
325     :target: VNF
326     :keyword: MUST
327
328     The VNF **MUST**, if not using the NCSP's IDAM API,
329     authenticate system to system communications where one system
330     accesses the resources of another system, and must never conceal
331     individual accountability.
332
333 VNF Identity and Access Management Requirements
334 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
335
336 The following security requirements for logging, identity, and access
337 management need to be met by the solution in a virtual environment:
338
339
340 Identity and Access Management Requirements
341
342
343 .. req::
344     :id: R-95105
345     :target: VNF
346     :keyword: MUST
347
348     The VNF **MUST** host connectors for access to the application layer.
349
350 .. req::
351     :id: R-45496
352     :target: VNF
353     :keyword: MUST
354
355     The VNF **MUST** host connectors for access to the OS (Operating System) layer.
356
357 .. req::
358     :id: R-05470
359     :target: VNF
360     :keyword: MUST
361
362     The VNF **MUST** host connectors for access to the database layer.
363
364 .. req::
365     :id: R-99174
366     :target: VNF
367     :keyword: MUST
368     :updated: casablanca
369
370     The VNF **MUST** allow the creation of multiple IDs so that
371     individual accountability can be supported.
372
373 .. req::
374     :id: R-42874
375     :target: VNF
376     :keyword: MUST
377
378     The VNF **MUST** comply with Least Privilege (no more
379     privilege than required to perform job functions) when persons
380     or non-person entities access VNFs.
381
382 .. req::
383     :id: R-71787
384     :target: VNF
385     :keyword: MUST
386     :updated: casablanca
387
388     Each layer of the VNF **MUST** support access restriction
389     independently of all other layers so that Segregation of Duties
390     can be implemented.
391
392 .. req::
393     :id: R-86261
394     :target: VNF
395     :keyword: MUST NOT
396
397     The VNF **MUST NOT** allow vendor access to VNFs remotely.
398
399 .. req::
400     :id: R-49945
401     :target: VNF
402     :keyword: MUST
403
404     The VNF **MUST** authorize VNF provider access through a
405     client application API by the client application owner and the resource
406     owner of the VNF before provisioning authorization through Role Based
407     Access Control (RBAC), Attribute Based Access Control (ABAC), or other
408     policy based mechanism.
409
410 .. req::
411     :id: R-34552
412     :target: VNF
413     :keyword: MUST
414
415     The VNF **MUST** provide or support the Identity and Access
416     Management (IDAM) based threat detection data for OWASP Top 10.
417
418 .. req::
419     :id: R-59391
420     :target: VNF
421     :keyword: MUST
422
423     The VNF provider **MUST**, where a VNF provider requires
424     the assumption of permissions, such as root or administrator, first
425     log in under their individual user login ID then switch to the other
426     higher level account; or where the individual user login is infeasible,
427     must login with an account with admin privileges in a way that
428     uniquely identifies the individual performing the function.
429
430 .. req::
431     :id: R-85028
432     :target: VNF
433     :keyword: MUST
434
435     The VNF **MUST** authenticate system to system access and
436     do not conceal a VNF provider user's individual accountability for
437     transactions.
438
439 .. req::
440     :id: R-80335
441     :target: VNF
442     :keyword: MUST
443
444     The VNF **MUST** make visible a Warning Notice: A formal
445     statement of resource intent, i.e., a warning notice, upon initial
446     access to a VNF provider user who accesses private internal networks
447     or Company computer resources, e.g., upon initial logon to an internal
448     web site, system or application which requires authentication.
449
450 .. req::
451     :id: R-73541
452     :target: VNF
453     :keyword: MUST
454
455     The VNF **MUST** use access controls for VNFs and their
456     supporting computing systems at all times to restrict access to
457     authorized personnel only, e.g., least privilege. These controls
458     could include the use of system configuration or access control
459     software.
460
461 .. req::
462     :id: R-64503
463     :target: VNF
464     :keyword: MUST
465
466     The VNF **MUST** provide minimum privileges for initial
467     and default settings for new user accounts.
468
469 .. req::
470     :id: R-86835
471     :target: VNF
472     :keyword: MUST
473
474     The VNF **MUST** set the default settings for user access
475     to sensitive commands and data to deny authorization.
476
477 .. req::
478     :id: R-77157
479     :target: VNF
480     :keyword: MUST
481
482     The VNF **MUST** conform to approved request, workflow
483     authorization, and authorization provisioning requirements when
484     creating privileged users.
485
486 .. req::
487     :id: R-81147
488     :target: VNF
489     :keyword: MUST
490
491     The VNF **MUST** have greater restrictions for access and
492     execution, such as up to 3 factors of authentication and restricted
493     authorization, for commands affecting network services, such as
494     commands relating to VNFs.
495
496 .. req::
497     :id: R-49109
498     :target: VNF
499     :keyword: MUST
500
501     The VNF **MUST** encrypt TCP/IP--HTTPS (e.g., TLS v1.2)
502     transmission of data on internal and external networks.
503
504 .. req::
505     :id: R-39562
506     :target: VNF
507     :keyword: MUST
508
509     The VNF **MUST** disable unnecessary or vulnerable cgi-bin programs.
510
511 .. req::
512     :id: R-15671
513     :target: VNF
514     :keyword: MUST
515     :updated: casablanca
516
517     The VNF **MUST** provide access controls that allow the Operator
518     to restrict access to VNF functions and data to authorized entities.
519
520 .. req::
521     :id: R-89753
522     :target: VNF
523     :keyword: MUST NOT
524
525     The VNF **MUST NOT** install or use systems, tools or
526     utilities capable of capturing or logging data that was not created
527     by them or sent specifically to them in production, without
528     authorization of the VNF system owner.
529
530 .. req::
531     :id: R-19082
532     :target: VNF
533     :keyword: MUST NOT
534
535     The VNF **MUST NOT** run security testing tools and
536     programs, e.g., password cracker, port scanners, hacking tools
537     in production, without authorization of the VNF system owner.
538
539 .. req::
540     :id: R-19790
541     :target: VNF
542     :keyword: MUST NOT
543
544     The VNF **MUST NOT** include authentication credentials
545     in security audit logs, even if encrypted.
546
547 .. req::
548     :id: R-85419
549     :target: VNF
550     :keyword: SHOULD
551     :updated: casablanca
552
553     The VNF **SHOULD** support OAuth 2.0 authorization using an external
554     Authorization Server.
555
556 .. req::
557     :id: R-48080
558     :target: VNF
559     :keyword: SHOULD
560
561     The VNF **SHOULD** support SCEP (Simple Certificate Enrollment Protocol).
562
563 VNF API Security Requirements
564 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
565
566 This section covers API security requirements when these are used by the
567 VNFs. Key security areas covered in API security are Access Control,
568 Authentication, Passwords, PKI Authentication Alarming, Anomaly
569 Detection, Lawful Intercept, Monitoring and Logging, Input Validation,
570 Cryptography, Business continuity, Biometric Authentication,
571 Identification, Confidentiality and Integrity, and Denial of Service.
572
573 The solution in a virtual environment needs to meet the following API
574 security requirements:
575
576
577 API Requirements
578
579
580 .. req::
581     :id: R-37608
582     :target: VNF
583     :keyword: MUST
584
585     The VNF **MUST** provide a mechanism to restrict access based
586     on the attributes of the VNF and the attributes of the subject.
587
588 .. req::
589     :id: R-43884
590     :target: VNF
591     :keyword: SHOULD
592     :updated: casablanca
593
594     The VNF **SHOULD** integrate with the Operator's authentication and
595     authorization services (e.g., IDAM).
596
597 .. req::
598     :id: R-25878
599     :target: VNF
600     :keyword: MUST
601
602     The VNF **MUST** use certificates issued from publicly
603     recognized Certificate Authorities (CA) for the authentication process
604     where PKI-based authentication is used.
605
606 .. req::
607     :id: R-19804
608     :target: VNF
609     :keyword: MUST
610
611     The VNF **MUST** validate the CA signature on the certificate,
612     ensure that the date is within the validity period of the certificate,
613     check the Certificate Revocation List (CRL), and recognize the identity
614     represented by the certificate where PKI-based authentication is used.
615
616 .. req::
617     :id: R-47204
618     :target: VNF
619     :keyword: MUST
620
621     The VNF **MUST** protect the confidentiality and integrity of
622     data at rest and in transit from unauthorized access and modification.
623
624 .. req::
625     :id: R-33488
626     :target: VNF
627     :keyword: MUST
628
629     The VNF **MUST** protect against all denial of service
630     attacks, both volumetric and non-volumetric, or integrate with external
631     denial of service protection tools.
632
633 .. req::
634     :id: R-21652
635     :target: VNF
636     :keyword: MUST
637
638     The VNF **MUST** implement the following input validation
639     control: Check the size (length) of all input. Do not permit an amount
640     of input so great that it would cause the VNF to fail. Where the input
641     may be a file, the VNF API must enforce a size limit.
642
643 .. req::
644     :id: R-54930
645     :target: VNF
646     :keyword: MUST
647
648     The VNF **MUST** implement the following input validation
649     control: Do not permit input that contains content or characters
650     inappropriate to the input expected by the design. Inappropriate input,
651     such as SQL insertions, may cause the system to execute undesirable
652     and unauthorized transactions against the database or allow other
653     inappropriate access to the internal network.
654
655 .. req::
656     :id: R-21210
657     :target: VNF
658     :keyword: MUST
659
660     The VNF **MUST** implement the following input validation
661     control: Validate that any input file has a correct and valid
662     Multipurpose Internet Mail Extensions (MIME) type. Input files
663     should be tested for spoofed MIME types.
664
665 VNF Security Analytics Requirements
666 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
667
668 This section covers VNF security analytics requirements that are mostly
669 applicable to security monitoring. The VNF Security Analytics cover the
670 collection and analysis of data following key areas of security
671 monitoring:
672
673 -  Anti-virus software
674
675 -  Logging
676
677 -  Data capture
678
679 -  Tasking
680
681 -  DPI
682
683 -  API based monitoring
684
685 -  Detection and notification
686
687 -  Resource exhaustion detection
688
689 -  Proactive and scalable monitoring
690
691 -  Mobility and guest VNF monitoring
692
693 -  Closed loop monitoring
694
695 -  Interfaces to management and orchestration
696
697 -  Malformed packet detections
698
699 -  Service chaining
700
701 -  Dynamic security control
702
703 -  Dynamic load balancing
704
705 -  Connection attempts to inactive ports (malicious port scanning)
706
707 The following requirements of security monitoring need to be met by the
708 solution in a virtual environment.
709
710 Security Analytics Requirements
711
712
713 .. req::
714     :id: R-48470
715     :target: VNF
716     :keyword: MUST
717
718     The VNF **MUST** support Real-time detection and
719     notification of security events.
720
721 .. req::
722     :id: R-22286
723     :target: VNF
724     :keyword: MUST
725
726     The VNF **MUST** support Integration functionality via
727     API/Syslog/SNMP to other functional modules in the network (e.g.,
728     PCRF, PCEF) that enable dynamic security control by blocking the
729     malicious traffic or malicious end users.
730
731 .. req::
732     :id: R-32636
733     :target: VNF
734     :keyword: MUST
735
736     The VNF **MUST** support API-based monitoring to take care of
737     the scenarios where the control interfaces are not exposed, or are
738     optimized and proprietary in nature.
739
740 .. req::
741     :id: R-61648
742     :target: VNF
743     :keyword: MUST
744
745     The VNF **MUST** support event logging, formats, and delivery
746     tools to provide the required degree of event data to ONAP.
747
748 .. req::
749     :id: R-22367
750     :target: VNF
751     :keyword: MUST
752
753     The VNF **MUST** support detection of malformed packets due to
754     software misconfiguration or software vulnerability.
755
756 .. req::
757     :id: R-31961
758     :target: VNF
759     :keyword: MUST
760
761     The VNF **MUST** support integrated DPI/monitoring functionality
762     as part of VNFs (e.g., PGW, MME).
763
764 .. req::
765     :id: R-73223
766     :target: VNF
767     :keyword: MUST
768
769     The VNF **MUST** support proactive monitoring to detect and
770     report the attacks on resources so that the VNFs and associated VMs can
771     be isolated, such as detection techniques for resource exhaustion, namely
772     OS resource attacks, CPU attacks, consumption of kernel memory, local
773     storage attacks.
774
775 .. req::
776     :id: R-58370
777     :target: VNF
778     :keyword: MUST
779
780     The VNF **MUST** coexist and operate normally with commercial
781     anti-virus software which shall produce alarms every time when there is a
782     security incident.
783
784 .. req::
785     :id: R-56920
786     :target: VNF
787     :keyword: MUST
788
789     The VNF **MUST** protect all security audit logs (including
790     API, OS and application-generated logs), security audit software, data,
791     and associated documentation from modification, or unauthorized viewing,
792     by standard OS access control mechanisms, by sending to a remote system,
793     or by encryption.
794
795 .. req::
796     :id: R-54520
797     :target: VNF
798     :keyword: MUST
799     :updated: casablanca
800
801     The VNF **MUST** log successful and unsuccessful authentication
802     attempts, e.g., authentication associated with a transaction,
803     authentication to create a session, authentication to assume elevated
804     privilege.
805
806 .. req::
807     :id: R-55478
808     :target: VNF
809     :keyword: MUST
810
811     The VNF **MUST** log logoffs.
812
813 .. req::
814     :id: R-13344
815     :target: VNF
816     :keyword: MUST
817
818     The VNF **MUST** log starting and stopping of security
819     logging.
820
821 .. req::
822     :id: R-07617
823     :target: VNF
824     :keyword: MUST
825     :updated: casablanca
826
827     The VNF **MUST** log success and unsuccessful creation, removal, or
828     change to the inherent privilege level of users.
829
830 .. req::
831     :id: R-94525
832     :target: VNF
833     :keyword: MUST
834     :updated: casablanca
835
836     The VNF **MUST** log connections to the network listeners of the
837     resource.
838
839 .. req::
840     :id: R-31614
841     :target: VNF
842     :keyword: MUST
843
844     The VNF **MUST** log the field "event type" in the security audit
845     logs.
846
847 .. req::
848     :id: R-97445
849     :target: VNF
850     :keyword: MUST
851
852     The VNF **MUST** log the field "date/time" in the security audit
853     logs.
854
855 .. req::
856     :id: R-25547
857     :target: VNF
858     :keyword: MUST
859
860     The VNF **MUST** log the field "protocol" in the security audit logs.
861
862 .. req::
863     :id: R-06413
864     :target: VNF
865     :keyword: MUST
866
867     The VNF **MUST** log the field "service or program used for access"
868     in the security audit logs.
869
870 .. req::
871     :id: R-15325
872     :target: VNF
873     :keyword: MUST
874
875     The VNF **MUST** log the field "success/failure" in the
876     security audit logs.
877
878 .. req::
879     :id: R-89474
880     :target: VNF
881     :keyword: MUST
882
883     The VNF **MUST** log the field "Login ID" in the security audit logs.
884
885 .. req::
886     :id: R-04982
887     :target: VNF
888     :keyword: MUST NOT
889
890     The VNF **MUST NOT** include an authentication credential,
891     e.g., password, in the security audit logs, even if encrypted.
892
893 .. req::
894     :id: R-63330
895     :target: VNF
896     :keyword: MUST
897     :updated: casablanca
898
899     The VNF **MUST** detect when its security audit log storage
900     medium is approaching capacity (configurable) and issue an alarm.
901
902 .. req::
903     :id: R-41252
904     :target: VNF
905     :keyword: MUST
906
907     The VNF **MUST** support the capability of online storage of
908     security audit logs.
909
910 .. req::
911     :id: R-41825
912     :target: VNF
913     :keyword: MUST
914     :updated: casablanca
915
916     The VNF **MUST** activate security alarms automatically when
917     a configurable number of consecutive unsuccessful login attempts
918     is reached.
919
920 .. req::
921     :id: R-43332
922     :target: VNF
923     :keyword: MUST
924     :updated: casablanca
925
926     The VNF **MUST** activate security alarms automatically when
927     it detects the successful modification of a critical system or
928     application file.
929
930 .. req::
931     :id: R-74958
932     :target: VNF
933     :keyword: MUST
934     :updated: casablanca
935
936     The VNF **MUST** activate security alarms automatically when
937     it detects an unsuccessful attempt to gain permissions
938     or assume the identity of another user.
939
940 .. req::
941     :id: R-15884
942     :target: VNF
943     :keyword: MUST
944
945     The VNF **MUST** include the field "date" in the Security alarms
946     (where applicable and technically feasible).
947
948 .. req::
949     :id: R-23957
950     :target: VNF
951     :keyword: MUST
952
953     The VNF **MUST** include the field "time" in the Security alarms
954     (where applicable and technically feasible).
955
956 .. req::
957     :id: R-71842
958     :target: VNF
959     :keyword: MUST
960
961     The VNF **MUST** include the field "service or program used for
962     access" in the Security alarms (where applicable and technically feasible).
963
964 .. req::
965     :id: R-57617
966     :target: VNF
967     :keyword: MUST
968
969     The VNF **MUST** include the field "success/failure" in the
970     Security alarms (where applicable and technically feasible).
971
972 .. req::
973     :id: R-99730
974     :target: VNF
975     :keyword: MUST
976
977     The VNF **MUST** include the field "Login ID" in the Security
978     alarms (where applicable and technically feasible).
979
980 .. req::
981     :id: R-29705
982     :target: VNF
983     :keyword: MUST
984     :updated: casablanca
985
986     The VNF **MUST** restrict changing the criticality level of a
987     system security alarm to users with administrative privileges.
988
989 .. req::
990     :id: R-13627
991     :target: VNF
992     :keyword: MUST
993
994     The VNF **MUST** monitor API invocation patterns to detect
995     anomalous access patterns that may represent fraudulent access or other
996     types of attacks, or integrate with tools that implement anomaly and
997     abuse detection.
998
999 .. req::
1000     :id: R-21819
1001     :target: VNF
1002     :keyword: MUST
1003
1004     The VNF **MUST** support requests for information from law
1005     enforcement and government agencies.
1006
1007 .. req::
1008     :id: R-04492
1009     :target: VNF
1010     :keyword: MUST
1011
1012     The VNF **MUST** generate security audit logs that must be sent
1013     to Security Analytics Tools for analysis.
1014
1015 .. req::
1016     :id: R-19219
1017     :target: VNF
1018     :keyword: MUST
1019
1020     The VNF **MUST** provide audit logs that include user ID, dates,
1021     times for log-on and log-off, and terminal location at minimum.
1022
1023 .. req::
1024     :id: R-30932
1025     :target: VNF
1026     :keyword: MUST
1027
1028     The VNF **MUST** provide security audit logs including records
1029     of successful and rejected system access data and other resource access
1030     attempts.
1031
1032 .. req::
1033     :id: R-54816
1034     :target: VNF
1035     :keyword: MUST
1036
1037     The VNF **MUST** support the storage of security audit logs
1038     for agreed period of time for forensic analysis.
1039
1040 .. req::
1041     :id: R-57271
1042     :target: VNF
1043     :keyword: MUST
1044
1045     The VNF **MUST** provide the capability of generating security
1046     audit logs by interacting with the operating system (OS) as appropriate.
1047
1048 .. req::
1049     :id: R-84160
1050     :target: VNF
1051     :keyword: MUST
1052
1053     The VNF **MUST** have security logging for VNFs and their
1054     OSs be active from initialization. Audit logging includes automatic
1055     routines to maintain activity records and cleanup programs to ensure
1056     the integrity of the audit/logging systems.
1057
1058 VNF Data Protection Requirements
1059 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1060
1061 This section covers VNF data protection requirements that are mostly
1062 applicable to security monitoring.
1063
1064
1065 Data Protection Requirements
1066
1067 .. req::
1068     :id: R-58964
1069     :target: VNF
1070     :keyword: MUST
1071     :updated: casablanca
1072
1073     The VNF **MUST** provide the capability to restrict read
1074     and write access to data handled by the VNF.
1075
1076 .. req::
1077     :id: R-83227
1078     :target: VNF
1079     :keyword: MUST
1080
1081     The VNF **MUST** Provide the capability to encrypt data in
1082     transit on a physical or virtual network.
1083
1084 .. req::
1085     :id: R-32641
1086     :target: VNF
1087     :keyword: MUST
1088     :updated: casablanca
1089
1090     The VNF **MUST** provide the capability to encrypt data on
1091     non-volatile memory.Non-volative memory is storage that is
1092     capable of retaining data without electrical power, e.g.
1093     Complementary metal–oxide–semiconductor (CMOS) or hard drives.
1094
1095 .. req::
1096     :id: R-13151
1097     :target: VNF
1098     :keyword: SHOULD
1099
1100     The VNF **SHOULD** disable the paging of the data requiring
1101     encryption, if possible, where the encryption of non-transient data is
1102     required on a device for which the operating system performs paging to
1103     virtual memory. If not possible to disable the paging of the data
1104     requiring encryption, the virtual memory should be encrypted.
1105
1106 .. req::
1107     :id: R-93860
1108     :target: VNF
1109     :keyword: MUST
1110
1111     The VNF **MUST** provide the capability to integrate with an
1112     external encryption service.
1113
1114 .. req::
1115     :id: R-73067
1116     :target: VNF
1117     :keyword: MUST
1118     :updated: casablanca
1119
1120     The VNF **MUST** use NIST and industry standard cryptographic
1121     algorithms and standard modes of operations when implementing
1122     cryptography.
1123
1124 .. req::
1125     :id: R-12467
1126     :target: VNF
1127     :keyword: MUST NOT
1128
1129     The VNF **MUST NOT** use the SHA, DSS, MD5, SHA-1 and
1130     Skipjack algorithms or other compromised encryption.
1131
1132 .. req::
1133     :id: R-02170
1134     :target: VNF
1135     :keyword: MUST
1136     :updated: casablanca
1137
1138     The VNF **MUST** use, whenever possible, standard implementations
1139     of security applications, protocols, and formats, e.g., S/MIME, TLS, SSH,
1140     IPSec, X.509 digital certificates for cryptographic implementations.
1141     These implementations must be purchased from reputable vendors or obtained
1142     from reputable open source communities and must not be developed in-house.
1143
1144 .. req::
1145     :id: R-70933
1146     :target: VNF
1147     :keyword: MUST
1148     :updated: casablanca
1149
1150     The VNF **MUST** provide the ability to migrate to newer
1151     versions of cryptographic algorithms and protocols with minimal impact.
1152
1153 .. req::
1154     :id: R-44723
1155     :target: VNF
1156     :keyword: MUST
1157
1158     The VNF **MUST** use symmetric keys of at least 112 bits in length.
1159
1160 .. req::
1161     :id: R-25401
1162     :target: VNF
1163     :keyword: MUST
1164
1165     The VNF **MUST** use asymmetric keys of at least 2048 bits in length.
1166
1167 .. req::
1168     :id: R-95864
1169     :target: VNF
1170     :keyword: MUST
1171     :updated: casablanca
1172
1173     The VNF **MUST** support digital certificates that comply with X.509
1174     standards.
1175
1176 .. req::
1177     :id: R-12110
1178     :target: VNF
1179     :keyword: MUST NOT
1180
1181     The VNF **MUST NOT** use keys generated or derived from
1182     predictable functions or values, e.g., values considered predictable
1183     include user identity information, time of day, stored/transmitted data.
1184
1185 .. req::
1186     :id: R-52060
1187     :target: VNF
1188     :keyword: MUST
1189
1190     The VNF **MUST** provide the capability to configure encryption
1191     algorithms or devices so that they comply with the laws of the jurisdiction
1192     in which there are plans to use data encryption.
1193
1194 .. req::
1195     :id: R-69610
1196     :target: VNF
1197     :keyword: MUST
1198     :updated: casablanca
1199
1200     The VNF **MUST** provide the capability of using X.509 certificates
1201     issued by an external Certificate Authority.
1202
1203 .. req::
1204     :id: R-83500
1205     :target: VNF
1206     :keyword: MUST
1207
1208     The VNF **MUST** provide the capability of allowing certificate
1209     renewal and revocation.
1210
1211 .. req::
1212     :id: R-29977
1213     :target: VNF
1214     :keyword: MUST
1215
1216     The VNF **MUST** provide the capability of testing the validity
1217     of a digital certificate by validating the CA signature on the certificate.
1218
1219 .. req::
1220     :id: R-24359
1221     :target: VNF
1222     :keyword: MUST
1223
1224     The VNF **MUST** provide the capability of testing the validity
1225     of a digital certificate by validating the date the certificate is being
1226     used is within the validity period for the certificate.
1227
1228 .. req::
1229     :id: R-39604
1230     :target: VNF
1231     :keyword: MUST
1232
1233     The VNF **MUST** provide the capability of testing the
1234     validity of a digital certificate by checking the Certificate Revocation
1235     List (CRL) for the certificates of that type to ensure that the
1236     certificate has not been revoked.
1237
1238 .. req::
1239     :id: R-75343
1240     :target: VNF
1241     :keyword: MUST
1242
1243     The VNF **MUST** provide the capability of testing the
1244     validity of a digital certificate by recognizing the identity represented
1245     by the certificate - the "distinguished name".
1246