Skip to content

rafaeljusto/shelter

Repository files navigation

shelter

Build Status GoDoc Download

System created for registries to periodically validate and alert domains about DNS or DNSSEC misconfiguration.

The idea started at the roundtable "DNSSEC: cooperation for the uptake of regional initiatives" in LACTLD Tech Workshop occured in Panama City, Panama on September of 2013. The roundtable was leaded by Hugo Salgado (.cl); Rafael Dantas Justo (.br); Robert Martin- Legene (PCH). Many others participants from other registries of Latin America also contributed with ideas for the project.

For more information check the Wiki.

features

  • Automatically detect DNS/DNSSEC configuration problems of the registered domains
  • Automatically sends e-mails notifying domain's owners of the configuration problems
  • System can be deployed on registry or provider back-end infrastructure, not letting critical data to spread to other networks
  • Uses REST architecture to allow a distributted system and easy integration with other softwares
  • Multi-language support for notification's e-mails that can be distinct for each domain's owner
  • Built-in web client to manage domains easily without the necessity to develop a REST client
  • IDN support for domains' names
  • Optimized scan strategy to verify all registered domains configurations
  • On-the-fly domain verification interface
  • Allow a cluster of MongoDB servers for data persistency

installing

The install information can be found here.

building

The Shelter project was developed using the Go language

The objects are persisted using a MongoDB database. To install it check the webpage http://www.mongodb.org/

Also, to easy run the project tests you will need the following:

Remember that the project directory should respect the path bellow, because the source code dependencies can make references to this structure.

<GOPATH>/src/github.com/rafaeljusto/shelter

You can automatically retrieve the project with the desired structure using the following command:

go get -u github.com/rafaeljusto/shelter

And finally, to build the project, just run the following command on the project root:

go build shelter.go

Optionally you can run the tests executing the following command on the project root:

python3 test-all.py

deploying

To deploy the project you will need one or more programs bellow, depending on the operational system that you choose, and if you want a CI enviroment.

All necessary scripts to generate the packages are under the deploy folder in the project root.

About

Program to periodically validate and alert domains about DNS or DNSSEC misconfiguration

Resources

License

Stars

Watchers

Forks

Packages

No packages published