Skip to main content

Pembahasan Networking LKS SMK Cloud Computing Indonesia

Post kali ini mungkin tidak secara langsung membahas soal dari cloud computing, namun bisa bermanfaat untuk melakukan pengecekkan environment cloud sehingga mempermudah dalam melakukan troubleshooting dan menghadapi challenge yang ada.

Berikut adalah perintah-perintah AWS yang cukup berguna untuk membangun dan mengecek networking di Cloud seperti Subnet, Security Group, VPC, Internet Gateway, Route, dll.

Sebelum itu pastikan kita sudah cukup punya knowledge tentang apa itu AWS, nama-nama layanannya, Availability Zones, Data center, Region, Identity Management & Permission.


Siapkan AWS-CLI

https://learnubuntu.com/install-aws-cli/


Siapkan access key untuk menggunakan aws-cli dan berikan permission pada IAM user yang akan digunakan, misalnya untuk latihan kali ini AmazonEC2FullAccess, namun jika untuk real production bisa diberikan permission seminimal mungkin/custom sesuai dengan kebutuhan untuk security.


Config dengan perintah:

aws configure


root@workstation:/home/bagussa# aws configure

AWS Access Key ID []: xxxxxx

AWS Secret Access Key []: xxxxxx

Default region name [None]: ap-southeast-1

Default output format [None]: 


Masukkan access-key dan secret key yang sudah dibuat sebelumnya.

Ok langsung saja ke bagian cara pembuatan VPC, Route, Internet gateway, Subnet, dll

Berikut adalah gambar yang cukup menarik untuk memahami VPC, pada intinya dengan VPC kita diberikan Virtual Private Cloud Network yang bersifat isolated dari server-server virtual yang ada di layanan cloud tersebut sehingga membuat server kita sendiri aman dan tidak tercampur dengan layanan lainnya. 



Nah setelah kita membuat VPC berikut kita bisa memikirkan untuk pembagian subnet apakah mau private atau publik, routingnya, pemasangan internet gateway, dns dhcp nya, mirip2 sama traditional network namun ini sudah dalam bentuk layanan cloud.


1. Membuat VPC

Untuk latihan kita bikin network yang kecil saja yaitu 192.168.1.0/24

dari situ kita nanti bisa dibagi misal 192.168.1.0/25 untuk subnet yang bisa terhubung ke internet ini biasanya untuk App

kemudian sisanya untuk DB 192.168.1.128/25.

Sesuaikan kebutuhan saja, ini bisa dipelajari di konsep Subnetting dan VLSM


root@workstation:/home/emailbagussa# aws ec2 create-vpc --cidr-block 192.168.1.0/24

{

    "Vpc": {

        "CidrBlock": "192.168.1.0/24",

        "DhcpOptionsId": "dopt-0df67715c1859ed8e",

        "State": "pending",

        "VpcId": "vpc-09d169a6cfe31ffd6",

        "OwnerId": "730335379478",

        "InstanceTenancy": "default",

        "Ipv6CidrBlockAssociationSet": [],

        "CidrBlockAssociationSet": [

            {

                "AssociationId": "vpc-cidr-assoc-0795797155d61bb6b",

                "CidrBlock": "192.168.1.0/24",

                "CidrBlockState": {

                    "State": "associated"

                }

            }

        ],

        "IsDefault": false

    }

}


Mengecek VPC yang baru saja dibuat

untuk mendapatkan informasi dari VPC yang baru saja kita buat kita bisa menggunakan perintah berikut:


root@workstation:/home/emailbagussa# aws ec2 describe-vpcs 

{

    "Vpcs": [

        {

            "CidrBlock": "172.31.0.0/16",

            "DhcpOptionsId": "dopt-0df67715c1859ed8e",

            "State": "available",

            "VpcId": "vpc-034fb443d6482e50b",

            "OwnerId": "730335379478",

            "InstanceTenancy": "default",

            "CidrBlockAssociationSet": [

                {

                    "AssociationId": "vpc-cidr-assoc-03206aa2784e743bd",

                    "CidrBlock": "172.31.0.0/16",

                    "CidrBlockState": {

                        "State": "associated"

                    }

                }

            ],

            "IsDefault": true

        },

        {

            "CidrBlock": "192.168.1.0/24",

            "DhcpOptionsId": "dopt-0df67715c1859ed8e",

            "State": "available",

            "VpcId": "vpc-09d169a6cfe31ffd6",

            "OwnerId": "730335379478",

            "InstanceTenancy": "default",

            "CidrBlockAssociationSet": [

                {

                    "AssociationId": "vpc-cidr-assoc-0795797155d61bb6b",

                    "CidrBlock": "192.168.1.0/24",

                    "CidrBlockState": {

                        "State": "associated"

                    }

                }

            ],

            "IsDefault": false

        }

    ]

}


Perintah diatas akan memunculkan VPC yang ada pada cloud kita, untuk VPC yang baru saja kita buat kita bisa refer pada VPC ID dengan menambahkan option query seperti berikut:


root@workstation:/home/emailbagussa# aws ec2 describe-vpcs --filters Name=vpc-id,Values=vpc-09d169a6cfe31ffd6

{

    "Vpcs": [

        {

            "CidrBlock": "192.168.1.0/24",

            "DhcpOptionsId": "dopt-0df67715c1859ed8e",

            "State": "available",

            "VpcId": "vpc-09d169a6cfe31ffd6",

            "OwnerId": "730335379478",

            "InstanceTenancy": "default",

            "CidrBlockAssociationSet": [

                {

                    "AssociationId": "vpc-cidr-assoc-0795797155d61bb6b",

                    "CidrBlock": "192.168.1.0/24",

                    "CidrBlockState": {

                        "State": "associated"

                    }

                }

            ],

            "IsDefault": false

        }

    ]

}


Untuk filter lainnya bisa dicek dibawah ini

Reference:

https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-vpcs.html#options


2. Membuat Subnet Publik


Catatan: Each subnet must reside entirely within one Availability Zone and cannot span zones


2.1 Membuat subnet

root@workstation:/home/emailbagussa# aws ec2 create-subnet --vpc-id vpc-09d169a6cfe31ffd6 --cidr-block 192.168.1.0/25

{

    "Subnet": {

        "AvailabilityZone": "ap-southeast-1b",

        "AvailabilityZoneId": "apse1-az1",

        "AvailableIpAddressCount": 123,

        "CidrBlock": "192.168.1.0/25",

        "DefaultForAz": false,

        "MapPublicIpOnLaunch": false,

        "State": "available",

        "SubnetId": "subnet-08bff22928090642b",

        "VpcId": "vpc-09d169a6cfe31ffd6",

        "OwnerId": "730335379478",

        "AssignIpv6AddressOnCreation": false,

        "Ipv6CidrBlockAssociationSet": [],

        "SubnetArn": "arn:aws:ec2:ap-southeast-1:730335379478:subnet/subnet-08bff22928090642b",

        "EnableDns64": false,

        "Ipv6Native": false,

        "PrivateDnsNameOptionsOnLaunch": {

            "HostnameType": "ip-name",

            "EnableResourceNameDnsARecord": false,

            "EnableResourceNameDnsAAAARecord": false

        }

    }

}


By default subnet akan terbuat seperti diatas dengan Zone yang akan dipilih oleh AWS, kita bisa menentukan sendiri sebetulnya untuk meningkatan availability, misalnya kita buat 3 subnet untuk masing-masing di 3 zone. Untuk latihan bisa simple seperti diatas dulu 1 subnet 1 zone.


Untuk menjadikan subnet itu public kita perlu mengasosiasikan subnet tersebut dengan public route ke internet gateway.


2.2 Membuat internet gateway


root@workstation:/home/emailbagussa# aws ec2 create-internet-gateway 

    "InternetGateway": {

        "Attachments": [],

        "InternetGatewayId": "igw-03c39f2881932ba9a",

        "OwnerId": "730335379478",

        "Tags": []

    }

}


2.3 Asosiasikan dengan VPC yang tadi kita buat dulu

 aws ec2 attach-internet-gateway --vpc-id vpc-09d169a6cfe31ffd6 --internet-gateway-id igw-03c39f2881932ba9a





2.4 Membuat routing table


aws ec2 create-route-table --vpc-id vpc-09d169a6cfe31ffd6

{

    "RouteTable": {

        "Associations": [],

        "PropagatingVgws": [],

        "RouteTableId": "rtb-0cac70a44d059864a",

        "Routes": [

            {

                "DestinationCidrBlock": "192.168.1.0/24",

                "GatewayId": "local",

                "Origin": "CreateRouteTable",

                "State": "active"

            }

        ],

        "Tags": [],

        "VpcId": "vpc-09d169a6cfe31ffd6",

        "OwnerId": "730335379478"

    }

}


Catat routing table ID diatas


2.5 Buat routing ke internet gateway


aws ec2 create-route --route-table-id rtb-0cac70a44d059864a --destination-cidr-block 0.0.0.0/0 --gateway-id igw-03c39f2881932ba9a
{
    "Return": true
}





2.6 Assosiakan ke subnet publik

root@workstation:/home/emailbagussa# aws ec2 associate-route-table --subnet-id subnet-08bff22928090642b --route-table-id rtb-0cac70a44d059864a

{
    "AssociationId": "rtbassoc-095cc7f1bbbee8dc4",
    "AssociationState": {
        "State": "associated"
    }
}

Tampilan di web ui nya





3. Membuat Subnet Private


root@cs-195483573131-default:/home/emailbagussa# aws ec2 create-subnet --vpc-id vpc-09d169a6cfe31ffd6 --cidr-block 192.168.1.128/25


{

    "Subnet": {

        "AvailabilityZone": "ap-southeast-1b",

        "AvailabilityZoneId": "apse1-az1",

        "AvailableIpAddressCount": 123,

        "CidrBlock": "192.168.1.128/25",

        "DefaultForAz": false,

        "MapPublicIpOnLaunch": false,

        "State": "available",

        "SubnetId": "subnet-0db7a335615304c7c",

        "VpcId": "vpc-09d169a6cfe31ffd6",

        "OwnerId": "730335379478",

        "AssignIpv6AddressOnCreation": false,

        "Ipv6CidrBlockAssociationSet": [],

a335615304c7c",Arn": "arn:aws:ec2:ap-southeast-1:730335379478:subnet/subnet-0db7 

        "EnableDns64": false,

        "Ipv6Native": false,

        "PrivateDnsNameOptionsOnLaunch": {

            "HostnameType": "ip-name",

            "EnableResourceNameDnsARecord": false,

            "EnableResourceNameDnsAAAARecord": false

        }

    }

}


Untuk private subnet tidak perlu ditambahkan routing ke internet gateway agar tetap private.


Selanjutnya kita bisa menempatkan VM yang dibuat di subnet tersebut untuk mengecek koneksi ke internet, dll.


Thank you kalau sudah mengikuti tutorial ini, semangat belajar.






Comments

Popular posts from this blog

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 seb...

Analisa Traffic WAF

 Tentu, berikut adalah contoh untuk setiap bagian analisis traffic WAF: #### 1. Analisis Path **Contoh**: - **Path yang Tidak Biasa**: Misalkan aplikasi Anda memiliki endpoint `/login`. Jika Anda melihat permintaan ke path seperti `/admin/../../config`, ini adalah path yang mencurigakan karena tampaknya mencoba mengakses direktori konfigurasi dengan teknik path traversal. - **Pengelompokan Traffic**: Jika banyak permintaan ke path `/api/upload` yang mencurigakan, ini bisa menunjukkan upaya eksploitasi terhadap fungsi upload file. #### 2. Analisis Method **Contoh**: - **Method GET**: Anda melihat permintaan GET dengan query string yang panjang seperti `GET /search?q=...`, di mana query string sangat panjang dan mengandung karakter yang tidak biasa. Ini bisa menjadi indikasi serangan seperti buffer overflow. - **Method POST**: Anda menerima banyak permintaan POST dengan payload yang besar dan mencurigakan, seperti `POST /update-profile` dengan data yang tidak sesuai format atau panja...

Pembahasan ITNSA Ansible Postfix

Ansible adalah salah satu tool untuk melakukan otomasi konfigurasi server yang bisa dilakukan berulang-ulang atau dikenal juga configuration management,  dalam tutorial kali ini akan melakukan otomasi salah satu task dasar dalam bidang ITNSA yang sering muncul, ini bukan soal yang ada langsung dalam ITNSA namun ini adalah salah satu bahan pelajaran aja yang barangkali bisa dijadikan sebagai referensi untuk konfigurasi system lainnya.  btw ITNSA adalah kependekan dari bidang IT Network System Administration nama bidang lomba yang mulai dari tingkat kab/kota untuk SMK atau kalau di SMA namanya OSN, yang mana punya tingkatan juga baik dalam kab/kota, provinsi, nasional, sampai internasional. Okay sebelum itu pastikan kita sudah punya dasar pengetahuan tentang SSH, Ansible cara koneksi nya gmana cara membuat ssh key nya. Bisa juga baca tutorial ini terlebih dahulu  Pembahasan Ansible ITNSA Dasar Okay mari kita bahas cara konfigurasi Postfix, sebelumnya pastikan juga kita suda...