Skip to content

sholan/Aker

 
 

Repository files navigation

Aker SSH Gateway

alt text

What is Aker?

Aker is a security tool that helps you configure your own Linux ssh jump/bastion host. Named after an Egyptian mythology deity who guarded the borders, Aker would act as choke point through which all your sysadmins and support staff access Linux production servers. Aker SSH gateway includes a lot of security features that would help you manage and administer thousands of Linux servers at ease. For a detailed look check our Wiki

Motivation

I couldn't find an open source tool similar to CryptoAuditor and fudo, such tools are beneficial if you're seeking becoming PCI-DSS or HIPAA compliant for example, regardless of security standards compliance access to the server should be controlled and organized in a way convenient to both traditional and cloud workloads.

Roadmap

  • Phase 0

    • Integration with an identity provider (FreeIPA for now)
    • Parsable audit logs (json for example to work with Elasticsearch)
    • Highly available setup
  • Phase 1

    • Admin WebUI
    • Session playback
    • Live session monitoring
    • Cloud support (AWS,OpenStack etc..) or On-premises deployments
    • Command filtering (Prevent destructive commands like rm -rf)
    • Encrypt sessions logs stored on disk.
  • Phase 2

    • Support for graphical protocols (RDP, VNC, X11) monitoring
    • User productivity dashboard

See it in action

Aker - in action

Requirements

Software:

  • Linux (Tested on CentOS and ubuntu)
  • Python (Tested on 2.7)

Python Modules:

  • configparser
  • urwid
  • paramiko

Installation

  • First the dependencies
yum install python2-paramiko python-configparser python-urwid
  • Copying files
cp *.py /bin/aker/
  • Copy aker.ini in /etc/ and edit it to include users and servers like below :
[General] 
log_level = DEBUG

[anazmy]
;; is user enabled
enabled = True

;; hosts section include the hosts allowed
;; for this user, one entry per line 
;; format: hostname,port,username
hosts = websrv1.example.com,22,root
	srv2.example.com,22,root
	oracldb.example.com,22,root
	dbsrv1.example.com,22,root

  • Add /bin/aker/aker.py to /etc/shells
echo "/bin/aker/aker.py" >> /etc/shells 
  • Change user shell to aker
chsh -s /bin/aker/aker.py username

Contributing

Currently I work on the code in my free time, any assistance is highly appreciated. Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests.

About

SSH bastion/jump host

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%