|
1 |
| -<p>Clear-text protocols such as <code>ftp</code>, <code>telnet</code> or non-secure <code>http</code> lack encryption of transported data, as well as |
2 |
| -the capability to build an authenticated connection. It means that an attacker able to sniff traffic from the network can read, modify or corrupt the |
| 1 | +<p>Clear-text protocols such as <code>ftp</code>, <code>telnet</code>, or <code>http</code> lack encryption of transported data, as well as the |
| 2 | +capability to build an authenticated connection. It means that an attacker able to sniff traffic from the network can read, modify, or corrupt the |
3 | 3 | transported content. These protocols are not secure as they expose applications to an extensive range of risks:</p>
|
4 | 4 | <ul>
|
5 |
| - <li> Sensitive data exposure </li> |
6 |
| - <li> Traffic redirected to a malicious endpoint </li> |
7 |
| - <li> Malware infected software update or installer </li> |
8 |
| - <li> Execution of client side code </li> |
9 |
| - <li> Corruption of critical information </li> |
| 5 | + <li> sensitive data exposure </li> |
| 6 | + <li> traffic redirected to a malicious endpoint </li> |
| 7 | + <li> malware-infected software update or installer </li> |
| 8 | + <li> execution of client-side code </li> |
| 9 | + <li> corruption of critical information </li> |
10 | 10 | </ul>
|
11 | 11 | <p>Even in the context of isolated networks like offline environments or segmented cloud environments, the insider threat exists. Thus, attacks
|
12 | 12 | involving communications being sniffed or tampered with can still happen.</p>
|
13 | 13 | <p>For example, attackers could successfully compromise prior security layers by:</p>
|
14 | 14 | <ul>
|
15 |
| - <li> Bypassing isolation mechanisms </li> |
16 |
| - <li> Compromising a component of the network </li> |
17 |
| - <li> Getting the credentials of an internal IAM account (either from a service account or an actual person) </li> |
| 15 | + <li> bypassing isolation mechanisms </li> |
| 16 | + <li> compromising a component of the network </li> |
| 17 | + <li> getting the credentials of an internal IAM account (either from a service account or an actual person) </li> |
18 | 18 | </ul>
|
19 | 19 | <p>In such cases, encrypting communications would decrease the chances of attackers to successfully leak data or steal credentials from other network
|
20 | 20 | components. By layering various security practices (segmentation and encryption, for example), the application will follow the
|
|
30 | 30 | <h2>Ask Yourself Whether</h2>
|
31 | 31 | <ul>
|
32 | 32 | <li> Application data needs to be protected against falsifications or leaks when transiting over the network. </li>
|
33 |
| - <li> Application data transits over a network that is considered untrusted. </li> |
| 33 | + <li> Application data transits over an untrusted network. </li> |
34 | 34 | <li> Compliance rules require the service to encrypt data in transit. </li>
|
35 | 35 | <li> Your application renders web pages with a relaxed mixed content policy. </li>
|
36 |
| - <li> OS level protections against clear-text traffic are deactivated. </li> |
| 36 | + <li> OS-level protections against clear-text traffic are deactivated. </li> |
37 | 37 | </ul>
|
38 | 38 | <p>There is a risk if you answered yes to any of those questions.</p>
|
39 | 39 | <h2>Recommended Secure Coding Practices</h2>
|
40 | 40 | <ul>
|
41 | 41 | <li> Make application data transit over a secure, authenticated and encrypted protocol like TLS or SSH. Here are a few alternatives to the most
|
42 | 42 | common clear-text protocols:
|
43 | 43 | <ul>
|
44 |
| - <li> Use<code>ssh</code> as an alternative to <code>telnet</code> </li> |
45 |
| - <li> Use <code>sftp</code>, <code>scp</code> or <code>ftps</code> instead of <code>ftp</code> </li> |
46 |
| - <li> Use <code>https</code> instead of <code>http</code> </li> |
47 |
| - <li> Use <code>SMTP</code> over <code>SSL/TLS</code> or <code>SMTP</code> with <code>STARTTLS</code> instead of clear-text SMTP </li> |
| 44 | + <li> Use <code>ssh</code> as an alternative to <code>telnet</code>. </li> |
| 45 | + <li> Use <code>sftp</code>, <code>scp</code>, or <code>ftps</code> instead of <code>ftp</code>. </li> |
| 46 | + <li> Use <code>https</code> instead of <code>http</code>. </li> |
| 47 | + <li> Use <code>SMTP</code> over <code>SSL/TLS</code> or <code>SMTP</code> with <code>STARTTLS</code> instead of clear-text SMTP. </li> |
48 | 48 | </ul> </li>
|
49 |
| - <li> Enable encryption of cloud components communications whenever it’s possible. </li> |
| 49 | + <li> Enable encryption of cloud components communications whenever it is possible. </li> |
50 | 50 | <li> Configure your application to block mixed content when rendering web pages. </li>
|
51 |
| - <li> If available, enforce OS level deactivation of all clear-text traffic </li> |
| 51 | + <li> If available, enforce OS-level deactivation of all clear-text traffic. </li> |
52 | 52 | </ul>
|
53 |
| -<p>It is recommended to secure all transport channels (even local network) as it can take a single non secure connection to compromise an entire |
| 53 | +<p>It is recommended to secure all transport channels, even on local networks, as it can take a single non-secure connection to compromise an entire |
54 | 54 | application or system.</p>
|
55 | 55 | <h2>Sensitive Code Example</h2>
|
56 | 56 | <pre>
|
@@ -629,7 +629,7 @@ <h2>Compliant Solution</h2>
|
629 | 629 | <h2>Exceptions</h2>
|
630 | 630 | <p>No issue is reported for the following cases because they are not considered sensitive:</p>
|
631 | 631 | <ul>
|
632 |
| - <li> Insecure protocol scheme followed by loopback addresses like 127.0.0.1 or <code>localhost</code> </li> |
| 632 | + <li> Insecure protocol scheme followed by loopback addresses like 127.0.0.1 or <code>localhost</code>. </li> |
633 | 633 | </ul>
|
634 | 634 | <h2>See</h2>
|
635 | 635 | <ul>
|
|
0 commit comments