Ý tưởng: Dựa trên bài lab HSRP trước đây. Ta sẽ để ssh username, ssh password và enable password vào 1 file riêng mà không nằm chung file chứa IP các thiết bị. Sau đó sẽ mã hóa file này với Ansible Vault. Mục đích chính là bảo mật thông tin tránh bị tấn công.
Sơ đồ mạng:
Mô tả:
Cấu hình Router và 4 Switch, các bạn tham khảo bài trước:
https://www.forum.vnpro.org/forum/cc...3%B9ng-ansible
Code các file thực hiện, các bạn có thể tham khảo ở đây: https://github.com/vnpro149/Ansible/tree/master/HSRP
Lưu ý:
Tạo playbook chứa các thông tin cần bảo mật: ssh username, ssh password, enable password, sudo password,….
Một vài cú pháp cơ bản khác khi dùng Ansible Vault:
Nội dung file của mình:
Nội dung file sau khi mã hóa:
Lưu ý: cần ghi nhớ mật khẩu mã hóa. Có thể đặt nhiều password cho 1 file.
Chạy các playbook với pass.yml đã được mã hóa.
sudo ansible-playbook <filename>.yml --ask-vault-pass sau đó nhập mật khẫu mã hóa
có thể lưu mật khẩu mã hóa riêng ở 1 file hoặc 1 script và chạy với lệnh sau:
sudo ansible-playbook <filename>.yml --vault-password-file password.txt
hoặc
sudo ansible-playbook <filename>.yml --vault-password-file password.py
Giải thích: - -vault-password-file là lấy password file chứa password. - -ask-vault-pass là cho nhập password khi chạy kết quả.
Chạy file AS.yml:
Chạy file DS.yml:
Chạy R.yml:
Hoàn thành LAB.
Thank you.
Sơ đồ mạng:
Mô tả:
- Sơ đồ gồm 1 Router, 2 Distributed Switch, 2 Access Switch, 2 PC cho 2 Vlan, được kết nối với Ansible Server. Mô hình thực hiện trên Linux OS và các thiết bị ảo.
- Thực hiện các công việc sau:
- Các cú pháp cơ bản với Ansible Vault.
- Tạo file playbook pass.yml.
- Chạy playbook đã được mã hóa.
Cấu hình Router và 4 Switch, các bạn tham khảo bài trước:
https://www.forum.vnpro.org/forum/cc...3%B9ng-ansible
Code các file thực hiện, các bạn có thể tham khảo ở đây: https://github.com/vnpro149/Ansible/tree/master/HSRP
Lưu ý:
- Thêm vào code đoạn sau trước mỗi phần tasks:
- Đây là khai báo file pass.yml để lấy ssh user ssh password,… nếu đặt file không nằm chung vs file playbook, ta cần khai báo đường dẫn chính xác đến vị trí file vd: roles/group_vars/pass.yml
Tạo playbook chứa các thông tin cần bảo mật: ssh username, ssh password, enable password, sudo password,….
Một vài cú pháp cơ bản khác khi dùng Ansible Vault:
- Để tạo file Ansible Vault gồm 2 cách:
- Cách 1: Tạo playbook như bình thường bằng bất cứ công cụ editor nào bạn muốn: vi, vim, nano, gedit,.… sau đó mã hóa file đó với Ansible Vault bằng câu lệnh: sudo ansible-vault encrypt <filename>.yml
- Cách 2: Tạo 1 file Ansible Vault với câu lệnh: sudo ansible-vault create <filename>.yml. Tuy nhiên, cách này mặc định ansible sẽ chọn vi làm editor. Các bạn có thể chỉnh thành editor mình muốn trong file ~/.bashrc: sudo nano ~/.bashrc và thêm dòng export EDITOR=nano hoặc bất cứ cái nào bạn muốn.
- Để sửa file:
- sudo ansible-vault edit <filename>.yml hoặc đơn giản là giải mã file và sửa nó, sau đó mã hóa lại.
- Mã hóa file: sudo ansible-vault encrypt <filename>.yml
- Giải mã file: sudo ansible-vault decrypt <filename>.yml
- Thay đổi mật khẩu mã hóa: sudo ansible-vault rekey <filename>.yml
- Xem nội dung file đã mã hóa: sudo ansible-vault view <filename>.yml
Nội dung file của mình:
Code:
[FONT=Calibri][FONT=Times New Roman]---[/FONT][/FONT] [FONT=Calibri][FONT=Times New Roman]ansible_ssh_user: admin[/FONT][/FONT] [FONT=Calibri][FONT=Times New Roman]ansible_ssh_pass: 123[/FONT][/FONT] [FONT=Times New Roman]ansible_become_password: 321[/FONT]
Lưu ý: cần ghi nhớ mật khẩu mã hóa. Có thể đặt nhiều password cho 1 file.
Chạy các playbook với pass.yml đã được mã hóa.
sudo ansible-playbook <filename>.yml --ask-vault-pass sau đó nhập mật khẫu mã hóa
có thể lưu mật khẩu mã hóa riêng ở 1 file hoặc 1 script và chạy với lệnh sau:
sudo ansible-playbook <filename>.yml --vault-password-file password.txt
hoặc
sudo ansible-playbook <filename>.yml --vault-password-file password.py
Giải thích: - -vault-password-file là lấy password file chứa password. - -ask-vault-pass là cho nhập password khi chạy kết quả.
Chạy file AS.yml:
Chạy file DS.yml:
Chạy R.yml:
Hoàn thành LAB.
Thank you.
Nguồn : VNPRO