You've got a lot of maps and they are getting pretty unruly. What do you do? You put them in a book and call it an atlas. This is like that, except it's a website and it's a collection of nmaps. Natlas' objective is to make it easy to perform continuous scanning and review collected data.
The goal of Natlas is not to identify a bunch of vulnerabilities, necessarily, but rather to identify exposure. Perhaps you want to make sure that no one is running ssh with password auth enabled. Or perhaps you want to look for any exposed nfs, smb, or rsync shares. Maybe you want to look for expiring or expired ssl certificates, or weak ssl ciphers being used. Since Natlas uses the popular nmap port scanner, you can easily use any default nmap scripts in your scans.
To get started with your own deployment of Natlas, you're going to need a minimum of one elasticsearch node, one Natlas server and one Natlas agent. The quickest way to accomplish this is to run all three of these containers on the same server. Installation instructions for the server and the agent are linked below in their associated readmes.
The required deployment order is as follows:
Note: As of June 15, 2020, Natlas has moved to a docker-only deployment model.
Because the Natlas server requires a connection to Elasticsearch in order to launch correctly, you should make sure you have an Elasticsearch node available before continuing with the next step. If you've never used Elasticsearch before, follow Elastic's instructions for setting up a single node cluster with docker. Make sure to pay attention to the section on persisting the elastic data.
The Natlas server controls agent orchestration, scan configuration, and provides search and browse for the data stored in Elastic.
See the Natlas Server README for instructions on installing the Natlas server.
The Natlas agent is what fetches work from the server and actually performs the scans.
See the Natlas Agent README for instructions on installing the Natlas agent.
Please review our contribution guidelines for information on how to contribute to Natlas. To get started with development, please see Project Setup.
This project strives to adhere to the code of conduct outlined in our code of conduct. Please review the code of conduct before contributing.
Information about this project's security reporting guidelines as well as security related functionality are outlined in our Security guidelines.
- Pinguino - Created Natlas logo/branding.
- Dean Pierce - Created the initial project, nweb, that Natlas was built out of.
- Topher Timzen - Testing, feedback, automation support.
- Adam Jacques - Helping with Elasticsearch theory and just generally helping improve code quality
- Ross Snider - Writing Cyclic PRNG for target selection
- Everyone who has contributed
Natlas is a platform which makes use of many other open source projects, many of which have their own licenses. Natlas does not claim ownership of any projects that it uses, and does not represent any of said projects. To the best of the Natlas Author's knowledge, the use of these tools in the Natlas platform is not violating any licenses. Natlas is a free and open source project that does not make, nor seeks to make, any revenue from the use of the other open source tools in use.
For further inquiry about licensing, please see the respective projects' licenses.
Copyright 2020 0xdade
Copyright 2016-2018 Intel Corporation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.