Skip to content

Bastion Container Creation #14

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 25 commits into from
Aug 15, 2024
Merged

Bastion Container Creation #14

merged 25 commits into from
Aug 15, 2024

Conversation

amandayclee
Copy link
Contributor

@amandayclee amandayclee commented Jul 20, 2024

Fixes

Description

Create a bastion Dockerfile as a jump server

Technical details

The bastion Dockerfile includes:

  • Installation of necessary packages such as openssh-client and openssh-server.
  • Configuration of SSH settings to enhance security, including disabling root login and enabling public key authentication.
  • Creation of a sysadmin user with appropriate SSH key setup.
  • Exposure of the necessary SSH port.

Tests

  1. From your localhost, run docker-compose up to start the container.
  2. From your localhost, run ssh-add ./sysadmin-ssh-keys/rsa_sysadmin
  3. From your localhost, run ssh -J sysadmin@localhost:22222 sysadmin@web-dev and ssh -J sysadmin@localhost:22222 sysadmin@ansible-dev to verify the connection through the bastion server. The connection should be successful.

Screenshots

Checklist

  • My pull request has a descriptive title (not a vague title like Update index.md).
  • My pull request targets the default branch of the repository (main or master).
  • My commit messages follow best practices.
  • My code follows the established code style of the repository.
  • I added or updated tests for the changes I made (if applicable).
  • I added or updated documentation (if applicable).
  • I tried running the project locally and verified that there are no
    visible errors.

Developer Certificate of Origin

For the purposes of this DCO, "license" is equivalent to "license or public domain dedication," and "open source license" is equivalent to "open content license or public domain dedication."

Developer Certificate of Origin
Developer Certificate of Origin
Version 1.1

Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
1 Letterman Drive
Suite D4700
San Francisco, CA, 94129

Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.


Developer's Certificate of Origin 1.1

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I
    have the right to submit it under the open source license
    indicated in the file; or

(b) The contribution is based upon previous work that, to the best
    of my knowledge, is covered under an appropriate open source
    license and I have the right under that license to submit that
    work with modifications, whether created in whole or in part
    by me, under the same open source license (unless I am
    permitted to submit under a different license), as indicated
    in the file; or

(c) The contribution was provided directly to me by some other
    person who certified (a), (b) or (c) and I have not modified
    it.

(d) I understand and agree that this project and the contribution
    are public and that a record of the contribution (including all
    personal information I submit with it, including my sign-off) is
    maintained indefinitely and may be redistributed consistent with
    this project or the open source license(s) involved.

@amandayclee amandayclee requested a review from a team as a code owner July 20, 2024 23:27
@amandayclee amandayclee requested review from TimidRobot, annatuma, Shafiya-Heena and possumbilities and removed request for a team and annatuma July 20, 2024 23:27
@amandayclee amandayclee self-assigned this Jul 23, 2024
@amandayclee
Copy link
Contributor Author

I updated the testing instructions. Now you should no longer see public key denied error.

@@ -56,5 +56,5 @@ ENV ANSIBLE_CONFIG=/etc/ansible/ansible.cfg
EXPOSE 22

# Start SSH service
CMD ["/usr/sbin/sshd", "-D"]
ENTRYPOINT ["/bin/sh", "-c", "ansible-playbook site.yml && /usr/sbin/sshd -D"]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please revert this change as we use Ansible for configuration instead of Docker.

IdentityFile /home/sysadmin/.ssh/id_rsa
ForwardAgent yes

Host db-dev
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

please remove db details as we are not managing it

- Host db-dev
- HostName db-dev
- User sysadmin
- identityFile /home/sysadmin/.ssh/id_rsa
- ForwardAgent yes
+                      

HostName ansible-dev
User sysadmin
IdentityFile /home/sysadmin/.ssh/id_rsa
ForwardAgent yes
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe we decided to use ProxyJump, so this needs to be updated accordingly.
something like this

+ Host ansible-dev
+    HostName ansible-dev
+    User sysadmin
+    IdentityFile /home/sysadmin/.ssh/id_rsa
+    ProxyJump bastion

+ Host web-dev
+    HostName web-dev
+    User sysadmin
+    IdentityFile /home/sysadmin/.ssh/id_rsa
+    ProxyJump bastion


+ Host bastion
+    HostName bastion-dev
+    User sysadmin
+    IdentityFile /home/sysadmin/.ssh/id_rsa

Copy link
Member

@Shafiya-Heena Shafiya-Heena left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me, Approved!! ❤️

@Shafiya-Heena Shafiya-Heena merged commit 164a0c3 into main Aug 15, 2024
@Shafiya-Heena Shafiya-Heena deleted the bastion branch August 15, 2024 16:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Create Bastion Host Docker Container
2 participants