AlgoSec Best Practices for Microsoft Azure provide a baseline for your cloud network configuration and security policy across all your Azure subscriptions, assets, and security controls.
To read more about AlgoSec Best Practices, please visit AlgoSec home page .
AlgoSec Best Practices requirements (170)
Severity | Requirement | Title | Description | Remediation | |
---|---|---|---|---|---|
O01-I-NSG | Critical | AlgoSec O01-I-NSG | Outbound "To Any allow Any service" rules to Public IPs | Outbound rules of the form "to Any with service Any" are usually more open than is necessary. Allowing all services allows many services that are known to be risky, most of which you probably do not use in your business. Allowing access to all destinations may allow exfiltration of information. | Restrict the rules to refer to the destination IPs you really use, and to the the services your applications rely on by deploying a stateful firewall for outbound traffic. |
O02-I-NSG | Critical | AlgoSec O02-I-NSG | Outbound "To Any allow all TCP" rules to Public IPs | Outbound rules of the form "to Any with all TCP" are usually more open than is necessary. Allowing all TCP allows many services that are known to be risky, most of which you probably do not use in your business. Allowing access to all destinations may allow exfiltration of information. | Restrict the rules to refer to the destination IPs you really use, and to the the services your applications rely on by deploying a stateful firewall for outbound traffic. |
O03-I-NSG | Critical | AlgoSec O03-I-NSG | Outbound "To Any allow all UDP" rules to Public IPs | Outbound rules of the form "to Any with all UDP" are usually more open than is necessary. Allowing all UDP allows many services that are known to be risky, most of which you probably do not use in your business. Allowing access to all destinations may allow exfiltration of information. | Restrict the rules to refer to the destination IPs you really use, and to the the services your applications rely on by deploying a stateful firewall for outbound traffic. |
O04-I-NSG | High | AlgoSec O04-I-NSG | TCP on all ports can exit your network to Public IPs | Allowing TCP on all ports to exit your network is extremely risky since this includes many vulnerable services. The largest threat is that of Trojan horses contacting their controllers, followed by unintended information leakage, and spreading of malicious code like viruses and worms. | Review all the rules that allow outbound traffic with TCP on all ports, and limit them to those services you actually require by deploying a stateful firewall for outbound traffic. |
O05-I-NSG | High | AlgoSec O05-I-NSG | "Any" service can exit your network to Public IPs | Allowing "Any" service to exit your network is extremely risky since the "Any" service includes many vulnerable services. The largest threat is that of Trojan horses contacting their controllers, followed by unintended information leakage, and spreading of malicious code like viruses and worms. | Review all the rules that allow outbound traffic with the service "Any" service, and limit them to those services you actually require. |
O06-I-NSG | High | AlgoSec O06-I-NSG | UDP on all ports can exit your network to Public IPs | Allowing UDP on all ports to exit your network is extremely risky since this includes many vulnerable services. The largest threat is that of Trojan horses contacting their controllers, followed by unintended information leakage, and spreading of malicious code like viruses and worms. | Review all the rules that allow outbound traffic with UDP on all ports, and limit them to those services you actually require by deploying a stateful firewall for outbound traffic. |
O07-I-NSG | High | AlgoSec O07-I-NSG | FTP can exit your network to Public IPs | Letting FTP (File Transfer Protocol) exit your network is risky as it is not encrypted. It is only authenticated by simple passwords, that are transmitted in the clear. Serious vulnerabilities have been found in many versions of FTP server software. You may have many FTP servers on your internal networks and it is difficult to ensure that they are all properly hardened. A compromised or infected machine could access or damage the data on these servers. | Eliminate rules which allow access to this port to Public IPs. For file upload- use secure alternatives such as SFTP. |
O08-I-NSG | Medium | AlgoSec O08-I-NSG | Risky TCP Microsoft services can exit your network to Public IPs | Allowing Microsoft's NetBIOS services (TCP/135, TCP/139, TCP/445, TCP/593) to exit your network is risky. These services provide file and printer sharing for Microsoft Windows machines, and are among the most attacked services on the Internet. These Microsoft services are a vector for worms and viruses, and they potentially expose your network and data. | Eliminate rules which allow access to this port to public IPs. |
O09-I-NSG | Medium | AlgoSec O09-I-NSG | Risky UDP Microsoft services can exit your network to Public IPs | Allowing Microsoft's NetBIOS services (UDP/137, UDP/138) to exit your network is risky. These services provide file and printer sharing for Microsoft Windows machines, and are among the most attacked services on the Internet. These Microsoft services are a vector for worms and viruses, and they potentially expose your network and data. | Eliminate rules which allow access to this port to public IPs. |
O10-I-NSG | Medium | AlgoSec O10-I-NSG | SMTP can exit your network to more than 256 Public IPs | Allowing outbound SMTP access on TCP port 25/465/587 from many internal machines is risky. Outbound SMTP (E-mail) should only originate from your public mail servers. E-mail is a vector for many viruses and worms. Computers that can send E-mail directly (not through your organization's designated mail servers) can bypass your network's E-mail filters, and spread viruses and worms to other networks. Therefore, outbound SMTP access should be limited to your properly hardened public mail servers. | Restrict the rules to refer to only the destination IPs you really use, and limit the number of public IP addresses that can be reached on this port. |
O11-I-NSG | Critical | AlgoSec O11-I-NSG | Outbound "To Internet allow Any service" rules | Allowing any service to the Internet is risky. Allowing access to all destinations in the Internet may allow exfiltration of information. | Eliminate rules which allow such access and restict the access to specific protocol and ports which are needed. |
O12-I-NSG | Critical | AlgoSec O12-I-NSG | Outbound "To Internet allow All TCP" rules | Allowing All TCP services to the Internet is risky. Allowing access to all destinations in the Internet may allow exfiltration of information. | Eliminate rules which allow such access and restict the access to specific ports which are needed. |
O13-I-NSG | Critical | AlgoSec O13-I-NSG | Outbound "To Internet allow All UDP" rules | Allowing All UDP services to the Internet is risky. Allowing access to all destinations in the Internet may allow exfiltration of information. | Eliminate rules which allow such access and restict the access to specific ports which are needed. |
O14-I-NSG | High | AlgoSec O14-I-NSG | Any service can exit your network to VirtualNetwork | Allowing any service to the whole VirtualNetwork is risky as VirtualNetwork includes many types of your resources, such as your Azure Virtual Machines (VM). Allowing such access may allow exfiltration of information. | Eliminate rules which allow such access and restict the access to specific protocol and ports which are needed. |
O15-I-NSG | High | AlgoSec O15-I-NSG | TCP on all ports can exit your network to VirtualNetwork | Allowing All TCP services to the whole VirtualNetwork is risky as VirtualNetwork includes many types of your resources, such as your Azure Virtual Machines (VM). Allowing such access may allow exfiltration of information. | Eliminate rules which allow such access and restict the access to specific ports which are needed. |
O16-I-NSG | High | AlgoSec O16-I-NSG | UDP on all ports can exit your network to VirtualNetwork | Allowing All UDP services to the whole VirtualNetwork is risky as VirtualNetwork includes many types of your resources, such as your Azure Virtual Machines (VM). Allowing such access may allow exfiltration of information. | Eliminate rules which allow such access and restict the access to specific ports which are needed. |
O17-I-NSG | High | AlgoSec O17-I-NSG | Any service can exit your network to AzureActiveDirectory | AzureActiveDirectory is used to sign in and access public resources, such as Microsoft Office 365, the Azure portal, and thousands of other SaaS applications. Allowing any service to AzureActiveDirectory from your network is risky and redundant. | Eliminate rules which allow such access and restict the access to specific protocol and ports which are needed. |
O18-I-NSG | High | AlgoSec O18-I-NSG | TCP on all ports can exit your network to AzureActiveDirectory | AzureActiveDirectory is used to sign in and access public resources, such as Microsoft Office 365, the Azure portal, and thousands of other SaaS applications. Allowing All TCP services to AzureActiveDirectory from your network is risky and redundant. | Eliminate rules which allow such access and restict the access to specific ports which are needed. |
O19-I-NSG | High | AlgoSec O19-I-NSG | UDP on all ports can exit your network to AzureActiveDirectory | AzureActiveDirectory is used to sign in and access public resources, such as Microsoft Office 365, the Azure portal, and thousands of other SaaS applications. Allowing All UDP services to AzureActiveDirectory from your network is risky and redundant. | Eliminate rules which allow such access and restict the access to specific ports which are needed. |
O20-I-NSG | High | AlgoSec O20-I-NSG | Any service can exit your network to Sql | Allowing any service to Azure SQL Database service from your network is risky. Azure SQL Database is a fully managed service that has built-in high availability, backups, and other common maintenance operations. | Eliminate rules which allow such access and restict the access to specific protocol and ports which are needed. |
O21-I-NSG | High | AlgoSec O21-I-NSG | TCP on all ports can exit your network to Sql | Allowing All TCP services to Azure SQL Database service from your network is risky. Azure SQL Database is a fully managed service that has built-in high availability, backups, and other common maintenance operations. | Eliminate rules which allow such access and restict the access to specific ports which are needed. |
O22-I-NSG | High | AlgoSec O22-I-NSG | UDP on all ports can exit your network to Sql | Allowing All UDP services to Azure SQL Database service from your network is risky. Azure SQL Database is a fully managed service that has built-in high availability, backups, and other common maintenance operations. | Eliminate rules which allow such access and restict the access to specific ports which are needed. |
O23-I-NSG | High | AlgoSec O23-I-NSG | Any service can exit your network to Storage | Allowing any service to Azure Storage service from your network is risky. Azure Storage offers a massively scalable object store for data objects, a file system service for the cloud, a messaging store for reliable messaging, and a NoSQL store. | Eliminate rules which allow such access and restict the access to specific protocol and ports which are needed. |
O24-I-NSG | High | AlgoSec O24-I-NSG | TCP on all ports can exit your network to Storage | Allowing All TCP services to Azure Storage service from your network is risky. Azure Storage offers a massively scalable object store for data objects, a file system service for the cloud, a messaging store for reliable messaging, and a NoSQL store. | Eliminate rules which allow such access and restict the access to specific ports which are needed. |
O25-I-NSG | High | AlgoSec O25-I-NSG | UDP on all ports can exit your network to Storage | Allowing All UDP services to Azure Storage service from your network is risky. Azure Storage offers a massively scalable object store for data objects, a file system service for the cloud, a messaging store for reliable messaging, and a NoSQL store. | Eliminate rules which allow such access and restict the access to specific ports which are needed. |
O26-I-NSG | High | AlgoSec O26-I-NSG | Any service can exit your network to AzureCosmosDB | Allowing any service to AzureCosmosDB service from your network is risky. Azure Cosmos DB is Microsoft's globally distributed, multi-model database service which enables you to elastically and independently scale throughput and storage across any number of Azure regions worldwide. | Eliminate rules which allow such access and restict the access to specific protocol and ports which are needed. |
O27-I-NSG | High | AlgoSec O27-I-NSG | TCP on all ports can exit your network to AzureCosmosDB | Allowing All TCP services to AzureCosmosDB service from your network is risky. Azure Cosmos DB is Microsoft's globally distributed, multi-model database service which enables you to elastically and independently scale throughput and storage across any number of Azure regions worldwide. | Eliminate rules which allow such access and restict the access to specific ports which are needed. |
O28-I-NSG | High | AlgoSec O28-I-NSG | UDP on all ports can exit your network to AzureCosmosDB | Allowing All UDP services to AzureCosmosDB service from your network is risky. Azure Cosmos DB is Microsoft's globally distributed, multi-model database service which enables you to elastically and independently scale throughput and storage across any number of Azure regions worldwide. | Eliminate rules which allow such access and restict the access to specific ports which are needed. |
O29-I-NSG | Critical | AlgoSec O29-I-NSG | Any service can exit your network to AzureKeyVault | Allowing any service to AzureKeyVault service from your network is very risky. Azure Key Vault is a tool for securely storing and accessing secrets. A secret is anything that you want to tightly control access to, such as API keys, passwords, or certificates. A vault is a logical group of secrets. | Eliminate rules which allow such access and restict the access to specific protocol and ports which are needed. |
O30-I-NSG | Critical | AlgoSec O30-I-NSG | TCP on all ports can exit your network to AzureKeyVault | Allowing All TCP services to AzureKeyVault service from your network is very risky. Azure Key Vault is a tool for securely storing and accessing secrets. A secret is anything that you want to tightly control access to, such as API keys, passwords, or certificates. A vault is a logical group of secrets. | Eliminate rules which allow such access and restict the access to specific ports which are needed. |
O31-I-NSG | Critical | AlgoSec O31-I-NSG | UDP on all ports can exit your network to AzureKeyVault | Allowing All UDP services to AzureKeyVault service from your network is very risky. Azure Key Vault is a tool for securely storing and accessing secrets. A secret is anything that you want to tightly control access to, such as API keys, passwords, or certificates. A vault is a logical group of secrets. | Eliminate rules which allow such access and restict the access to specific ports which are needed. |
O32-I-NSG | High | AlgoSec O32-I-NSG | Any service can exit your network to AzureDataLake | Allowing any service to AzureDataLake service from your network is risky. Azure Data Lake includes all the capabilities required to make it easy for developers, data scientists and analysts to store data of any size, shape and speed, and do all types of processing and analytics across platforms and languages. | Eliminate rules which allow such access and restict the access to specific protocol and ports which are needed. |
O33-I-NSG | High | AlgoSec O33-I-NSG | TCP on all ports can exit your network to AzureDataLake | Allowing All TCP services to AzureDataLake service from your network is risky. Azure Data Lake includes all the capabilities required to make it easy for developers, data scientists and analysts to store data of any size, shape and speed, and do all types of processing and analytics across platforms and languages. | Eliminate rules which allow such access and restict the access to specific ports which are needed. |
O34-I-NSG | High | AlgoSec O34-I-NSG | UDP on all ports can exit your network to AzureDataLake | Allowing All UDP service to AzureDataLake service from your network is risky. Azure Data Lake includes all the capabilities required to make it easy for developers, data scientists and analysts to store data of any size, shape and speed, and do all types of processing and analytics across platforms and languages. | Eliminate rules which allow such access and restict the access to specific ports which are needed. |
O35-I-NSG | High | AlgoSec O35-I-NSG | Any service can exit your network to SqlManagement | Allowing any service to AzureDataLake service from your network is risky. Azure Data Lake includes all the capabilities required to make it easy for developers, data scientists and analysts to store data of any size, shape and speed, and do all types of processing and analytics across platforms and languages. | Eliminate rules which allow such access and restict the access to specific protocol and ports which are needed. |
O36-I-NSG | High | AlgoSec O36-I-NSG | TCP on all ports can exit your network to SqlManagement | Allowing All TCP services to AzureDataLake service from your network is risky. Azure Data Lake includes all the capabilities required to make it easy for developers, data scientists and analysts to store data of any size, shape and speed, and do all types of processing and analytics across platforms and languages. | Eliminate rules which allow such access and restict the access to specific ports which are needed. |
O37-I-NSG | High | AlgoSec O37-I-NSG | UDP on all ports can exit your network to SqlManagement | Allowing All UDP service to AzureDataLake service from your network is risky. Azure Data Lake includes all the capabilities required to make it easy for developers, data scientists and analysts to store data of any size, shape and speed, and do all types of processing and analytics across platforms and languages. | Eliminate rules which allow such access and restict the access to specific ports which are needed. |
I01-I-NSG | Critical | AlgoSec I01-I-NSG | Inbound "From Any allow Any service" rules from Public IPs | Inbound rules of the form "From Any with service Any : PASS" are usually more open than is necessary. Allowing all services allows many services that are known to be risky, most of which you probably do not use in your business. Allowing access from all sources may allow access to from risky locations. This subnet is connected from internet, elevating the level of risk. | Restrict the rules to refer to only the source IPs and services you really use. |
I02-I-NSG | Critical | AlgoSec I02-I-NSG | Inbound "From Any allow all TCP" rules from Public IPs | Inbound rules of the form "From Any with all TCP : PASS" are usually more open than is necessary. Allowing all TCP allows many services that are known to be risky, most of which you probably do not use in your business. Allowing access from all sources may allow access to from risky locations. This subnet is connected to the Internet, elevating the level of risk. | Restrict the rules to refer to only the source IPs and services you really use. |
I03-I-NSG | Critical | AlgoSec I03-I-NSG | Inbound "From Any allow all UDP" rules from Public IPs | Inbound rules of the form "From Any with all UDP : PASS" are usually more open than is necessary. Allowing all UDP allows many services that are known to be risky, most of which you probably do not use in your business. Allowing access from all sources may allow access to from risky locations. This subnet is connected to the Internet, elevating the level of risk. | Restrict the rules to refer to only the source IPs and services you really use. |
I04-I-NSG | High | AlgoSec I04-I-NSG | "Any" service can enter your network from Public IPs | Allowing the "Any" service to enter your network is extremely risky since the "Any" service includes many vulnerable services. This is risky even if the traffic is only allowed from business partners or through VPNs. | Review all the rules that allow inbound traffic with "Any" service, and limit them to those services you actually require. |
I05-I-NSG | High | AlgoSec I05-I-NSG | TCP on all ports can enter your network from Public IPs | Allowing TCP on all ports to enter your network is extremely riskysince this includes many vulnerable services. This is risky even if the traffic is only allowed from business partners or through VPNs: a remote laptop connecting through a VPN could easily infect your network with a worm or virus. | Review all the rules that allow inbound traffic with TCP on all ports, and limit them to those services you actually require. |
I06-I-NSG | High | AlgoSec I06-I-NSG | UDP on all ports can enter your network from Public IPs | Allowing UDP on all ports to enter your network is extremely risky since this includes many vulnerable services. This is risky even if the traffic is only allowed from business partners or through VPNs: a remote laptop connecting through a VPN could easily infect your network with a worm or virus. | Review all the rules that allow inbound traffic with UDP on all ports, and limit them to those services you actually require. |
I07-I-NSG | High | AlgoSec I07-I-NSG | LDAP Port TCP/389, UDP/389 open from Public IPs | Your cloud LDAP server is accessible using the LDAP port (UDP/389, TCP/389). LDAP (Lightweight Directory Access Protocol) is a directory service for controling access to network capable devices. Allowing access to these ports from public IP addresses is risky. | Eliminate rules which allow access to this port from the Internet. |
I08-I-NSG | High | AlgoSec I08-I-NSG | Port 3020 can enter your network from Public IPs | Your cloud estate is accessible using file sharing Protocol CIFS over port 3020. Allowing file sharing access from public IP addresses is risky. | Eliminate rules which allow access to this port from the Internet. |
I09-I-NSG | High | AlgoSec I09-I-NSG | Database port TCP/9000 can enter your network from Public IPs | Your cloud Hadoop database is accessible using administrative port TCP/9000. Hadoop is a framework for distributed data processing that allows access to the data and may act as database. Opening Hadoop port for public IPs is risky | Eliminate rules which allow access to this port from the Internet. |
I10-I-NSG | High | AlgoSec I10-I-NSG | Administrative port TCP/1434 can enter your network from Public IPs | Your cloud database managment system is accessible using the MSSQL administrative port TCP/1434. MSSQL is a Microsoft SQL server database managment system. Databases are the elements of Electronic Business, Financial, Banking, and Enterprise Resource Planning (ERP) system, and include critical information from partners, customers, and employees. Databases are extremely complex application and are, often times, difficult to correctly configure and secure. As a result serious security vulnerabilities and mis-configurations frequently go unchecked or completely undetected. For this reason, allowing direct inbound access to your corporate databases is risky. | Eliminate rules which allow access to this port from the Internet. |
I11-I-NSG | High | AlgoSec I11-I-NSG | MSSQL(UDP/1434) can enter your network from Public IPs | Your cloud database managment system is accessible using the MSSQL port UDP/1434. MSSQL is a Microsoft SQL server database managment system. Databases are the elements of Electronic Business, Financial, Banking, and Enterprise Resource Planning (ERP) system, and include critical information from partners, customers, and employees. Databases are extremely complex application and are, often times, difficult to correctly configure and secure. As a result serious security vulnerabilities and mis-configurations frequently go unchecked or completely undetected. For this reason, allowing direct inbound access to your corporate databases is risky. | Eliminate rules which allow access to this port from the Internet. |
I12-I-NSG | High | AlgoSec I12-I-NSG | Database port TCP/27017-27019 can enter your network from Public IPs | Your cloud database managment system is accessible using the Mongo Web Portal port with TCP/27018. Mongo Web Portal is a "mongodb" named protocol that allows access to MongoDB API. Databases are the elements of Electronic Business, Financial, Banking, and Enterprise Resource Planning (ERP) system, and include critical information from partners, customers, and employees. Databases are extremely complex application and are, often times, difficult to correctly configure and secure. As a result serious security vulnerabilities and mis-configurations frequently go unchecked or completely undetected. For this reason, allowing direct inbound access to your corporate databases is risky. | Eliminate rules which allow access to this port from the Internet. |
I13-I-NSG | High | AlgoSec I13-I-NSG | Database port TCP/3306 can enter your network from Public IPs | Your cloud database managment system is accessible using the MySQL debug port TCP/3306. MySQL is a database managment system (RDBMS). Databases are the elements of Electronic Business, Financial, Banking, and Enterprise Resource Planning (ERP) system, and include critical information from partners, customers, and employees. Databases are extremely complex application and are, often times, difficult to correctly configure and secure. As a result serious security vulnerabilities and mis-configurations frequently go unchecked or completely undetected. For this reason, allowing direct inbound access to your corporate databases is risky. | Eliminate rules which allow access to this port from the Internet. |
I14-I-NSG | High | AlgoSec I14-I-NSG | Administrative port UDP/161 can enter your network from Public IPs | Your cloud estate is accessible using the SNMP service (UDP/161). SNMP (Simple Network Management Protocol) is a protocol used to manage networking and edge devices. Allowing SNMP from public IP addresses is risky. | Eliminate rules which allow access to this port from the Internet. |
I15-I-NSG | High | AlgoSec I15-I-NSG | Telnet can enter your network from Public IPs | Telnet is a remote-login service that is not encrypted. It is only authenticated by simple passwords, that are transmitted in the clear. | Eliminate rules which allow access to this port from the Internet. |
I16-I-NSG | High | AlgoSec I16-I-NSG | Risky TCP Microsoft services can enter your network from Public IPs | Allowing Microsoft's NetBIOS services (TCP/135, TCP/139, TCP/445, TCP/593) to cross into your network is extremely risky. These services provide file sharing Protocol SMB and printer sharing for Microsoft Windows machines, and are among the most attacked services on the Internet. These Microsoft services are a vector for worms and viruses, and they potentially expose your network and data. | Eliminate rules which allow access to this port from the Internet. |
I17-I-NSG | High | AlgoSec I17-I-NSG | Database port TCP/1433 can enter your network from Public IPs | Your cloud database managment system is accessible using the MSSQL port TCP/1433. MSSQL is a Microsoft SQL server database managment system. Databases are the elements of Electronic Business, Financial, Banking, and Enterprise Resource Planning (ERP) system, and include critical information from partners, customers, and employees. Databases are extremely complex application and are, often times, difficult to correctly configure and secure. As a result serious security vulnerabilities and mis-configurations frequently go unchecked or completely undetected. For this reason, allowing direct inbound access to your corporate databases is risky. | Eliminate rules which allow access to this port from the Internet. |
I18-I-NSG | High | AlgoSec I18-I-NSG | Database port TCP/5432 can enter your network from Public IPs | Allowing inbound access using database-access protocol PostgreSQL (TCP/5432) may expose your most critical databases to attack. Databases are the elements of Electronic Business, Financial, Banking, and Enterprise Resource Planning (ERP) system, and include critical information from partners, customers, and employees. Databases are extremely complex application and are, often times, difficult to correctly configure and secure. As a result serious security vulnerabilities and mis-configurations frequently go unchecked or completely undetected. For this reason, allowing direct inbound access to your corporate databases is risky. | Eliminate rules which allow access to this port from the Internet. |
I19-I-NSG | High | AlgoSec I19-I-NSG | Database port TCP/523 can enter your network from Public IPs | Allowing inbound access using database-access protocol IBM DB2 (TCP/523) may expose your most critical databases to attack. Databases are the elements of Electronic Business, Financial, Banking, and Enterprise Resource Planning (ERP) system, and include critical information from partners, customers, and employees. Databases are extremely complex application and are, often times, difficult to correctly configure and secure. As a result serious security vulnerabilities and mis-configurations frequently go unchecked or completely undetected. For this reason, allowing direct inbound access to your corporate databases is risky. | Eliminate rules which allow access to this port from the Internet. |
I20-I-NSG | High | AlgoSec I20-I-NSG | Database port TCP/1521 can enter your network from Public IPs | Allowing inbound access using database-access protocol Oracle's sqlnet (TCP/1521) may expose your most critical databases to attack. Databases are the elements of Electronic Business, Financial, Banking, and Enterprise Resource Planning (ERP) system, and include critical information from partners, customers, and employees. Databases are extremely complex application and are, often times, difficult to correctly configure and secure. As a result serious security vulnerabilities and mis-configurations frequently go unchecked or completely undetected. For this reason, allowing direct inbound access to your corporate databases is risky. | Eliminate rules which allow access to this port from the Internet. |
I21-I-NSG | Medium | AlgoSec I21-I-NSG | RPC can enter your network from Public IPs | The Sunrpc service(TCP/UDP port 111) is used by the Unix "portmapper" daemon to support services like NFS. Allowing such traffic in could expose your data if you have Unix file servers. | Eliminate rules which allow access to this port from the Internet. |
I22-I-NSG | High | AlgoSec I22-I-NSG | FTP can enter your network from Public IPs | Letting FTP (File Transfer Protocol) reach internal servers is risky as it is not encrypted. It is only authenticated by simple passwords, that are transmitted in the clear. Serious vulnerabilities have been found in many versions of FTP server software. You may have many FTP servers on your internal networks and it is difficult to ensure that they are all properly hardened. A compromised or infected machine could access or damage the data on these servers. | Eliminate rules which allow access to this port from the Internet. For file upload from the Internet - use secure alternatives such as SFTP. |
I23-I-NSG | Low | AlgoSec I23-I-NSG | Version control services can enter your network from Public IPs | Allowing inbound access to version control systems like CVS (TCP/2401) or Subversion (TCP/3690) may be risky if you use these systems. Version control systems provide tools to manage different versions of documents or source code and facilitate multiple users to concurrently work on the same set of files. These systems have serious known vulnerabilities. | If you use either the CVS or the Subversion version control systems, eliminate rules which allow access to this port from the Internet. |
I24-I-NSG | High | AlgoSec I24-I-NSG | Administrative port 22 (ssh) can enter your network from more than 256 Public IPs | Allowing access from more than 256 Public IP addresses using the SSH service (TCP/22) is risky. SSH is a remote-login service that allows command-line access to Linux/Unix-based servers and is generally used for server administration. Allowing administrative access from too many public IP addresses is risky. | Restrict the rules to refer to only the source IPs you really use, and limit the number of public IP addresses that have this administrative access. |
I25-I-NSG | High | AlgoSec I25-I-NSG | Administrative port 3389(RDP) can enter your network from more than 256 Public IPs | Allowing access from more than 256 Public IP addresses using the Microsoft RDP protocol over port 3389 is risky. RDP stands for Remote-Desktop and is a Windows service that allows remote-login to windows machines. RDP is used for Windows-based server administration. Allowing administrative access from too many public IP addresses is risky. | Restrict the rules to refer to only the source IPs you really use, and limit the number of public IP addresses that have this administrative access. |
I26-I-NSG | High | AlgoSec I26-I-NSG | Risky UDP Microsoft services can enter your network from Public IPs | Allowing Microsoft's NetBIOS services (UDP/137, UDP/138) to cross into your network is extremely risky. These services provide file sharing Protocol SMB and printer sharing for Microsoft Windows machines, and are among the most attacked services on the Internet. These Microsoft services are a vector for worms and viruses, and they potentially expose your network and data. | Eliminate rules which allow access to this port from the Internet. |
I27-I-NSG | Critical | AlgoSec I27-I-NSG | Inbound "From Internet allow Any service" rules | Allowing any service from the Internet is risky. Allowing access to all destinations in the Internet may allow exfiltration of information. | Eliminate rules which allow such access and restict the access to specific protocol and ports which are needed. |
I28-I-NSG | Critical | AlgoSec I28-I-NSG | Inbound "From Internet allow All TCP" rules | Allowing All TCP services from the Internet is risky. Allowing access to all destinations in the Internet may allow exfiltration of information. | Eliminate rules which allow such access and restict the access to specific ports which are needed. |
I29-I-NSG | Critical | AlgoSec I29-I-NSG | Inbound "From Internet allow ALL UDP" rules | Allowing All UDP services from the Internet is risky. Allowing access to all destinations in the Internet may allow exfiltration of information. | Eliminate rules which allow such access and restict the access to specific ports which are needed. |
I30-I-NSG | High | AlgoSec I30-I-NSG | Any service can enter your network from VirtualNetwork | Allowing any services from the whole VirtualNetwork is risky as VirtualNetwork includes many types of your resources, such as your Azure Virtual Machines (VM). Allowing such access may allow exfiltration of information. | Eliminate rules which allow such access and restict the access to specific protocol and ports which are needed. |
I31-I-NSG | High | AlgoSec I31-I-NSG | TCP on all ports can enter your network from VirtualNetwork | Allowing All TCP services from the whole VirtualNetwork is risky as VirtualNetwork includes many types of your resources, such as your Azure Virtual Machines (VM). Allowing such access may allow exfiltration of information. | Eliminate rules which allow such access and restict the access to specific ports which are needed. |
I32-I-NSG | High | AlgoSec I32-I-NSG | UDP on all ports can enter your network from VirtualNetwork | Allowing All UDP services from the whole VirtualNetwork is risky as VirtualNetwork includes many types of your resources, such as your Azure Virtual Machines (VM). Allowing such access may allow exfiltration of information. | Eliminate rules which allow such access and restict the access to specific ports which are needed. |
I33-I-NSG | High | AlgoSec I33-I-NSG | Any service can enter your network from AzureTrafficManager | Allowing any service from the AzureTrafficManager service is risky. Azure Traffic Manager enables you to control the distribution of traffic across your application endpoints. An endpoint is any Internet-facing service hosted inside or outside of Azure. | Eliminate rules which allow such access and restict the access to specific protocol and ports which are needed. |
I34-I-NSG | High | AlgoSec I34-I-NSG | TCP on all ports can enter your network from AzureTrafficManager | Allowing All TCP services from the AzureTrafficManager service is risky. Azure Traffic Manager enables you to control the distribution of traffic across your application endpoints. An endpoint is any Internet-facing service hosted inside or outside of Azure. | Eliminate rules which allow such access and restict the access to specific ports which are needed. |
I35-I-NSG | High | AlgoSec I35-I-NSG | UDP on all ports can enter your network from AzureTrafficManager | Allowing All UDP services from the AzureTrafficManager is risky. Azure Traffic Manager enables you to control the distribution of traffic across your application endpoints. An endpoint is any Internet-facing service hosted inside or outside of Azure. | Eliminate rules which allow such access and restict the access to specific ports which are needed. |
I36-I-NSG | High | AlgoSec I36-I-NSG | Any service can enter your network from GatewayManager | Allowing any service from the GatewayManager service is risky. Azure GatewayManager manages the management traffic for deployments dedicated to Azure VPN Gateway and Application Gateway. | Eliminate rules which allow such access and restict the access to specific protocol and ports which are needed. |
I37-I-NSG | High | AlgoSec I37-I-NSG | TCP on all ports can enter your network from GatewayManager | Allowing All TCP services from the GatewayManager service is risky. Azure GatewayManager manages the management traffic for deployments dedicated to Azure VPN Gateway and Application Gateway. | Eliminate rules which allow such access and restict the access to specific ports which are needed. |
I38-I-NSG | High | AlgoSec I38-I-NSG | UDP on all ports can enter your network from GatewayManager | Allowing All UDP services from the GatewayManager is risky. Azure GatewayManager manages the management traffic for deployments dedicated to Azure VPN Gateway and Application Gateway. | Eliminate rules which allow such access and restict the access to specific ports which are needed. |
I39-I-NSG | High | AlgoSec I39-I-NSG | Any service can enter your network from SqlManagement | Allowing any service from the SqlManagement service is risky. Azure SqlManagement manages the management traffic for SQL-dedicated deployments. | Eliminate rules which allow such access and restict the access to specific protocol and ports which are needed. |
I40-I-NSG | High | AlgoSec I40-I-NSG | TCP on all ports can enter your network from SqlManagement | Allowing All TCP services from the SqlManagement service is risky. Azure SqlManagement manages the management traffic for SQL-dedicated deployments. | Eliminate rules which allow such access and restict the access to specific ports which are needed. |
I41-I-NSG | High | AlgoSec I41-I-NSG | UDP on all ports can enter your network from SqlManagement | Allowing All UDP services from the SqlManagement is risky. Azure SqlManagement manages the management traffic for SQL-dedicated deployments. | Eliminate rules which allow such access and restict the access to specific ports which are needed. |
I42-I-NSG | High | AlgoSec I42-I-NSG | Inbound "From Any allow HTTP" rules from Public IPs | HTTP traffic is unencrypted and therefore insecure. All inbound web traffic should use HTTPS. | Restrict the rules to refer to only the source IPs you really use and change the application to use HTTPS. |
I43-I-NSG | Medium | AlgoSec I43-I-NSG | Inbound "From Any allow HTTPS" rules from Public IPs | Allowing HTTPS from anywhere is risky unless it is to a public facing website. | Restrict the rules to refer to only the source IPs that need access to the protected site. |
O01-NI-NSG | Medium | AlgoSec O01-NI-NSG | TCP on all ports can exit your network to Private IPs | Allowing TCP on all ports to exit your network is extremely risky since this includes many vulnerable services. The largest threat is that of Trojan horses contacting their controllers, followed by unintended information leakage, and spreading of malicious code like viruses and worms. | Review all the rules that allow outbound traffic with TCP on all ports, and limit them to those services you actually require by deploying a stateful firewall for outbound traffic. |
O02-NI-NSG | Medium | AlgoSec O02-NI-NSG | "Any" service can exit your network to Private IPs | Allowing "Any" service to exit your network is extremely risky since the "Any" service includes many vulnerable services. The largest threat is that of Trojan horses contacting their controllers, followed by unintended information leakage, and spreading of malicious code like viruses and worms. | Review all the rules that allow outbound traffic with the service "Any" service, and limit them to those services you actually require by deploying a stateful firewall for outbound traffic. |
O03-NI-NSG | Medium | AlgoSec O03-NI-NSG | UDP on all ports can exit your network to Private IPs | Allowing UDP on all ports to exit your network is extremely risky since this includes many vulnerable services. The largest threat is that of Trojan horses contacting their controllers, followed by unintended information leakage, and spreading of malicious code like viruses and worms. | Review all the rules that allow outbound traffic with UDP on all ports, and limit them to those services you actually require by deploying a stateful firewall for outbound traffic. |
O04-NI-NSG | Medium | AlgoSec O04-NI-NSG | Risky TCP Microsoft services can exit your network to Private IPs | Allowing Microsoft's NetBIOS services (TCP/135, TCP/139, TCP/445, TCP/593) to exit your network is risky. These services provide file and printer sharing for Microsoft Windows machines, and are among the most attacked services on the Internet. These Microsoft services are a vector for worms and viruses, and they potentially expose your network and data. | Eliminate rules which allow access to this port to Private IPs. |
O05-NI-NSG | Medium | AlgoSec O05-NI-NSG | FTP can exit your network to Private IPs | Letting FTP (File Transfer Protocol) exit your network is risky as it is not encrypted. It is only authenticated by simple passwords, that are transmitted in the clear. Serious vulnerabilities have been found in many versions of FTP server software. You may have many FTP servers on your internal networks and it is difficult to ensure that they are all properly hardened. A compromised or infected machine could access or damage the data on these servers. | Eliminate rules which allow access to this port to Private IPs. For file upload- use secure alternatives such as SFTP. |
O06-NI-NSG | Low | AlgoSec O06-NI-NSG | SMTP can exit your network to more than 256 Private IPs | Allowing outbound SMTP access on TCP port 25/465/587 from many internal machines is risky. Outbound SMTP (E-mail) should only originate from your public mail servers. E-mail is a vector for many viruses and worms. Computers that can send E-mail directly (not through your organization's designated mail servers) can bypass your network's E-mail filters, and spread viruses and worms to other networks. Therefore, outbound SMTP access should be limited to your properly hardened public mail servers. | Restrict the rules to refer to only the destination IPs you really use, and limit the number of public IP addresses that can be reached on this port. |
O07-NI-NSG | Medium | AlgoSec O07-NI-NSG | Risky UDP Microsoft services can exit your network to Private IPs | Allowing Microsoft's NetBIOS services (UDP/137, UDP/138) to exit your network is risky. These services provide file and printer sharing for Microsoft Windows machines, and are among the most attacked services on the Internet. These Microsoft services are a vector for worms and viruses, and they potentially expose your network and data. | Eliminate rules which allow access to this port to Private IPs. |
I01-NI-NSG | Medium | AlgoSec I01-NI-NSG | "Any" service can enter your network from Private IPs | Allowing the "Any" service to enter your network is extremely risky since the "Any" service includes many vulnerable services. This is risky even if the traffic is only allowed from business partners or through VPNs. | Review all the rules that allow inbound traffic with "Any" service, and limit them to those services you actually require. |
I02-NI-NSG | Medium | AlgoSec I02-NI-NSG | TCP on all ports can enter your network from Private IPs | Allowing TCP on all ports to enter your network is extremely riskysince this includes many vulnerable services. This is risky even if the traffic is only allowed from business partners or through VPNs: a remote laptop connecting through a VPN could easily infect your network with a worm or virus. | Review all the rules that allow inbound traffic with TCP on all ports, and limit them to those services you actually require. |
I03-NI-NSG | Medium | AlgoSec I03-NI-NSG | UDP on all ports can enter your network from Private IPs | Allowing UDP on all ports to enter your network is extremely risky since this includes many vulnerable services. This is risky even if the traffic is only allowed from business partners or through VPNs: a remote laptop connecting through a VPN could easily infect your network with a worm or virus. | Review all the rules that allow inbound traffic with UDP on all ports, and limit them to those services you actually require. |
I04-NI-NSG | Medium | AlgoSec I04-NI-NSG | LDAP Port TCP/389, UDP/389 open from Private IPs | Your cloud LDAP server is accessible using the LDAP port (UDP/389, TCP/389). LDAP (Lightweight Directory Access Protocol) is a directory service for controling access to network capable devices. Allowing access to these ports is risky. | Eliminate rules which allow access to this port from private IPs. |
I05-NI-NSG | Medium | AlgoSec I05-NI-NSG | Port 3020 can enter your network from Private IPs | Your cloud estate is accessible using file sharing Protocol CIFS over port 3020. Allowing file sharing accesson this port is risky. | Eliminate rules which allow access to this port from private IPs. |
I06-NI-NSG | Medium | AlgoSec I06-NI-NSG | Database port TCP/9000 can enter your network from Private IPs | Your cloud Hadoop database is accessible using administrative port TCP/9000. Hadoop is a framework for distributed data processing that allows access to the data and may act as database. Opening Hadoop port is risky | Eliminate rules which allow access to this port private IPs. |
I07-NI-NSG | Medium | AlgoSec I07-NI-NSG | Administrative port TCP/1434 can enter your network from Private IPs | Your cloud database managment system is accessible using the MSSQL administrative port TCP/1434. MSSQL is a Microsoft SQL server database managment system. Databases are the elements of Electronic Business, Financial, Banking, and Enterprise Resource Planning (ERP) system, and include critical information from partners, customers, and employees. Databases are extremely complex application and are, often times, difficult to correctly configure and secure. As a result serious security vulnerabilities and mis-configurations frequently go unchecked or completely undetected. For this reason, allowing direct inbound access to your corporate databases is risky. | Eliminate rules which allow access to this port private IPs. |
I08-NI-NSG | Medium | AlgoSec I08-NI-NSG | MSSQL(UDP/1434) can enter your network from Private IPs | Your cloud database managment system is accessible using the MSSQL port UDP/1434. MSSQL is a Microsoft SQL server database managment system. Databases are the elements of Electronic Business, Financial, Banking, and Enterprise Resource Planning (ERP) system, and include critical information from partners, customers, and employees. Databases are extremely complex application and are, often times, difficult to correctly configure and secure. As a result serious security vulnerabilities and mis-configurations frequently go unchecked or completely undetected. For this reason, allowing direct inbound access to your corporate databases is risky. | Eliminate rules which allow access to this port from private IPs. |
I09-NI-NSG | Medium | AlgoSec I09-NI-NSG | Database port TCP/27017-27019 can enter your network from Private IPs | Your cloud database managment system is accessible using the Mongo Web Portal port with TCP/27018. Mongo Web Portal is a "mongodb" named protocol that allows access to MongoDB API. Databases are the elements of Electronic Business, Financial, Banking, and Enterprise Resource Planning (ERP) system, and include critical information from partners, customers, and employees. Databases are extremely complex application and are, often times, difficult to correctly configure and secure. As a result serious security vulnerabilities and mis-configurations frequently go unchecked or completely undetected. For this reason, allowing direct inbound access to your corporate databases is risky. | Eliminate rules which allow access to this port private IPs. |
I10-NI-NSG | Medium | AlgoSec I10-NI-NSG | Database port TCP/3306 can enter your network from Private IPs | Your cloud database managment system is accessible using the MySQL debug port TCP/3306. MySQL is a database managment system (RDBMS). Databases are the elements of Electronic Business, Financial, Banking, and Enterprise Resource Planning (ERP) system, and include critical information from partners, customers, and employees. Databases are extremely complex application and are, often times, difficult to correctly configure and secure. As a result serious security vulnerabilities and mis-configurations frequently go unchecked or completely undetected. For this reason, allowing direct inbound access to your corporate databases is risky. | Eliminate rules which allow access to this port private IPs. |
I11-NI-NSG | Medium | AlgoSec I11-NI-NSG | Administrative port UDP/161 can enter your network from Private IPs | Your cloud estate is accessible using the SNMP service (UDP/161). SNMP (Simple Network Management Protocol) is a protocol used to manage networking and edge devices. Allowing SNMP port UDP/161 is risky. | Eliminate rules which allow access to this port from private IPs. |
I12-NI-NSG | Medium | AlgoSec I12-NI-NSG | Telnet can enter your network from Private IPs | Telnet is a remote-login service that is not encrypted. It is only authenticated by simple passwords, that are transmitted in the clear. | Eliminate rules which allow access to this port from private IPs. |
I13-NI-NSG | Medium | AlgoSec I13-NI-NSG | Risky TCP Microsoft services can enter your network from Private IPs | Allowing Microsoft's NetBIOS services (TCP/135, TCP/139, TCP/445, TCP/593) to cross into your network is extremely risky. These services provide file and printer sharing for Microsoft Windows machines, and are among the most attacked services on the Internet. These Microsoft services are a vector for worms and viruses, and they potentially expose your network and data. | Eliminate rules which allow access to this port from private IPs. |
I14-NI-NSG | Medium | AlgoSec I14-NI-NSG | Database port TCP/1433 can enter your network from Private IPs | Your cloud database managment system is accessible using the MSSQL port TCP/1433. MSSQL is a Microsoft SQL server database managment system. Databases are the elements of Electronic Business, Financial, Banking, and Enterprise Resource Planning (ERP) system, and include critical information from partners, customers, and employees. Databases are extremely complex application and are, often times, difficult to correctly configure and secure. As a result serious security vulnerabilities and mis-configurations frequently go unchecked or completely undetected. For this reason, allowing direct inbound access to your corporate databases is risky. | Eliminate rules which allow access to this port from private IPs. |
I15-NI-NSG | Medium | AlgoSec I15-NI-NSG | Database port TCP/5432 can enter your network from Private IPs | Allowing inbound access using database-access protocol PostgreSQL (TCP/5432) may expose your most critical databases to attack. Databases are the elements of Electronic Business, Financial, Banking, and Enterprise Resource Planning (ERP) system, and include critical information from partners, customers, and employees. Databases are extremely complex application and are, often times, difficult to correctly configure and secure. As a result serious security vulnerabilities and mis-configurations frequently go unchecked or completely undetected. For this reason, allowing direct inbound access to your corporate databases is risky. | Eliminate rules which allow access to this port from private IPs. |
I16-NI-NSG | Medium | AlgoSec I16-NI-NSG | Database port TCP/523 can enter your network from Private IPs | Allowing inbound access using database-access protocol IBM DB2 (TCP/523) may expose your most critical databases to attack. Databases are the elements of Electronic Business, Financial, Banking, and Enterprise Resource Planning (ERP) system, and include critical information from partners, customers, and employees. Databases are extremely complex application and are, often times, difficult to correctly configure and secure. As a result serious security vulnerabilities and mis-configurations frequently go unchecked or completely undetected. For this reason, allowing direct inbound access to your corporate databases is risky. | Eliminate rules which allow access to this port from private IPs. |
I17-NI-NSG | Medium | AlgoSec I17-NI-NSG | Database port TCP/1521 can enter your network from Private IPs | Allowing inbound access using database-access protocol Oracle's sqlnet (TCP/1521) may expose your most critical databases to attack. Databases are the elements of Electronic Business, Financial, Banking, and Enterprise Resource Planning (ERP) system, and include critical information from partners, customers, and employees. Databases are extremely complex application and are, often times, difficult to correctly configure and secure. As a result serious security vulnerabilities and mis-configurations frequently go unchecked or completely undetected. For this reason, allowing direct inbound access to your corporate databases is risky. | Eliminate rules which allow access to this port from the Internet. |
I18-NI-NSG | Low | AlgoSec I18-NI-NSG | RPC can enter your network from Private IPs | The Sunrpc service(TCP/UDP port 111) is used by the Unix "portmapper" daemon to support services like NFS. Allowing such traffic in could expose your data if you have Unix file servers. | Eliminate rules which allow access to this port from private IPs. |
I19-NI-NSG | Medium | AlgoSec I19-NI-NSG | FTP can enter your network from Private IPs | Letting FTP (File Transfer Protocol) reach internal servers is risky as it is not encrypted. It is only authenticated by simple passwords, that are transmitted in the clear. Serious vulnerabilities have been found in many versions of FTP server software. You may have many FTP servers on your internal networks and it is difficult to ensure that they are all properly hardened. A compromised or infected machine could access or damage the data on these servers. | Eliminate rules which allow access to this port from private IPs. For file upload- use secure alternatives such as SFTP. |
I20-NI-NSG | Low | AlgoSec I20-NI-NSG | Version control services can enter your network from Private IPs | Allowing inbound access to Unix version control systems like CVS (TCP/2401) or Subversion (TCP/3690) may be risky if you use these systems. Version control systems provide tools to manage different versions of documents or source code and facilitate multiple users to concurrently work on the same set of files. These systems have serious known vulnerabilities. | If you use either the CVS or the Subversion version control systems, eliminate rules which allow access to this port from private IPs. |
I21-NI-NSG | Medium | AlgoSec I21-NI-NSG | Administrative port 22 (ssh) can enter your network from more than 256 Private IPs | Allowing access from more than 256 Private IP addresses using the SSH service (TCP/22) is risky. SSH is a remote-login service that allows command-line access to Linux/Unix-based servers and is generally used for server administration. Allowing administrative access from too many public IP addresses is risky. | Restrict the rules to refer to only the source IPs you really use, and limit the number of public IP addresses that have this administrative access. |
I22-NI-NSG | Medium | AlgoSec I22-NI-NSG | Administrative port 3389(RDP) can enter your network from more than 256 Private IPs | Allowing access from from more than 256 Private IP addresses using the Microsoft RDP protocol over port 3389 is risky. RDP stands for Remote-Desktop and is a Windows service that allows remote-login to windows machines. RDP is used for Windows-based server administration. Allowing administrative access from too many public IP addresses is risky. | Restrict the rules to refer to only the source IPs you really use, and limit the number of public IP addresses that have this administrative access. |
I23-NI-NSG | Medium | AlgoSec I23-NI-NSG | Risky UDP Microsoft services can enter your network from Private IPs | Allowing Microsoft's NetBIOS services (UDP/137, UDP/138) to cross into your network is extremely risky. These services provide file and printer sharing for Microsoft Windows machines, and are among the most attacked services on the Internet. These Microsoft services are a vector for worms and viruses, and they potentially expose your network and data. | Eliminate rules which allow access to this port from private IPs. |
R01-AZFW | Medium | AlgoSec R01-AZFW | "From somewhere to Any allow Any service" rules | Rules of the form From <My Source> to Any with service Any : PASS Are usually more open than is necessary. Allowing all services allows many services that are known to be risky, most of which you probably do not use in your business. Allowing access to all destinations gives access to all the hosts within your perimeter, including the device itself, (in addition to all Internet hosts). | Review these rules, determine which destinations are necessary, which services are actually required, and modify the rules according to the narrowest actual security needs. |
R08-AZFW | Medium | AlgoSec R08-AZFW | "Allow Any service" rules | Rules of the form From <My Source> to <My Destination> with service Any : PASS Are usually more open than is necessary. Allowing all services allows many services that are known to be risky, most of which you probably do not use in your business. | Review these rules, determine which services are actually required, and modify the rules according to the narrowest actual security needs. |
R09-AZFW | Medium | AlgoSec R09-AZFW | "Any destination" rules | Rules of the form From <My Source> to Any with service <My Service> : PASS Are usually more open than is necessary. Allowing access to all destinations gives access to all the hosts within your perimeter, including the device itself, (in addition to all Internet hosts). | Review these rules, determine which destinations are necessary, and modify the rules according to the narrowest actual security needs. |
R10-AZFW | Low | AlgoSec R10-AZFW | "From Any source" rules | Rules of the form From Any to <My Destination> with service <My Service> : PASS may be more open than is necessary. Allowing access from all sources gives access from all the hosts on the Internet in addition to all the hosts within your perimeter. | Review these rules, determine which sources are necessary, and modify the rules according to the narrowest actual security needs. |
D01-AZFW | High | AlgoSec D01-AZFW | "Any" service between internal networks | Allowing the "Any" service to cross between different network segments is risky since the "Any" service includes many vulnerable services. It means that the different network segments are not properly separated from each other. The risk is highest if the "Any" service is allowed from a DMZ network into other network segments: If a DMZ server becomes infected with a worm or virus, the infection may spread into other parts of your network. | Review all the rules that allow traffic with the "*" service, and limit them to those services you actually require. Pay extra attention to traffic leaving DMZ network segments. |
D02-AZFW | Medium | AlgoSec D02-AZFW | TCP on all ports between internal networks | Allowing TCP on all ports to cross between different network segments is risky since this includes many vulnerable services. It means that the different network segments are not properly separated from each other. The risk is highest if TCP on all ports is allowed from a DMZ network into other network segments: If a DMZ server becomes infected with a worm or virus, the infection may spread into other parts of your network. | Review all the rules that allow traffic with TCP on all ports, and limit them to those services you actually require. Pay extra attention to traffic leaving DMZ network segments. |
D03-AZFW | Medium | AlgoSec D03-AZFW | UDP on all ports between internal networks | Allowing UDP on all ports to cross between different network segments is risky since this includes many vulnerable services. It means that the different network segments are not properly separated from each other. The risk is highest if UDP on all ports is allowed from a DMZ network into other network segments: If a DMZ server becomes infected with a worm or virus, the infection may spread into other parts of your network. | Review all the rules that allow traffic with UDP on all ports, and limit them to those services you actually require. Pay extra attention to traffic leaving DMZ network segments. |
D04-AZFW | Medium | AlgoSec D04-AZFW | Risky Microsoft services between internal networks | Allowing Microsoft's NetBIOS services (UDP/137, UDP/138, TCP/135, TCP/139, TCP/445, TCP/593) to cross between different network segments is risky. These services provide file and printer sharing for Microsoft Windows machines, and are among the most attacked services on the Internet. These Microsoft services are a vector for worms and viruses, and they potentially expose your network and data. | Add the following rule as one of the first rules: From Any to Any with service "NBT" : DROP The "NBT" service should be pre-defined on a Check Point firewall. If it is not, or on a different brand of firewall, define NBT to include all these ports: udp/137, udp/138, tcp/135, tcp/139, tcp/445, tcp/593. |
D32-AZFW | Medium | AlgoSec D32-AZFW | UPnP between internal networks | Universal Plug and Play (UPnP) is an architecture that supports peer-to-peer Plug and Play functionality for network devices. UPnP discovery, is a service that runs by default on WinXP, and creates an immediately exploitable security vulnerability for any network-connected system. Filtering this port proactively prevents XP systems from being remotely compromised by malicious worms or intruders. | Review all the rules that allow traffic between your internal network segments with the "upnp" service, and modify or remove them. |
D37-AZFW | Medium | AlgoSec D37-AZFW | DHCP traffic between internal networks | The Bootstrap Protocol (BOOTP) is an computer networking protocol used in Internet Protocol networks to automatically assign an IP address to network devices from a configuration server. Parts of BOOTP are used to provide service to the DHCP protocol, DHCP should not be allowed across the device as it provides a service available to DoS attacks, and hands out IP addresses to devices that go on net. | Review all the rules that allow traffic between your internal network segments with the "bootp" services, and modify or remove them. |
I01-AZFW | Critical | AlgoSec I01-AZFW | "Any" service can enter your network | Allowing the "Any" service to enter your network is extremely risky since the "Any" service includes many vulnerable services. This is risky even if the traffic is only allowed from business partners or through VPNs (like SecuRemote clients): a remote laptop connecting through a VPN could easily infect your network with a worm or virus. | Review all the rules that allow inbound traffic with the "*" service, and limit them to those services you actually require. Consider quarantining VPN traffic in a DMZ. |
I02-AZFW | Critical | AlgoSec I02-AZFW | TCP on all ports can enter your network | Allowing TCP on all ports to enter your network is extremely risky since this includes many vulnerable services. This is risky even if the traffic is only allowed from business partners or through VPNs: a remote laptop connecting through a VPN could easily infect your network with a worm or virus. On Cisco firewalls, this risk is often the result of neglecting to specify a port number on an access-list or conduit statement: omitting the port number is interpreted as "all ports". | Review all the rules that allow inbound traffic with TCP on all ports, and limit them to those services you actually require. Consider quarantining VPN traffic in a DMZ. On Cisco firewalls, always specify the port numbers on access-list and conduit statements. |
I03-AZFW | Critical | AlgoSec I03-AZFW | UDP on all ports can enter your network | Allowing UDP on all ports to enter your network is extremely risky since this includes many vulnerable services. This is risky even if the traffic is only allowed from business partners or through VPNs: a remote laptop connecting through a VPN could easily infect your network with a worm or virus. On Cisco firewalls, this risk is often the result of neglecting to specify a port number on an access-list or conduit statement: omitting the port number is interpreted as "all ports". | Review all the rules that allow inbound traffic with UDP on all ports, and limit them to those services you actually require. Consider quarantining VPN traffic in a DMZ. On Cisco firewalls, always specify the port numbers on access-list and conduit statements. |
I04-AZFW | High | AlgoSec I04-AZFW | Telnet can enter your network | Telnet is a remote-login service that is not encrypted. It is only authenticated by simple passwords, that are transmitted in the clear. Anyone snooping the traffic can read all the transmitted information, including user names and passwords. Much better remote-login alternatives exist: either use SSH (Secure Shell), that offers the same functionality but is also encrypted, or use a VPN. | Once you switch to either an "ssh" solution, or a VPN, review all the rules that allow inbound traffic with the "telnet" service, and modify or remove them. |
I05-AZFW | Medium | AlgoSec I05-AZFW | RPC can enter your network | The Sunrpc service is used by the Unix "portmapper" daemon to support services like NFS. Allowing such traffic in could expose your data if you have Unix file servers. | Define a new service called, e.g., BAD_SRV, to include TCP and UDP port 111, and any other service you want to block entirely. Add the following rule as one of the first rules From * to * with service BAD_SRV : DROP . |
I06-AZFW | Medium | AlgoSec I06-AZFW | SNMP can enter your network | SNMP is the Simple Network Management Protocol, which allows scanning and identifying your network infrastructure. It is only authenticated by a simple password, called the "community string". The community string is often left at its default setting of "public", and transmitted in the clear. Several serious vulnerabilities have been reported in SNMP. You should only allow SNMP on the inside your perimeter, and preferably, only from dedicated network management machines. | Modify your rules so "snmp" is not allowed to enter your network from the "Outside". |
I07-AZFW | Critical | AlgoSec I07-AZFW | Risky Microsoft services can enter your network | Allowing Microsoft's NetBIOS services (UDP/137, UDP/138, TCP/135, TCP/139, TCP/445, TCP/593) to cross into your network is extremely risky. These services provide file and printer sharing for Microsoft Windows machines, and are among the most attacked services on the Internet . These Microsoft services are a vector for worms and viruses, and they potentially expose your network and data. | Add the following rule as one of the first rules: From Any to Any with service "NBT" : DROP The "NBT" service should be pre-defined on a Check Point firewall. If it is not, or on a different brand of firewall, define NBT to include all these ports: udp/137, udp/138, tcp/135, tcp/139, tcp/445, tcp/593. |
I25-AZFW | High | AlgoSec I25-AZFW | HTTP/HTTPS can enter your network | Letting the HTTP or HTTPS services reach machines that are not hardened web servers is risky. Many sensitive machines provide a web interface: These include e-mail servers, printers, phone switches, routers, and firewalls. Furthermore, many vulnerabilities have been found in web server software. Therefore, HTTP/HTTPS access, from the outside, should be eliminated. | Review the rules that allow "http" or "https" access from the "Outside" and eliminate them. If you need to transfer information from the internal network segments to servers in the outside, consider using a "push"-based solution (e.g., via "ssh" or "ftp"), which is initiated by the internal machines. |
I09-AZFW | High | AlgoSec I09-AZFW | Over 256 IP addresses can be reached by SMTP | Letting the SMTP (E-mail) service reach many machines is risky. E-mail is a vector for many viruses and worms. Furthermore, many vulnerabilities have been found in mail server software. Therefore, SMTP access, from the Outside, should be limited to your properly hardened public mail servers. | Review the rules that allow "smtp" access from the "Outside" and limit their destinations to your public mail servers. |
I10-AZFW | High | AlgoSec I10-AZFW | Over 256 IP addresses can be reached by DNS/UDP | Letting DNS reach many machines is risky. DNS is the Domain Name Service on UDP port 53 or on TCP port 53. DNS is one of the most attacked services in use. Therefore, DNS access from the Outside, should be limited to your hardened public DNS servers. | Review the rules that allow "dns_udp" access from the "Outside" and limit their destinations to your public DNS servers. |
I26-AZFW | Medium | AlgoSec I26-AZFW | FTP can enter your network | Letting FTP (File Transfer Protocol) reach internal servers is risky. Serious vulnerabilities have been found in many versions of FTP server software. You may have many FTP servers on your internal networks and it is difficult to ensure that they are all properly hardened. A compromised or infected machine could access or damage the data on these servers. | Review the rules that allow "ftp_control" access from the "Outside" into your internal networks and eliminate them. If you need to transfer information from the internal network segments to outside servers, consider using a "push"-based solution which is initiated by the internal machines. |
I12-AZFW | Medium | AlgoSec I12-AZFW | Over 256 IP addresses can be scanned by ICMP | Letting ICMP reach many internal machines is risky. Full ICMP access allows outsiders to scan your network, it lets worm-generated traffic cross your perimeter, and it can be used to mount denial-of-service attacks. Therefore, inbound ICMP should only be allowed with the specific types of ICMP packets you need (e.g., so outbound ping and traceroute still work). | Review the rules that allow ICMP access from the "Outside" and limit their destinations to your external servers. |
I13-AZFW | Medium | AlgoSec I13-AZFW | X11 can enter your network | X11 is a popular graphical window system developed at MIT and implemented on UNIX systems to allow UNIX-based applications to be run from multiple types of terminals, PCs, and workstations. X11 is not encrypted and uses weak authentication. Anyone snooping the traffic can see your screen contents and what you type, including user names and passwords. If you need to use X11 from Outside your perimeter, you should tunnel it securely through SSH (Secure Shell), or use a VPN. | Once you switch to either an "ssh" solution, or a VPN, review all the rules that allow inbound traffic with the "x11" service, and modify or remove them. |
I14-AZFW | High | AlgoSec I14-AZFW | TCP on over 2000 ports can enter your network | Allowing TCP on very many ports to enter your network is risky since, in all likelihood, these ports include many vulnerable services. This is risky even if the traffic is only allowed from business partners or through VPNs: a remote laptop connecting through a VPN could easily infect your network with a worm or virus. On Cisco firewalls, this risk is often the result of neglecting to specify a port number on an access-list or conduit statement: omitting the port number is interpreted as "all ports". | Review all the rules that allow inbound traffic with TCP on all ports, and limit them to those services you actually require. Consider quarantining VPN traffic in a DMZ. On Cisco firewalls, always specify the port numbers on access-list and conduit statements. |
I15-AZFW | Medium | AlgoSec I15-AZFW | TFTP can enter your network | Your network is accessible from the Outside using the tftp service. tftp is the Trivial File Transfer Protocol. It is not encrypted and not authenticated in any way. Anyone who can use tftp into your network can upload any file onto any device that responds to tftp, such as your routers, firewalls, and other communication equipment. tftp is commonly used by crackers to download and install trojan backdoors. You should drop tftp traffic in all directions on your device. | If tftp is not defined on your system, then define it to include UDP port 69. Add the following rule as one of the first rules From * to * with service tftp : DROP . |
I16-AZFW | High | AlgoSec I16-AZFW | Over 256 IP addresses can be reached by DNS/TCP | Letting DNS reach many machines is risky. DNS is the Domain Name Service on UDP port 53 or on TCP port 53. DNS is one of the most attacked services in use. Very few organizations actually need this service: normal DNS queries use UDP. You would only need DNS-TCP if you have a split DNS server and you need to do "zone transfers" across the firewall. Therefore, DNS access from the Outside, should be limited to your hardened public DNS servers. | Review the rules that allow "dns_tcp" access from the "Outside" and limit their destinations to your public DNS servers. |
I17-AZFW | High | AlgoSec I17-AZFW | MSSQL can enter your network | Your network is accessible from the Outside using the MSSQL service. The Microsoft SQL Server (MSSQL) contains several serious vulnerabilities that allow remote attackers to obtain sensitive information, alter database content, compromise SQL servers, and, in some configurations, compromise server hosts. You should drop MSSQL traffic in all directions on your device. | If ms_sql is not defined on your system, then define it to include UDP port 1434. Add the following rule as one of the first rules From * to * with service ms_sql : DROP . |
I18-AZFW | Medium | AlgoSec I18-AZFW | P2P file-sharing services can enter your network | Allowing P2P services into your network is risky. These services are used to download, and distribute many types of data (e.g. music, video, graphics, text, source code, and proprietary information to name a few). A number of vulnerabilities exist when using P2P software: Technical vulnerabilities, Social vulnerabilities, and legal vulnerabilities. | Review the rules that allow P2P access from the "Outside" and limit them to those services you actually require. A (non-complete) list of ports to block is listed under the "p2p" service group definition. |
I19-AZFW | Medium | AlgoSec I19-AZFW | Obsolete Instant-Messaging services can enter your network | Allowing Obsolete Instant-Messaging services into your network is risky. Also the basic functionality of these services is to let users use text-based chat. However, the capabilities that these programs bring to the desktop are wide ranging, and let users check remote web based email, do voice chat, perform video communication, and send and share data files. Attack scenarios for Instant-Messaging vulnerabilities are widely varied, and can come in the form of remotely executed buffer overflows (RPC based, packet malformation), URI/malicious link based attacks, file transferring vulnerabilities, and Active X exploits. | Review the rules that allow Obsolete Instant-Messaging access from the "Outside" and limit them to those services you actually require. A (non-complete) list of ports to block is listed under the "instant_messaging" service group definition. |
I20-AZFW | High | AlgoSec I20-AZFW | Database access services can enter your network | Allowing inbound access using database-access protocols like MySQL (TCP/3306), PostgreSQL (TCP/5432), IBM DB2 (TCP/523) , or Oracle's sqlnet (TCP/1521), may expose your most critical databases to attack. Databases are the elements of Electronic Business, Financial, Banking, and Enterprise Resource Planning (ERP) system, and include critical information from partners, customers and employees. Databases are extremely complex application and are, often times, difficult to correctly configure and secure. As a result serious security vulnerabilities and mis-configurations frequently go unchecked or completely undetected. For this reason, allowing direct inbound access to your corporate databases is risky. | Review the rules that allow database access from the "Outside", and consider blocking the ports listed in the "database_access" service group. If you need to provide external access to your corporate database, consider putting the applications that require database access on a server in a DMZ, and only allow inbound database access from those servers. |
I21-AZFW | Low | AlgoSec I21-AZFW | Version control services can enter your network | Allowing inbound access to Unix version control systems like CVS (TCP/2401) or Subversion (TCP/3690) may be risky if you use these systems. Version control systems provide tools to manage different versions of documents or source code, and facilitate multiple users to concurrently work on the same set of files. These systems have serious known vulnerabilities. | If you use either the CVS or the Subversion version control systems, you should review the rules that allow access to these systems from the "Outside", and block such external access. |
I22-AZFW | Medium | AlgoSec I22-AZFW | r_services can enter your network | The Unix r-services (tcp/512, tcp/513, tcp/514) are services that allow remote login and remote execution of code on machines running many versions of Unix or Linux. These are not encrypted and are very poorly authenticated, often not even requiring password. Much better remote-login alternatives exist: either use SSH (Secure Shell), that offers the same functionality but is also encrypted, or use a VPN. | Modify your rules so "r_services" are not allowed to enter your network from the "Outside". |
I23-AZFW | High | AlgoSec I23-AZFW | NFS can enter your network | NFS is the Network File System, a protocol originally developed by Sun Microsystems in 1984, and later defined in a sequence of RFCs, as a distributed file system. Using the NFS service, a user on a client computer can access files over a network as easily as if the files are on its local disks. NFS was not designed with security in mind, though now it is widely used and quite popular. It has poor authentication mechanisms and no encryption. Scripts to exploit NFS exist on the web, and have been in use. Allowing NFS through your firewall is risky. | Modify your rules so "nfs" is not allowed to enter your network from the "Outside". |
I24-AZFW | High | AlgoSec I24-AZFW | LDAP can enter your network | The Lightweight Directory Access Protocol, or "ldap", is a networking protocol for querying and modifying directory services running over tcp/389. LDAP directories may contain sensitive data about the organization's users and infratructure. Allowing access to the organization's LDAP directories is risky. | Modify your rules so "ldap" is not allowed to enter your network from the "Outside". |
I28-AZFW | Medium | AlgoSec I28-AZFW | Finger can enter your network | Finger protocol is used for the exchange of user information. Remote users wishing to obtain information about the user of a specific computer could do so by querying their machine's finger server listening on port 79. This information typically included the user's full name, address, telephone number, title, job name, office location, telephone extension, and so on. Finger information has been frequently used by hackers as a way to initiate a social engineering attack on a company's computer security system. | Review all the rules that allow inbound traffic with the "finger" service, and modify or remove them. |
I29-AZFW | Medium | AlgoSec I29-AZFW | Ident can enter your network | The Ident Protocol (Identification Protocol) is an Internet protocol that helps identify the user of a particular TCP connection. The user's "ident" server is tasked with looking up and returning the connection's "USER ID" and perhaps additional information, such as an eMail address, full name etc. The ident protocol is considered dangerous because it allows hackers to gain a list of usernames on a computer system which can later be used for attacks. | Review all the rules that allow inbound traffic with the "ident" service, and modify or remove them. |
I30-AZFW | Medium | AlgoSec I30-AZFW | NNTP can enter your network | The Network News Transfer Protocol (NNTP) is an application protocol used for transporting Usenet news articles. NNTP servers push and pull news articles to and from other NNTP servers over port 119, and news reading (and writing) clients talking to news servers over the same port. | Review all the rules that allow inbound traffic with the "nntp" service, and modify or remove them. |
I31-AZFW | Medium | AlgoSec I31-AZFW | H.323 can enter your network | Port 1720 is used by the H.323 teleconferencing protocol (most commonly encountered in Microsoft NetMeeting) during call setup negotiation. NAT implementation in some Cisco devices allows remote attackers to cause a denial of service (device reload) by sending crafted H.323 packets to TCP port 1720. | Unless you have a business reason for allowing "h323", review all the rules that allow inbound traffic with this service, and modify or remove them. |
I32-AZFW | High | AlgoSec I32-AZFW | UPnP can enter your network | Universal Plug and Play (UPnP) is an architecture that supports peer-to-peer Plug and Play functionality for network devices. UPnP discovery, is a service that runs by default on WinXP, and creates an immediately exploitable security vulnerability for any network-connected system. Filtering this port proactively prevents XP systems from being remotely compromised by malicious worms or intruders. | Review all the rules that allow inbound traffic with the "upnp" service, and modify or remove them. |
I33-AZFW | Medium | AlgoSec I33-AZFW | VMware can enter your network | VMware Server Management User Interface should not be allowed access from the outside. | Review all the rules that allow inbound traffic with the "vmware" service, and modify or remove them. |
I34-AZFW | High | AlgoSec I34-AZFW | RADIUS can enter your network | Remote Authentication Dial In User Service (RADIUS) is a networking protocol that provides centralized Authentication, Authorization, and Accounting (AAA) management for users that connect and use a network service. User-specific attributes such as tunnel-group IDs or vlan memberships passed over RADIUS in an unprotected manner allowing attackers to take advantage of sensitive information. | Review all the rules that allow inbound traffic with the "radius" service, and modify or remove them. |
I35-AZFW | Medium | AlgoSec I35-AZFW | TACACS can enter your network | Terminal Access Controller Access-Control System (TACACS) is a remote authentication protocol that is used to communicate with an authentication server commonly used in UNIX networks. TACACS protocol handles information such as the username, authorization, accounting are transmitted in clear text, therefore it is vulnerable to different types of attacks. | Review all the rules that allow inbound traffic with the "tacacs" service, and modify or remove them. |
I36-AZFW | Medium | AlgoSec I36-AZFW | MSMQ can enter your network | Microsoft Message Queuing (MSMQ) is a message queue implementation developed by Microsoft and deployed in its Windows Server operating systems. According to CVE-2007-3039, stack-based buffer overflow in the MSMQ service in Microsoft Windows 2000 Server SP4, Windows 2000 Professional SP4, and Windows XP SP2 allows attackers to execute arbitrary code via a long string in an opnum 0x06 RPC call to port 2103. | Review all the rules that allow inbound traffic with the "msmq" service, and modify or remove them. |
I37-AZFW | High | AlgoSec I37-AZFW | DHCP traffic can enter your network | The Bootstrap Protocol (BOOTP) is an computer networking protocol used in Internet Protocol networks to automatically assign an IP address to network devices from a configuration server. Parts of BOOTP are used to provide service to the DHCP protocol, DHCP should not be allowed across the device as it provides a service available to DoS attacks, and hands out IP addresses to devices that go on net. | Review all the rules that allow inbound traffic with the "bootp" services, and modify or remove them. |
I38-AZFW | High | AlgoSec I38-AZFW | WINS can enter your network | Windows Internet Name Service (WINS) is Microsoft's implementation of NetBIOS Name Service (NBNS), a name server and service for NetBIOS computer names. Effectively, WINS is to NetBIOS names what DNS is to domain names a central mapping of host names to network addresses. According to CVE-2004-1080, the WINS service on Microsoft Windows NT Server 4.0, Windows 2000 Server, and Windows Server 2003 allows remote attackers to write to arbitrary memory locations and possibly execute arbitrary code via a modified memory pointer. | Unless you have a business reason for allowing "WINS", review all the rules that allow inbound traffic with this service, and modify or remove them. |
I39-AZFW | High | AlgoSec I39-AZFW | ICS protocols can enter your network | Protocols supporting Industrial Control Systems (ICS) are risky in environments that rely on them. These protocols don't provide much security against unauthorized commands or interception of data enabling remote attackers to take over control or cause denial of service attacks. | Review all the rules that allow inbound traffic with the "ics" services, and modify or remove them. |
O01-AZFW | Medium | AlgoSec O01-AZFW | POP3 can exit your network | The POP3 service is used to download E-mail from mail servers to desktop computers. Since E-mail is a vector for viruses and worms, many organization only allow POP3 to reach their internal E-mail servers, and forbid any access to external E-mail servers. | Review all the rules that allow outbound "pop3" access, and ensure that they comply with your organization's policy. |
O02-AZFW | Medium | AlgoSec O02-AZFW | Over 256 IP addresses can send SMTP | Allowing outbound SMTP access from many internal machines is risky. Outbound SMTP (E-mail) should only originate from your public mail servers. E-mail is a vector for many viruses and worms. Computers that can send E-mail directly (not through your organization's designated mail servers) can bypass your network's E-mail filters, and spread viruses and worms to other networks. Therefore, outbound SMTP access should be limited to your properly hardened public mail servers. | Review the rules that allow outbound "smtp" access and limit their sources to your external servers. |
O03-AZFW | High | AlgoSec O03-AZFW | Inside clients can connect to external IRC servers | Allowing outbound Internet Relay Chat (IRC) access from internal machines is very risky. Many worms and Trojans use IRC as a communications vector outbound to allow an attacker access back into your network. IRC is rarely necessary for business operations. Therefore, IRC access should be limited to machines which definitely need to communicate using this protocol. | Unless you have a business reason for allowing "irc", you should block this service in all directions. Check Point firewalls usually have the "irc" service pre-defined, so you can add a rule From Any to Any with service irc : DROP Cisco firewalls have an irc service pre-defined as TCP port 194, but that port is almost never used. Instead, Cisco users should define a new service object-group called BAD-IRC to include TCP on ports 6660-6670, and port 7000. Add the following access-list command to all your access groups (on all interfaces - and especially in the outbound direction): " access-list yourlist deny tcp any any object-group BAD-IRC ". |
O04-AZFW | High | AlgoSec O04-AZFW | "Any" service can exit your network | Allowing "Any" service to exit your network is extremely risky since the "Any" service includes many vulnerable services. The largest threat is that of Trojan horses contacting their controllers, followed by unintended information leakage, and spreading of malicious code like viruses and worms. | Review all the rules that allow outbound traffic with the "*" service, and limit them to those services you actually require. |
O05-AZFW | High | AlgoSec O05-AZFW | TCP on all ports can exit your network | Allowing TCP on all ports to exit your network is extremely risky since this includes many vulnerable services. The largest threat is that of Trojan horses contacting their controllers, followed by unintended information leakage, and spreading of malicious code like viruses and worms. On Cisco firewalls, this risk is often the result of neglecting to specify a port number on an access-list or conduit statement: omitting the port number is interpreted as "all ports". | Review all the rules that allow outbound traffic with TCP on all ports, and limit them to those services you actually require. On Cisco firewalls, always specify the port numbers on access-list and conduit statements. |
O06-AZFW | High | AlgoSec O06-AZFW | UDP on all ports can exit your network | Allowing UDP on all ports to exit your network is extremely risky since this includes many vulnerable services. The largest threat is that of Trojan horses contacting their controllers, followed by unintended information leakage, and spreading of malicious code like viruses and worms. On Cisco firewalls, this risk is often the result of neglecting to specify a port number on an access-list or conduit statement: omitting the port number is interpreted as "all ports". | Review all the rules that allow outbound traffic with UDP on all ports, and limit them to those services you actually require. On Cisco firewalls, always specify the port numbers on access-list and conduit statements. |
O10-AZFW | Medium | AlgoSec O10-AZFW | Risky Microsoft services can exit your network | Allowing Microsoft's NetBIOS services (UDP/137, UDP/138, TCP/135, TCP/139, TCP/445, TCP/593) to exit your network is risky. These services provide file and printer sharing for Microsoft Windows machines, and are among the most attacked services on the Internet. These Microsoft services are a vector for worms and viruses, and they potentially expose your network and data. | Add the following rule as one of the first rules: From Any to Any with service "NBT" : DROP The "NBT" service should be pre-defined on a Check Point firewall. If it is not, or on a different brand of firewall, define NBT to include all these ports: udp/137, udp/138, tcp/135, tcp/139, tcp/445, tcp/593. |
O07-AZFW | High | AlgoSec O07-AZFW | TCP on over 2000 ports can exit your network | Allowing TCP on very many ports to exit your network is risky since, in all likelihood, these ports include many vulnerable services. The largest threat is that of Trojan horses contacting their controllers, followed by unintended information leakage, and spreading of malicious code like viruses and worms. On Cisco firewalls, this risk is often the result of neglecting to specify a port number on an access-list or conduit statement: omitting the port number is interpreted as "all ports". | Review all the rules that allow outbound traffic with TCP on all ports, and limit them to those services you actually require. On Cisco firewalls, always specify the port numbers on access-list and conduit statements. |
O08-AZFW | Medium | AlgoSec O08-AZFW | P2P file-sharing services can exit your network | Allowing P2P services to exit your network is risky. These services are used to download, and distribute many types of data (e.g. music, video, graphics, text, source code, and proprietary information to name a few). A number of vulnerabilities exist when using P2P software: Technical vulnerabilities, Social vulnerabilities, and legal vulnerabilities. | Review the rules that allow outbound P2P access and limit them to those services you actually require. A (non-complete) list of ports to block is listed under the "p2p" service group definition. |
O09-AZFW | Medium | AlgoSec O09-AZFW | Obsolete Instant-Messaging services can exit your network | Allowing Obsolete Instant-Messaging services into your network is risky. Also The basic functionality of these services is to let users use text-based chat. However, the capabilities that these programs bring to the desktop are wide ranging, and let users check remote web based email, do voice chat, perform video communication, and send and share data files. Attack scenarios for Instant-Messaging vulnerabilities are widely varied, and can come in the form of remotely executed buffer overflows (RPC based, packet malformation), URI/malicious link based attacks, file transferring vulnerabilities, and Active X exploits. | Review the rules that allow outbound Obsolete Instant-Messaging access and limit them to those services you actually require. A (non-complete) list of ports to block is listed under the "instant_messaging" service group definition. |
O11-AZFW | Medium | AlgoSec O11-AZFW | IMAP can exit your network | The IMAP service is used to download E-mail from mail servers to desktop computers. Since E-mail is a vector for viruses and worms, many organization only allow IMAP to reach their internal E-mail servers, and forbid any access to external E-mail servers. | Review all the rules that allow outbound "imap" access, and ensure that they comply with your organization's policy. |
O32-AZFW | Medium | AlgoSec O32-AZFW | UPnP can exit your network | Universal Plug and Play (UPnP) is an architecture that supports peer-to-peer Plug and Play functionality for network devices. UPnP discovery, is a service that runs by default on WinXP, and creates an immediately exploitable security vulnerability for any network-connected system. Filtering this port proactively prevents XP systems from being remotely compromised by malicious worms or intruders. | Review all the rules that allow outbound "upnp" access, and modify or remove them. |
O33-AZFW | Medium | AlgoSec O33-AZFW | VMware can exit your network | VMware Server Management User Interface should not be allowed access from the outside. | Review all the rules that allow outbound "vmware" access, and modify or remove them. |
O37-AZFW | Medium | AlgoSec O37-AZFW | DHCP traffic can exit your network | The Bootstrap Protocol (BOOTP) is an computer networking protocol used in Internet Protocol networks to automatically assign an IP address to network devices from a configuration server. Parts of BOOTP are used to provide service to the DHCP protocol, DHCP should not be allowed across the device as it provides a service available to DoS attacks, and hands out IP addresses to devices that go on net. | Review all the rules that allow outbound "bootp" access, and modify or remove them. |
The Center for Internet Security (CIS) is a nonprofit that publishes a benchmark — a set of security configuration best practices for Microsoft Azure.
To read more about CIS Microsoft Azure Foundations Benchmark, please visit CIS Microsoft Azure home page .
CIS Azure v1.5.0 requirements (107)
Requirement | Title | Description | |
---|---|---|---|
CIS_AZURE_MANAGEMENT_CUSTOM_SUBSCRIPTION_OWNER_ROLE | CIS 1.23 | 1.23 Ensure That No Custom Subscription Owner Roles Are Created | Subscription ownership should not include permission to create custom owner roles. The principle of least privilege should be followed and only necessary privileges should be assigned instead of allowing full administrative access. |
CIS_AZURE_MANAGEMENT_NO_CUSTOM_ROLE_RESOURCE_LOCKING | CIS 1.24 | 1.24 Ensure a Custom Role is Assigned Permissions for Administering Resource Locks | Resource locking is a powerful protection mechanism that can prevent inadvertent modification/deletion of resources within Azure subscriptions/Resource Groups and is a recommended NIST configuration. |
CIS_AZURE_DEFENDER_PLAN_SERVERS | CIS 2.1.1 | 2.1.1 Ensure That Microsoft Defender for Servers Is Set to 'On' | Turning on Microsoft Defender for Servers enables threat detection for Servers, providing threat intelligence, anomaly detection, and behavior analytics in the Microsoft Defender for Cloud. |
CIS_AZURE_DEFENDER_PLAN_SERVICES | CIS 2.1.2 | 2.1.2 Ensure That Microsoft Defender for App Services Is Set To 'On' | Turning on Microsoft Defender for App Service enables threat detection for App Service, providing threat intelligence, anomaly detection, and behavior analytics in the Microsoft Defender for Cloud. |
CIS_AZURE_DEFENDER_PLAN_DATABASES | CIS 2.1.3 | 2.1.3 Ensure That Microsoft Defender for Databases Is Set To 'On' | Turning on Microsoft Defender for Databases enables threat detection for the instances running your database software. |
CIS_AZURE_DEFENDER_PLAN_SQL_DATABASES | CIS 2.1.4 | 2.1.4 Ensure That Microsoft Defender for Azure SQL Databases Is Set To 'On' | Turning on Microsoft Defender for Azure SQL Databases enables threat detection for Azure SQL database servers, providing threat intelligence, anomaly detection, and behavior analytics in the Microsoft Defender for Cloud. |
CIS_AZURE_DEFENDER_PLAN_SQL_SERVERS_MACHINES | CIS 2.1.5 | 2.1.5 Ensure That Microsoft Defender for SQL Servers on Machines Is Set To 'On' | Turning on Microsoft Defender for SQL servers on machines enables threat detection for SQL servers on machines, providing threat intelligence, anomaly detection, and behavior analytics in the Microsoft Defender for Cloud. |
CIS_AZURE_DEFENDER_PLAN_OS_RELATIONAL_DATABASES | CIS 2.1.6 | 2.1.6 Ensure That Microsoft Defender for Open-Source Relational Databases Is Set To 'On' | Turning on Microsoft Defender for Open-source relational databases enables threat detection for Open-source relational databases, providing threat intelligence, anomaly detection, and behavior analytics in the Microsoft Defender for Cloud. |
CIS_AZURE_DEFENDER_PLAN_STORAGE | CIS 2.1.7 | 2.1.7 Ensure That Microsoft Defender for Storage Is Set To 'On' | Turning on Microsoft Defender for Storage enables threat detection for Storage, providing threat intelligence, anomaly detection, and behavior analytics in the Microsoft Defender for Cloud. |
CIS_AZURE_DEFENDER_PLAN_CONTAINERS | CIS 2.1.8 | 2.1.8 Ensure That Microsoft Defender for Containers Is Set To 'On' | Turning on Microsoft Defender for Containers enables threat detection for Container Registries including Kubernetes, providing threat intelligence, anomaly detection, and behavior analytics in the Microsoft Defender for Cloud. |
CIS_AZURE_DEFENDER_PLAN_COSMOS_DB | CIS 2.1.9 | Ensure That Microsoft Defender for Cosmos DB Is Set To 'On' | Microsoft Defender for Cosmos DB scans all incoming network requests for changes to your virtual machine. |
CIS_AZURE_DEFENDER_PLAN_KEY_VAULT | CIS 2.1.10 | 2.1.10 Ensure That Microsoft Defender for Key Vault Is Set To 'On' | Turning on Microsoft Defender for Key Vault enables threat detection for Key Vault, providing threat intelligence, anomaly detection, and behavior analytics in the Microsoft Defender for Cloud. |
CIS_AZURE_DEFENDER_PLAN_DNS | CIS 2.1.11 | 2.1.11 Ensure That Microsoft Defender for DNS Is Set To 'On' | Microsoft Defender for DNS scans all network traffic exiting from within a subscription. |
CIS_AZURE_DEFENDER_PLAN_RESOURCE_MANAGER | CIS 2.1.13 | 2.1.13 Ensure That Microsoft Defender for Resource Manager Is Set To 'On' | Microsoft Defender for Resource Manager scans incoming administrative requests to change your infrastructure from both CLI and the Azure portal. |
CIS_AZURE_SECURITY_AUTO_PROVISIONING | CIS 2.2 | 2.2 Auto provisioning | Microsoft Defender for Cloud ingests data from agents, extensions, and integrations. Automatic provisioning assists with the deployment and maintenance of agents and extensions required on endpoints such as Azure Virtual Machines. |
CIS_AZURE_SECURITY_AUTO_PROVISIONING_LOG_ANALYTICS_AGENT | CIS 2.2.1 | 2.2.1 Ensure that Auto provisioning of 'Log Analytics agent for Azure VMs' is Set to 'On' | Enable automatic provisioning of the monitoring agent to collect security data. |
CIS_AZURE_SECURITY_CONTACT_NO_EMAIL | CIS 2.3 | 2.3 Email notifications | Email notifications are used by Microsoft Defender for Cloud to communicate information and alerts. |
CIS_AZURE_SECURITY_CONTACT_NO_ALERT_ADMINS | CIS 2.3.1 | 2.3.1 Ensure That 'All users with the following roles' is set to 'Owner' | Enable security alert emails to subscription owners. |
CIS_AZURE_SECURITY_CONTACT_NO_ADDITIONAL_EMAIL | CIS 2.3.2 | 2.3.2 Ensure 'Additional email addresses' is Configured with a Security Contact Email | Microsoft Defender for Cloud emails the subscription owners whenever a high-severity alert is triggered for their subscription. You should provide a security contact email address as an additional email address. |
CIS_AZURE_SECURITY_CONTACT_HIGH_SEVERITY_ALERTS | CIS 2.3.3 | 2.3.3 Ensure That 'Notify about alerts with the following severity' is Set to 'High' | Enables emailing security alerts to the subscription owner or other designated security contact. |
CIS_AZURE_SECURITY_INTEGRATION | CIS 2.4 | 2.4 Integrations | Integration allows other Azure products to send and receive data with Microsoft Defender for Cloud. |
CIS_AZURE_SECURITY_MCAS_INTEGRATION | CIS 2.4.1 | 2.4.1 Ensure that Microsoft Defender for Cloud Apps integration with Microsoft Defender for Cloud is Selected | This integration setting enables Microsoft Defender for Cloud Apps (formerly 'Microsoft Cloud App Security' or 'MCAS' - see additional info) to communicate with Microsoft Defender for Cloud. |
CIS_AZURE_SECURITY_WDATP_INTEGRATION | CIS 2.4.2 | 2.4.2 Ensure that Microsoft Defender for Endpoint integration with Microsoft Defender for Cloud is selected | This integration setting enables Microsoft Defender for Endpoint (formerly 'Advanced Threat Protection' or 'ATP' or 'WDATP' - see additional info) to communicate with Microsoft Defender for Cloud. |
CIS_AZURE_DEFENDER_AUTO_UPDATES | CIS 2.5 | 2.5 Ensure that Microsoft Defender Recommendation for 'Apply system updates' status is 'Completed' | Ensure that the latest OS patches for all virtual machines are applied. |
CIS_AZURE_ASC_POLICY_SETTINGS | CIS 2.6 | 2.6 Ensure Any of the ASC Default Policy Settings are Not Set to 'Disabled' | None of the settings offered by ASC Default policy should be set to effect Disabled. |
CIS_AZURE_STORAGE_ACCOUNT_ALLOWS_HTTP | CIS 3.1 | 3.1 Ensure that 'Secure transfer required' is set to 'Enabled' | Enable data encryption in transit. |
CIS_AZURE_INFRASTRUCTURE_ENCRYPTION_IS_DISABLED | CIS 3.2 | 3.2 Ensure that ‘Enable Infrastructure Encryption’ for Each Storage Account in Azure Storage is Set to ‘enabled’ | Enabling double encryption at the hardware level on top of the default software encryption for Storage Accounts accessing Azure storage solutions. |
CIS_AZURE_STORAGE_ACCOUNT_NO_KEY_ROTATION_REMINDER | CIS 3.3 | 3.3 Ensure that 'Enable key rotation reminders' is enabled for each Storage Account | Access Keys authenticate application access requests to data contained in Storage Accounts. A periodic rotation of these keys is recommended to ensure that potentially compromised keys cannot result in a long-term exploitable credential. The 'Rotation Reminder' is an automatic reminder feature for a manual procedure. |
CIS_AZURE_STORAGE_ACCOUNT_OLD_ACCESS_KEY | CIS 3.4 | 3.4 Ensure that Storage Account Access Keys are Periodically Regenerated | For increased security, regenerate storage account access keys periodically. |
CIS_AZURE_STORAGE_QUEUE_LOGGING_REQUESTS | CIS 3.5 | 3.5 Ensure Storage Logging is Enabled for Queue Service for 'Read', 'Write', and 'Delete' requests | The Storage Queue service stores messages that may be read by any client who has access to the storage account. |
CIS_AZURE_STORAGE_BLOB_CONTAINER_PUBLIC_ACCESS | CIS 3.7 | 3.7 Ensure that 'Public access level' is disabled for storage accounts with blob containers | Disallowing public access for a storage account overrides the public access settings for individual containers in that storage account. |
CIS_AZURE_STORAGE_ACCOUNT_DEFAULT_ACTION_ALLOW | CIS 3.8 | 3.8 Ensure Default Network Access Rule for Storage Accounts is Set to Deny | Restricting default network access helps to provide a new layer of security, since storage accounts accept connections from clients on any network. To limit access to selected networks, the default action must be changed. |
CIS_AZURE_STORAGE_ACCOUNT_NOT_ALLOWED_TRUSTED_SERVICES | CIS 3.9 | 3.9 Ensure 'Allow Azure services on the trusted services list to access this storage account' is Enabled for Storage Account Access | Some Azure services that interact with storage accounts operate from networks that can't be granted access through network rules. To help this type of service work as intended, allow the set of trusted Azure services to bypass the network rules. These services will then use strong authentication to access the storage account. If the Allow trusted Azure services exception is enabled, the following services are granted access to the storage account: Azure Backup, Azure Site Recovery, Azure DevTest Labs, Azure Event Grid, Azure Event Hubs, Azure Networking, Azure Monitor, and Azure SQL Data Warehouse (when registered in the subscription). |
CIS_AZURE_STORAGE_PRIVATE_ENDPOINTS_UNAPPROVED_CONNECTION | CIS 3.10 | 3.10 Ensure Private Endpoints are used to access Storage Accounts | Use private endpoints for your Azure Storage accounts to allow clients and services to securely access data located over a network via an encrypted Private Link. |
CIS_AZURE_STORAGE_SOFT_DELETE | CIS 3.11 | 3.11 Ensure Soft Delete is Enabled for Azure Containers and Blob Storage | It is recommended that both Azure Containers with attached Blob Storage and standalone containers with Blob Storage be made recoverable by enabling the soft delete configuration. This is to save and recover data when blobs or blob snapshots are deleted. |
CIS_AZURE_STORAGE_ACCOUNT_NO_BYOK_ENCRYPTION | CIS 3.12 | 3.12 Ensure Storage for Critical Data are Encrypted with Customer Managed Keys | Enable sensitive data encryption at rest using Customer Managed Keys rather than Microsoft Managed keys. |
CIS_AZURE_STORAGE_ACCOUNT_LOW_TLS_VERSION | CIS 3.15 | 3.15 Ensure the 'Minimum TLS version' for storage accounts is set to 'Version 1.2' | In some cases, Azure Storage sets the minimum TLS version to be version 1.0 by default. TLS 1.0 is a legacy version and has known vulnerabilities. This minimum TLS version can be configured to be later protocols such as TLS 1.2. |
CIS_AZURE_SQL_SERVER_AUDITING | CIS 4.1 | 4.1 SQL Server - Auditing | Auditing for Azure SQL Servers and SQL Databases tracks database events and writes them to an audit log Azure storage account, Log Analytics workspace or Event Hubs. Auditing helps to maintain regulatory compliance, understand database activity, and gain insight into discrepancies and anomalies that could indicate business concerns or suspected security violations. Auditing enables and facilitates adherence to compliance standards, although it doesn't guarantee compliance. |
CIS_AZURE_SQL_SERVER_AUDITING_SETTINGS | CIS 4.1.1 | 4.1.1 Ensure that 'Auditing' is set to 'On' | Enable auditing on SQL Servers. |
CIS_AZURE_SQL_SERVER_PRIVATE | CIS 4.1.2 | 4.1.2 Ensure no Azure SQL Databases allow ingress from 0.0.0.0/0 (ANY IP) | Ensure that no SQL Databases allow ingress from 0.0.0.0/0 (ANY IP). |
CIS_AZURE_SQL_SERVER_BYOK_TDE | CIS 4.1.3 | 4.1.3 Ensure SQL server's Transparent Data Encryption (TDE) protector is encrypted with Customer-managed key | Transparent Data Encryption (TDE) with Customer-managed key support provides increased transparency and control over the TDE Protector, increased security with an HSM-backed external service, and promotion of separation of duties. |
CIS_AZURE_SQL_SERVER_ADMIN_CONF | CIS 4.1.4 | 4.1.4 Ensure that Azure Active Directory Admin is Configured for SQL Servers | Use Azure Active Directory Authentication for authentication with SQL Database to manage credentials in a single place. |
CIS_AZURE_SQL_SERVER_TDE | CIS 4.1.5 | 4.1.5 Ensure that 'Data encryption' is set to 'On' on a SQL Database | Enable Transparent Data Encryption on every SQL server. |
CIS_AZURE_SQL_SERVER_AUDITING_RETENTION | CIS 4.1.6 | 4.1.6 Ensure that 'Auditing' Retention is 'greater than 90 days' | SQL Server Audit Retention should be configured to be greater than 90 days. |
CIS_AZURE_SQL_SERVER_NO_MICROSOFT_DEFENDER | CIS 4.2 | 4.2 SQL Server - Microsoft Defender for SQL | Microsoft Defender for SQL provides a layer of security which enables customers to detect and respond to potential threats as they occur through security alerts on anomalous activities. Users will receive an alert upon suspicious database activities, potential vulnerabilities, and SQL injection attacks, as well as anomalous database access patterns. SQL Server Threat Detection alerts provide details of suspicious activity and recommend action on how to investigate and mitigate the threat. |
CIS_AZURE_SQL_SERVER_VULNERABILITY_ASSESSMENT | CIS 4.2.2 | 4.2.2 Ensure that Vulnerability Assessment (VA) is enabled on a SQL server by setting a Storage Account | Enable Vulnerability Assessment (VA) service scans for critical SQL servers and corresponding SQL databases. |
CIS_AZURE_SQL_SERVER_VA_RECURRING_SCANS_DISABLED | CIS 4.2.3 | 4.2.3 Ensure that Vulnerability Assessment (VA) setting 'Periodic recurring scans' is set to 'on' for each SQL server | Enable Vulnerability Assessment (VA) Periodic recurring scans for critical SQL servers and corresponding SQL databases. |
CIS_AZURE_SQL_SERVER_VA_SCAN_REPORTS_NO_EMAIL_ADDRESSES | CIS 4.2.4 | 4.2.4 Ensure that Vulnerability Assessment (VA) setting 'Send scan reports to' is configured for a SQL server | Configure 'Send scan reports to' with email ids of concerned data owners/stakeholders for critical SQL servers. |
CIS_AZURE_SQL_SERVER_VA_NO_EMAIL_ACCOUNT_ADMIN | CIS 4.2.5 | 4.2.5 Ensure that Vulnerability Assessment (VA) setting 'Also send email notifications to admins and subscription owners' is set for each SQL Server | Enable Vulnerability Assessment (VA) setting 'Also send email notifications to admins and subscription owners'. |
CIS_AZURE_DBFORPOSTGRESQL_SERVER_SSL | CIS 4.3.1 | 4.3.1 Ensure 'Enforce SSL connection' is set to 'ENABLED' for PostgreSQL Database Server | Enable SSL connection on PostgreSQL Servers. |
CIS_AZURE_DBFORPOSTGRESQL_SERVER_PARAM_LOG_CHECKPOINTS | CIS 4.3.2 | 4.3.2 Ensure Server Parameter 'log_checkpoints' is set to 'ON' for PostgreSQL Database Server | Enable log_checkpoints on PostgreSQL Servers. |
CIS_AZURE_DBFORPOSTGRESQL_SERVER_PARAM_LOG_CONNECTIONS | CIS 4.3.3 | 4.3.3 Ensure server parameter 'log_connections' is set to 'ON' for PostgreSQL Database Server | Enable log_connections on PostgreSQL Servers. |
CIS_AZURE_DBFORPOSTGRESQL_SERVER_PARAM_LOG_DISCONNECTIONS | CIS 4.3.4 | 4.3.4 Ensure server parameter 'log_disconnections' is set to 'ON' for PostgreSQL Database Server | Enable log_disconnections on PostgreSQL Servers. |
CIS_AZURE_DBFORPOSTGRESQL_SERVER_PARAM_CONNECTION_THROTTLING | CIS 4.3.5 | 4.3.5 Ensure server parameter 'connection_throttling' is set to 'ON' for PostgreSQL Database Server | Enable connection_throttling on PostgreSQL Servers. |
CIS_AZURE_DBFORPOSTGRESQL_SERVER_PARAM_LOG_RETENTION | CIS 4.3.6 | 4.3.6 Ensure Server Parameter 'log_retention_days' is greater than 3 days for PostgreSQL Database Server | Enable log_retention_days on PostgreSQL Servers. |
CIS_AZURE_DBFORPOSTGRESQL_SERVER_NO_INFRA_ENCRYPTION | CIS 4.3.8 | 4.3.8 Ensure 'Infrastructure double encryption' for PostgreSQL Database Server is 'Enabled' | Enable encryption at rest for PostgreSQL Databases. |
CIS_AZURE_MYSQL_SERVER_SSL | CIS 4.4.1 | 4.4.1 Ensure 'Enforce SSL connection' is set to 'Enabled' for Standard MySQL Database Server | Enable SSL connection on MYSQL Servers. |
CIS_AZURE_MYSQL_SERVER_TLS_VERSION | CIS 4.4.2 | 4.4.2 Ensure 'TLS Version' is set to 'TLSV1.2' for MySQL flexible Database Server | Ensure TLS version on MySQL flexible servers is set to the default value. |
CIS_AZURE_MYSQL_SERVER_AUDIT_LOG_ENABLED_PARAM | CIS 4.4.3 | 4.4.3 Ensure server parameter 'audit_log_enabled' is set to 'ON' for MySQL Database Server | Enable audit_log_enabled on MySQL Servers |
CIS_AZURE_MYSQL_SERVER_CONNECTION_PARAM | CIS 4.4.4 | 4.4.4 Ensure server parameter 'audit_log_events' has 'CONNECTION' set for MySQL Database Server | Set audit_log_enabled to include CONNECTION on MySQL Servers |
CIS_AZURE_DOCUMENTDB_ACCOUNT_PUBLIC_ACCESS | CIS 4.5.1 | 4.5.1 Ensure That 'Firewalls & Networks' Is Limited to Use Selected Networks Instead of All Networks | Limiting your Cosmos DB to only communicate on whitelisted networks lowers its attack footprint. |
CIS_AZURE_SQL_SERVER_PRIVATE_ENDPOINTS | CIS 4.5.2 | 4.5.2 Ensure That Private Endpoints Are Used Where Possible | Private endpoints limit network traffic to approved sources. |
CIS_AZURE_RESOURCE_MONITOR_DIAGNOSTIC_LOGS_DISABLED | CIS 5.1.1 | 5.1.1 Ensure that a 'Diagnostic Setting' exists | Enable Diagnostic settings for exporting activity logs. Diagnostic settings are available for each individual resource within a subscription. Settings should be configured for all appropriate resources for your environment. |
CIS_AZURE_SUBSCRIPTION_DIAGNOSTIC_SETTINGS | CIS 5.1.2 | 5.1.2 Ensure Diagnostic Setting captures appropriate categories | The diagnostic setting should be configured to log the appropriate activities from the control/management plane. |
CIS_AZURE_STORAGE_ACTIVITY_LOG_CONTAINER_PUBLIC_ACCESS | CIS 5.1.3 | 5.1.3 Ensure the Storage Container Storing the Activity Logs is not Publicly Accessible | The storage account container containing the activity log export should not be publicly accessible. |
CIS_AZURE_STORAGE_ACTIVITY_LOGS_NO_BYOK_ENCRYPTION | CIS 5.1.4 | 5.1.4 Ensure the storage account containing the container with activity logs is encrypted with Customer Managed Key | Storage accounts with the activity log exports can be configured to use Customer Managed Keys (CMK). |
CIS_AZURE_SECURITY_KEYVAULT_DIAGNOSTIC_LOGS | CIS 5.1.5 | 5.1.5 Ensure that logging for Azure Key Vault is 'Enabled' | Enable AuditEvent logging for key vault instances to ensure interactions with key vaults are logged and available. |
CIS_AZURE_NETWORK_SG_NO_FLOWLOGS | CIS 5.1.6 | 5.1.6 Ensure that Network Security Group Flow logs are captured and sent to Log Analytics | Ensure that network flow logs are captured and fed into a central log analytics workspace. |
CIS_AZURE_WEB_APP_SERVICE_HTTP_LOGS_DIAGNOSTIC_LOG_DISABLED | CIS 5.1.7 | 5.1.7 Ensure that logging for Azure AppService 'AppServiceHTTPLogs' is enabled. | Enable AppServiceHTTPLogs diagnostic log category for Azure App Service instances to ensure all http requests are captured and centrally logged. |
CIS_AZURE_MONITORING_ACT_LOG_ALERTS_CREATE_POLICY_ASSIGNMENT | CIS 5.2.1 | 5.2.1 Ensure that Activity Log Alert exists for Create Policy Assignment | Create an activity log alert for the Create Policy Assignment event. |
CIS_AZURE_MONITORING_ACT_LOG_ALERTS_DELETE_POLICY_ASSIGNMENT | CIS 5.2.2 | 5.2.2 Ensure that Activity Log Alert exists for Delete Policy Assignment | Create an activity log alert for the Delete Policy Assignment event. |
CIS_AZURE_MONITORING_ACT_LOG_ALERTS_CREATE_UPDATE_NSG | CIS 5.2.3 | 5.2.3 Ensure that Activity Log Alert exists for Create or Update Network Security Group | Create an Activity Log Alert for the Create or Update Network Security Group event. |
CIS_AZURE_MONITORING_ACT_LOG_ALERTS_DELETE_NSG | CIS 5.2.4 | 5.2.4 Ensure that Activity Log Alert exists for Delete Network Security Group | Create an activity log alert for the Delete Network Security Group event. |
CIS_AZURE_MONITORING_ACT_LOG_ALERTS_CREATE_UPDATE_SECURITY | CIS 5.2.5 | 5.2.5 Ensure that Activity Log Alert exists for Create or Update Security Solution | Create an activity log alert for the Create or Update Security Solution event. |
CIS_AZURE_MONITORING_ACT_LOG_ALERTS_DELETE_SECURITY | CIS 5.2.6 | 5.2.6 Ensure that Activity Log Alert exists for Delete Security Solution | Create an activity log alert for the Delete Security Solution event. |
CIS_AZURE_MONITORING_ACT_LOG_ALERTS_CREATE_UPDATE_SQL_SERVER | CIS 5.2.7 | 5.2.7 Ensure that Activity Log Alert exists for Create or Update SQL Server Firewall Rule | Create an activity log alert for the Create or Update SQL Server Firewall Rule event. |
CIS_AZURE_MONITORING_ACT_LOG_ALERTS_DELETE_SQL_SERVER | CIS 5.2.8 | 5.2.8 Ensure that Activity Log Alert exists for Delete SQL Server Firewall Rule | Create an activity log alert for the 'Delete SQL Server Firewall Rule.' |
CIS_AZURE_MONITORING_ACT_LOG_ALERTS_CREATE_UPDATE_PUBLIC_IP_ADDRESS | CIS 5.2.9 | 5.2.9 Ensure that Activity Log Alert exists for Create or Update Public IP Address rule | Create an activity log alert for the Create or Update Public IP Addresses rule. |
CIS_AZURE_MONITORING_ACT_LOG_ALERTS_DELETE_PUBLIC_IP_ADDRESS | CIS 5.2.10 | 5.2.10 Ensure that Activity Log Alert exists for Delete Public IP Address rule | Create an activity log alert for the Delete Public IP Address rule. |
CIS_AZURE_RESOURCE_HAS_NO_DIAGNOSTIC_LOGS | CIS 5.3 | 5.3 Ensure that Azure Monitor Resource Logging is Enabled for All Services that Support it | Resource Logs capture activity to the data access plane while the Activity log is a subscription-level log for the control plane. Resource-level diagnostic logs provide insight into operations that were performed within that resource itself; for example, reading or updating a secret from a Key Vault. Currently, 95 Azure resources support Azure Monitoring (See the more information section for a complete list), including Network Security Groups, Load Balancers, Key Vault, AD, Logic Apps, and CosmosDB. The content of these logs varies by resource type. |
CIS_AZURE_NETWORK_SG_OPEN_PORT_RDP_SERVER | CIS 6.1 | 6.1 Ensure that RDP access from the Internet is evaluated and restricted | Network security groups should be periodically evaluated for port misconfigurations. Where certain ports and protocols may be exposed to the Internet, they should be evaluated for necessity and restricted wherever they are not explicitly required. |
CIS_AZURE_NETWORK_SG_OPEN_PORT_SSH_SERVER | CIS 6.2 | 6.2 Ensure that SSH access from the Internet is evaluated and restricted | Network security groups should be periodically evaluated for port misconfigurations. Where certain ports and protocols may be exposed to the Internet, they should be evaluated for necessity and restricted wherever they are not explicitly required. |
CIS_AZURE_NETWORK_SG_OPEN_PORT_UDP | CIS 6.3 | 6.3 Ensure that UDP access from the Internet is evaluated and restricted | Network security groups should be periodically evaluated for port misconfigurations. Where certain ports and protocols may be exposed to the Internet, they should be evaluated for necessity and restricted wherever they are not explicitly required. |
CIS_AZURE_NETWORK_SG_OPEN_PORT_HTTP | CIS 6.4 | 6.4 Ensure that HTTP(S) access from the Internet is evaluated and restricted | Network security groups should be periodically evaluated for port misconfigurations. Where certain ports and protocols may be exposed to the Internet, they should be evaluated for necessity and restricted wherever they are not explicitly required. |
CIS_AZURE_NETWORK_LOG_RETENTION | CIS 6.5 | 6.5 Ensure that Network Security Group Flow Log retention period is 'greater than 90 days' | Network Security Group Flow Logs should be enabled and the retention period set to greater than or equal to 90 days. |
CIS_AZURE_NETWORK_WATCHER | CIS 6.6 | 6.6 Ensure that Network Watcher is 'Enabled' | Enable Network Watcher for Azure subscriptions. |
CIS_AZURE_VM_DISK_NON_MANAGED | CIS 7.1 | 7.1 Ensure Virtual Machines are utilizing Managed Disks | Migrate blob-based VHDs to Managed Disks on Virtual Machines to exploit the default features of this configuration. The features include: Default Disk Encryption, Resilience, as Microsoft will managed the disk storage and move around if underlying hardware goes faulty, Reduction of costs over storage accounts. |
CIS_AZURE_OS_DATA_DISK_NOT_ENCRYPTED_WITH_CMK | CIS 7.2 | 7.2 Ensure that 'OS and Data' disks are encrypted with Customer Managed Key (CMK) | Ensure that OS disks (boot volumes) and data disks (non-boot volumes) are encrypted with CMK (Customer Managed Keys). Customer Managed keys can be either ADE or Server Side Encryption (SSE). |
CIS_AZURE_UNATTACHED_DISK_NOT_ENCRYPTED_WITH_CMK | CIS 7.3 | 7.3 Ensure that 'Unattached disks' are encrypted with 'Customer Managed Key' (CMK) | Ensure that unattached disks in a subscription are encrypted with a Customer Managed Key (CMK). |
CIS_AZURE_MANAGEMENT_ASSIGNMENT_ENDPOINT_PROTECTION_DISABLED_POLICY | CIS 7.5 | 7.5 Ensure that Endpoint Protection for all Virtual Machines is installed | Install endpoint protection for all virtual machines. |
CIS_AZURE_SECURITY_RBAC_KEY_NO_EXPR_DATE | CIS 8.1 | 8.1 Ensure that the Expiration Date is set for all Keys in RBAC Key Vaults | Ensure that all Keys in Role Based Access Control (RBAC) Azure Key Vaults have an expiration time set. |
CIS_AZURE_SECURITY_NON_RBAC_KEY_NO_EXPR_DATE | CIS 8.2 | 8.2 Ensure that the Expiration Date is set for all Keys in Non-RBAC Key Vaults. | Ensure that all Keys in Non Role Based Access Control (RBAC) Azure Key Vaults have an expiration time set. |
CIS_AZURE_SECURITY_RBAC_SECRET_NO_EXPR_DATE | CIS 8.3 | 8.3 Ensure that the Expiration Date is set for all Secrets in RBAC Key Vaults | Ensure that all Secrets in Role Based Access Control (RBAC) Azure Key Vaults have an expiration time set. |
CIS_AZURE_SECURITY_NO_RBAC_SECRET_NO_EXPR_DATE | CIS 8.4 | 8.4 Ensure that the Expiration Date is set for all Secrets in Non-RBAC Key Vaults | Ensure that all Secrets in Non Role Based Access Control (RBAC) Azure Key Vaults have an expiration time set. |
CIS_AZURE_SECURITY_KEYVAULT_PURGE_PROTECTION | CIS 8.5 | 8.5 Ensure the Key Vault is Recoverable | The Key Vault contains object keys, secrets, and certificates. Accidental unavailability of a Key Vault can cause immediate data loss or loss of security functions (authentication, validation, verification, non-repudiation, etc.) supported by the Key Vault objects. It is recommended the Key Vault be made recoverable by enabling the 'Do Not Purge' and 'Soft Delete' functions. |
CIS_AZURE_WEB_APP_SERVICE_AUTH | CIS 9.1 | 9.1 Ensure App Service Authentication is set up for apps in Azure App Service | Azure App Service Authentication is a feature that can prevent anonymous HTTP requests from reaching the API app, or authenticate those that have tokens before they reach the API app. If an anonymous request is received from a browser, App Service will redirect to a logon page. To handle the logon process, a choice from a set of identity providers can be made, or a custom authentication mechanism can be implemented. |
CIS_AZURE_WEB_APP_SERVICE_HTTPS_ONLY | CIS 9.2 | 9.2 Ensure Web App Redirects All HTTP traffic to HTTPS in Azure App Service | Azure Web Apps allows sites to run under both HTTP and HTTPS by default. Web apps can be accessed by anyone using non-secure HTTP links by default. Non-secure HTTP requests can be restricted and all HTTP requests redirected to the secure HTTPS port. It is recommended to enforce HTTPS-only traffic. |
CIS_AZURE_WEB_APP_SERVICE_TLS_VERSION | CIS 9.3 | 9.3 Ensure Web App is using the latest version of TLS encryption | The TLS (Transport Layer Security) protocol secures transmission of data over the internet using standard encryption technology. Encryption should be set with the latest version of TLS. App service allows TLS 1.2 by default, which is the recommended TLS level by industry standards such as PCI DSS. |
CIS_AZURE_WEB_APP_SERVICE_CLIENT_CERT | CIS 9.4 | 9.4 Ensure the web app has 'Client Certificates (Incoming client certificates)' set to 'On' | Client certificates allow for the app to request a certificate for incoming requests. Only clients that have a valid certificate will be able to reach the app. |
CIS_AZURE_WEB_APP_SERVICE_NO_IDENTITY | CIS 9.5 | 9.5 Ensure that Register with Azure Active Directory is enabled on App Service | Managed service identity in App Service provides more security by eliminating secrets from the app, such as credentials in the connection strings. When registering with Azure Active Directory in App Service, the app will connect to other Azure services securely without the need for usernames and passwords. |
CIS_AZURE_WEB_APP_SERVICE_PHP_VERSION | CIS 9.6 | 9.6 Ensure That 'PHP version' is the Latest, If Used to Run the Web App | Periodically newer versions are released for PHP software either due to security flaws or to include additional functionality. Using the latest PHP version for web apps is recommended in order to take advantage of security fixes, if any, and/or additional functionalities of the newer version. |
CIS_AZURE_WEB_APP_SERVICE_PYTHON_VERSION | CIS 9.7 | 9.7 Ensure that 'Python version' is the Latest Stable Version, if Used to Run the Web App | Using the latest full Python version for web apps is recommended in order to take advantage of security fixes, if any, and/or additional functionalities of the newer version. |
CIS_AZURE_WEB_APP_SERVICE_JAVA_VERSION | CIS 9.8 | 9.8 Ensure that 'Java version' is the latest, if used to run the Web App | Using the latest Java version for web apps is recommended in order to take advantage of security fixes, if any, and/or new functionalities of the newer version. |
CIS_AZURE_WEB_APP_SERVICE_NO_HTTP_2 | CIS 9.9 | 9.9 Ensure that 'HTTP Version' is the Latest, if Used to Run the Web App | Periodically, newer versions are released for HTTP either due to security flaws or to include additional functionality. Using the latest HTTP version for web apps to take advantage of security fixes, if any, and/or new functionalities of the newer version. |
CIS_AZURE_WEB_APP_SERVICE_FTP_NOT_DISABLED | CIS 9.10 | 9.10 Ensure FTP deployments are Disabled | By default, Azure Functions, Web, and API Services can be deployed over FTP. If FTP is required for an essential deployment workflow, FTPS should be required for FTP login for all App Service Apps and Functions. |
CIS_AZURE_SECRETS_NOT_STORED_BY_KEY_VAULT | CIS 9.11 | 9.11 Ensure Azure Key Vaults are Used to Store Secrets | Azure Key Vault will store multiple types of sensitive information such as encryption keys, certificate thumbprints, and Managed Identity Credentials. Access to these 'Secrets' can be controlled through granular permissions. |
CIS_AZURE_NO_LOCK | CIS 10.1 | 10.1 Ensure that Resource Locks are set for Mission-Critical Azure Resources | Resource Manager Locks provide a way for administrators to lock down Azure resources to prevent deletion of, or modifications to, a resource. These locks sit outside of the Role Based Access Controls (RBAC) hierarchy and, when applied, will place restrictions on the resource for all users. These locks are very useful when there is an important resource in a subscription that users should not be able to delete or change. Locks can help prevent accidental and malicious changes or deletion. |
The Payment Card Industry Data Security Standard (PCI DSS) is a global standard that provides a baseline of technical and operational requirements designed to protect account data.
To read more about PCI DSS Requirements, please visit PCI home page .
PCI DSS v4.0 requirements (12)
Requirement | Title | Description | |
---|---|---|---|
PCI_ENCR_AT_REST | PCI DSS 3.5 | 3.5 Primary account number (PAN) is secured wherever it is stored. | If an intruder circumvents other security controls and gains access to encrypted account data, the data is unreadable without the proper cryptographic keys and is unusable to that intruder. This requirement applies to PANs stored in primary storage (databases, or flat files such as text files spreadsheets) as well as non-primary storage (backup, audit logs, exception, or troubleshooting logs) must all be protected. |
PCI_PASS_ROTATE | PCI DSS 3.7.4 | 3.7.4 Key management policies and procedures are implemented for cryptographic key changes for keys that have reached the end of their cryptoperiod. | Changing encryption keys when they reach the end of their cryptoperiod is imperative to minimize the risk of someone obtaining the encryption keys and using them to decrypt data. |
PCI_ENCR_IN_TRANSIT | PCI DSS 4.2 | 4.2 Primary account number (PAN) is protected with strong cryptography during transmission. | Sensitive information must be encrypted during transmission over public networks because it is easy and common for a malicious individual to intercept and/or divert data while in transit. It is considered a good practice for entities to also encrypt PAN over their internal networks, and for entities to establish any new network implementations with encrypted communications. |
PCI_CERT_EXPIRY | PCI DSS 4.2.1 | 4.2.1 Certificates used to safeguard primary account number (PAN) during transmission over open, public networks are confirmed as valid and are not expired or revoked. | Confirming that certificates used to safeguard PAN during transmission over open, public networks are valid and are not expired or revoked is a best practice until 31 March 2025, after which it will be required as part of Requirement 4.2.1 and must be fully considered during a PCI DSS assessment. |
PCI_INACTIVE_ACCOUNT | PCI DSS 8.2.6 | 8.2.6 Inactive user accounts are removed or disabled within 90 days of inactivity. | Examine user accounts and last logon information, and interview personnel to verify that any inactive user accounts are removed or disabled within 90 days of inactivity. |
PCI_PASS_COMPLEX | PCI DSS 8.3.6 | 8.3.6 Passwords/passphrases used as authentication factors must meet the following minimum level of complexity: a minimum length of 12 characters (if the system does not support 12 characters, a minimum length of eight characters), and contain both numeric and alphabetic characters. | Examine system configuration settings to verify that user password/passphrase complexity parameters are set in accordance with all elements specified in this requirement. |
PCI_PASS_CHANGE | PCI DSS 8.3.9 | 8.3.9 If passwords/passphrases are used as the only authentication factor for user access, then passwords/passphrases are changed at least once every 90 days. | If passwords/passphrases are used as the only authentication factor for user access, inspect system configuration settings to verify that passwords/passphrases are managed in accordance with the specified requirement. |
PCI_PASS_NOREUSE | PCI DSS 8.3.7 | 8.3.7 Individuals are not allowed to submit a new password/passphrase that is the same as any of the last four passwords/passphrases used. | Examine system configuration settings to verify that password parameters are set to require that new passwords/passphrases cannot be the same as the four previously used passwords/passphrases. |
PCI_MFA | PCI DSS 8.4 | 8.4 Multi-factor authentication (MFA) is implemented to secure access into the cardholder data environment (CDE). | Examine network and/or system configurations to verify MFA is implemented for all access into the CDE. |
PCI_AUDIT_LOGS | PCI DSS 10.2 | 10.2 Audit logs are implemented to support the detection of anomalies and suspicious activity, and the forensic analysis of events. | Audit logs must exist for all system components. Audit logs send alerts the system administrator, provides data to other monitoring mechanisms, such as intrusion-detection systems (IDS) and security information and event monitoring systems (SIEM) tools, and provide a history trail for post-incident investigation. Logging and analyzing security-relevant events enable an organization to identify and trace potentially malicious activities. |
PCI_NET_SEGMENT | PCI DSS (Networking) | Guidance for PCI DSS Scoping and Network Segmentation. | Segmentation (or isolation) of the cardholder data environment (CDE) from the remainder of an entity's network is strongly recommended as a method that may reduce the risk to an organization relative to payment card account data. |
PCI_NO_TLS1 | PCI DSS (Old Protocols) | Guidance on PCI DSS Requirement 4.2: SSL and TLS 1.0 are not permitted. | Some protocol implementations (such as SSL, SSH v1.0, and TLS 1.0) have known vulnerabilities that an attacker can use to gain access to the cleartext data. It is critical that entities maintain awareness of industry-defined deprecation dates for the cipher suites they are using and are prepared to migrate to newer versions or protocols when older ones are no longer deemed secure. |
The HIPAA Security Rule ensures patients and their Protected Health Information (ePHI) are protected, as well as healthcare facilities and health insurance providers.
To read more about HIPAA security rule, please visit HIPAA home page .
HIPAA requirements (4)
Requirement | Title | Description | |
---|---|---|---|
HIPAA_ENCRYPT | HIPAA (Encryption) | Access Control (§ 164.312(a)(1)(iv)) — Encryption of Data In Transit or At Rest | HIPAA Security Rule requires encryption of electronic Protected Health Information (ePHI) of patients when the data is in transit or at rest. 'At rest' includes the cloud storage service where ePHI has been saved (storage bucket, database, file system) and in transit relates to any electronic communication of that information. The security of ePHI in transit or at rest should be established by the use of data encryption. ePHI should be rendered 'unreadable, undecipherable or unusable' so any 'acquired' healthcare or payment information is of no use to an unauthorized third party. |
HIPAA_NETWORK | HIPAA (Networking) | Access Control (§ 164.312(a)(1)) — Network Segmentation | Firewalls, network segmentation, and network access control solutions can be effective means of limiting access to electronic information systems containing electronic Protected Health Information (ePHI). Properly implemented, network-based solutions can limit the ability of a hacker to gain access to an organization's network or impede the ability of a hacker already in the network from accessing other information systems — especially systems containing sensitive data. By building and implementing a network segmentation strategy, networks can be broken down into multiple segments and made safer against potential breaches by dangerous cybercriminals and hackers. |
HIPAA_AUDIT | HIPAA (Audit) | Audit Controls (§ 164.312(b)) | Implement hardware, software, and/or procedural mechanisms that record and examine activity in information systems that contain or use electronic Protected Health Information (ePHI). Audit logs and trails assist companies with reducing risk associated with reviewing inappropriate access, tracking unauthorized disclosures of ePHI, detecting performance problems and flaws in applications, detecting potential intrusions and other malicious activity, and providing forensic evidence during investigation of security incidents and breaches. |
HIPAA_BACKUP | HIPAA (Backup) | Contingency Plan 164.308(a)(7) — Data Backup Plan | A contingency plan is the only way to protect the availability, integrity, and security of data during unexpected negative events. Establish and implement procedures to create and maintain retrievable exact copies of electronic protected health information. The data backup plan should define exactly what information is needed to be retrievable to allow the entity to continue business 'as usual' in the face of damage or destruction of data, hardware, or software. |