Skip to main content

Posts

Showing posts with the label Ansible

Ansible Nginx with ModSecurity Automation

  Dalam era digital yang semakin kompleks, keamanan web menjadi prioritas utama bagi banyak organisasi. Salah satu kombinasi alat yang efektif untuk meningkatkan keamanan aplikasi web adalah Nginx dengan ModSecurity. Nginx, sebagai server web yang cepat dan andal, dan ModSecurity, sebagai firewall aplikasi web (WAF), bekerja bersama untuk melindungi aplikasi dari berbagai serangan siber. Untuk mempermudah proses instalasi dan konfigurasi, Ansible hadir sebagai alat otomatisasi yang kuat. Artikel ini akan membahas langkah-langkah detail tentang bagaimana mengotomatiskan instalasi dan konfigurasi Nginx dengan ModSecurity menggunakan Ansible. Dengan code Ansible ini akan mampu menyederhanakan proses deployment dan memastikan konfigurasi keamanan yang konsisten di seluruh lingkungan server. Code Ansible berikut bisa menjadi awal untuk memulai belajar Nginx dengan Modsecurity module, selanjutnya bisa dikembangkan sendiri untuk rules  seperti OWASP, Rules tuning, Rate limit, dll. https://git

Konfigurasi Ansible Role Webserver Nginx

Berikut adalah panduan contoh saja use case dengan simple http nginx belum https untuk membuat role Ansible yang mengatur Nginx dengan template untuk menambahkan virtual host `www.sabang.net` misalnya: ### Langkah 1: Menentukan Struktur Peran Pertama, buat struktur direktori yang diperlukan untuk peran Ansible. ```bash mkdir -p roles/nginx/{tasks,templates,defaults,handlers} ``` ### Langkah 2: Buat `defaults/main.yml` File ini akan mendefinisikan variabel default untuk peran. ```yaml # roles/nginx/defaults/main.yml nginx_user: www-data nginx_conf_dir: /etc/nginx nginx_vhost_template: nginx_vhost.j2 nginx_sites_available_dir: "{{ nginx_conf_dir }}/sites-available" nginx_sites_enabled_dir: "{{ nginx_conf_dir }}/sites-enabled" nginx_domain: www.sabang.net nginx_root: /var/www/{{ nginx_domain }} ``` ### Langkah 3: Buat `tasks/main.yml` File ini akan berisi tugas-tugas untuk menginstal dan mengonfigurasi Nginx. ```yaml # roles/nginx/tasks/main.yml --- - name: Pastikan Ng

ITNSA Konfigurasi Ansible WinRM Windows Server

 ### Mengonfigurasi Koneksi Ansible ke Server Windows Ansible adalah alat otomatisasi yang sangat populer dan sering digunakan untuk mengelola berbagai jenis server, termasuk server Windows. Artikel ini akan memandu Anda melalui langkah-langkah untuk mengonfigurasi Ansible agar dapat terhubung dengan server Windows menggunakan WinRM (Windows Remote Management). #### 1. Menyiapkan WinRM di Server Windows ##### Opsi 1: Menggunakan Skrip PowerShell Anda bisa menggunakan skrip PowerShell yang sudah disediakan untuk mengonfigurasi WinRM agar dapat digunakan oleh Ansible. 1. Buka PowerShell di server Windows Anda sebagai administrator. 2. Jalankan perintah berikut untuk mengunduh dan mengeksekusi skrip konfigurasi:    ```powershell    iex (New-Object Net.WebClient).DownloadString('https://github.com/ansible/ansible/raw/devel/examples/scripts/ConfigureRemotingForAnsible.ps1')    ``` ##### Opsi 2: Pengaturan Manual 1. Buka PowerShell di server Windows Anda sebagai administrator. 2. Jal

LKS ITNSA Ansible Role DNS Bind9

Pendahuluan Di lanskap digital yang saling terhubung saat ini, manajemen Domain Name System (DNS) yang efisien sangat penting untuk operasi jaringan yang lancar. Peran Ansible LKS ITNSA untuk Bind9 menawarkan solusi yang disederhanakan untuk mengkonfigurasi dan mengelola layanan DNS menggunakan otomatisasi Ansible. Artikel ini menjelajahi bagaimana peran ini menyederhanakan administrasi DNS dan meningkatkan keandalan jaringan. Memahami Peran Ansible LKS ITNSA Peran Ansible LKS ITNSA dirancang untuk mengotomatisasi implementasi dan konfigurasi Bind9, perangkat lunak server DNS yang banyak digunakan. Dengan memanfaatkan kekuatan Ansible, peran ini memungkinkan administrator untuk mendefinisikan konfigurasi DNS sebagai kode, mengurangi kesalahan manual dan memastikan konsistensi di berbagai lingkungan jaringan. Fitur Utama dan Manfaat Implementasi Otomatis: Dengan hanya beberapa perintah playbook Ansible, administrator dapat menerapkan instansi Bind9 secara bersamaan di beberapa server

[Journal] Journey securing wordpress site using apache2 with modsecurity

This is my journey  Prepare: Knowledge & practical VM, Cloud, Linux Commands, Webserver. Your AWS Account  1.  Create an instance on AWS Make sure the server can be accessed using SSH command e.g: ansible-user can access the server using passwordless for ansible management.  ssh-copy-id ansible-user@192.168.1.1 ansible-user has access to sudo. usermod -aG sudo ansible-user Run: ansible-playbook  playbook.yml  -i hosts --ask-become-pass 2. DNS Configuration Point your domain name to IP Example: bagussa.my.id IN A 192.168.1.1 www.bagussa.my.id IN A 192.168.1.1 3. Run the below Ansible Playbook for getting he certificate using Let's Encrypt  Let's Encrypt Ansible Role: git clone Hosts file: Run: ansible-playbook letsencrypt-issue.yml -i hosts --ask-become-pass  4. Run the below Ansible Playbook for installing the wordpress and apache2 Wordpress Ansible role: git clone https://github.com/bagussa/wordpress-ansible-role.git Hosts file: change ansible_host with your own server IP

Cara membuat user dan memasukkan ke sudo group

Mencoba membuat sebuah user root@wwww-instance:/home/ext_sabagus_gmail_com# adduser ansible-userAdding user `ansible-user' ... Adding new group `ansible-user' (1001) ... Adding new user `ansible-user' (1000) with group `ansible-user' ... Creating home directory `/home/ansible-user' ... Copying files from `/etc/skel' ... New password:  Retype new password:  passwd: password updated successfully Changing the user information for ansible-user Enter the new value, or press ENTER for the default         Full Name []:          Room Number []:          Work Phone []:          Home Phone []:          Other []:  Is the information correct? [Y/n] Y Memasukkan ke group sudo root@wwww-instance:/home/ext_sabagus_gmail_com# usermod -aG sudo ansible-user Mencoba user  root@wwww-instance:/home/ext_sabagus_gmail_com# su - ansible-user ansible-user@wwww-instance:~$ sudo su We trust you have received the usual lecture from the local System Administrator. It usually boils down to t

Pembahasan Ansible ITNSA Dasar

Sebelum mengikuti tutorial ini pastikan sudah mengistal Ansible, kemudian DEV-CLIENT sudah bisa terkoneksi ke SERVERS tanpa password untuk ini bisa mengikuti langkah simple berikut: DEV-CLIENT ------------------------- SERVER1                          --------------------------SERVER2 Dalam production tentu penggunaan root perlu dihindari, namun untuk simulasi/belajar bisa lakukan langkah berikut: Konfigurasi SERVERS, aktifkan SSH login root di konfigurasi sshd_config nya, PermitRootLogin yes , jangan lupa simpan dan restart SSH service nya. Login as Root juga di DEV-CLIENT, lalu generate ssh-key ssh-keygen ssh-copy-id root@192.168.56.100 ssh-copy-id root@192.168.56.101 masukkan password: Setelah SSH key sudah ter copy selanjutnya seharusnya tidak perlu lagi memasukkan password ketika SSH ke Sever maupun dari Ansible karena sudah menggunakan authentication key. Ada beberapa hal yang perlu dipelajari di Ansible seperti Inventory, Secret Vault, Module, Playbook, Roles. Namun pada tahap a

How to install Ansible on Ubuntu

$ sudo apt update $ sudo apt install software-properties-common $ sudo apt-add-repository --yes --update ppa:ansible/ansible $ sudo apt install ansible https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html#managed-node-requirements