Jumat, 09 Maret 2018

IPTABLES ??


iptables ???  apaan si 😅

iptables merupakan tools dalam sistem operasi linux yang berfungsi sebagai alat untuk melakukan filter (penyaringan) terhadap lalulintas data (trafic). Secara sederhana di asumsikan sebagai pengatur lalulintas data. Dengan iptables inilah kita akan mengatur semua lalulintas dalam komputer kita, baik yang masuk, keluar, atau traffic yang sekedar melewati komputer kita.

Keterangan :
  • data masuk ke dalam sistem komputer bisa melalui banyak jalan, biasanya melalui network interface. Bisa berupa card atau yang lain. 
  • setelah data masuk jika data tersebut mendapatkan rantai FORWARD maka akan segera masuk dalam aturan rule FORWARD tersebut.
  • jika data masuk ke dalam rantai INPUT, maka data akan mengalami rule INPUT.
 Perlakuan apa saja yang dialami data oleh iptables?

 digambarkan melalui tabel. macam tabelnya adalah :
  • Fiter : tabel default yang ada dalam pengaturan iptables
  • NAT : tabel ini digunakan untuk Fungsi NAT, redirect, redirect port
  • Mangle : tabel ini berfungsi sebagai penghalus proses pengaturan paket
Kalian bisa cek info iptables dengan memasukan perintah 
man iptables atau iptables -h

Memperbolehkan akses SSH yang masuk pada port 22:

iptables -A INPUT -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT

iptables -A OUTPUT -p tcp --sport 22 --state ESTABLISHED -j ACCEPT

Akses ke loopback (biasanya 127.0.0.1):

iptables -A INPUT -i lo -j ACCEPT 

iptables -A OUTPUT -o lo -j ACCEPT

Mengizinkan koneksi HTTP (port 80):

iptables -A INPUT -i -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT

iptables -A OUTPUT -o -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT

Mengizinkan Koneksi HTTPS (port 443):

iptables -A INPUT -i -p tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT

iptables -A OUTPUT -o -p tcp --sport 443 -m state --state ESTABLISHED -j ACCEPT

Memperbolehkan koneksi yang dimulai dari VPS tersebut dan tentu saja koneksi yang masuk yang berhubungan juga sama

iptables -A OUTPUT -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT iptables -A 

INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

Fungsinya? koneksi dns/cek hostname, update linux dan seterusnya. Semuanya dimulai dari dalam VPS. cocok bagi yang tidak ingin repot membuat detail peraturan koneksinya.

Membolehkan Ping :

iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT 

iptables -A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT

Mengizinkan koneksi DNS

iptables -A OUTPUT -p udp -o --dport 53 -j ACCEPT

iptables -A INPUT -p udp -i --sport 53 -j ACCEPT

Mengizinkan SMTP:

iptables -A INPUT -i -p tcp --dport 25 -m state --state NEW,ESTABLISHED -j ACCEPT 

iptables -A OUTPUT -o -p tcp --sport 25 -m state --state ESTABLISHED -j ACCEPT

Jika sudah mensetting semua peraturan koneksi yang diperbolehkan bisa memblokir yang lainnya. Pastikan rule kalian benar karena kalau salah bisa tidak dapat mengakses VPS menggunakan sesi SSH setelah memasang rule dibawah ini.

iptables -P INPUT DROP 

iptables -P OUTPUT DROP 

iptables -P FORWARD DROP

Manfaatnya apa? Selain koneksi yang anda perbolehkan sisanya akan dibuang tanpa pesan (DROP). Menghemat resource VPS jadinya. Secara default iptables memperbolehkan semua sambungan dan ini tergantung sibuk tidaknya VPS anda bisa berpengaruh terhadap kinerja, soalnya setiap request akan diproses.

Membersihkan peraturan iptables:

iptables -F


SELinux


Kali ini saya akan membahas tentang Selinux, tentang materi sebelumnya yaitu Instalasi NFS, Instalasi GlusterFS disitu pasti saya pasti selalu mengingatkan kalian untuk menonaktifkan selinux. alasannya kenapa si? dan bisa ga kalo selinux itu tetap berjalan tanpa mengganggu aktifitas dari aplikasi tersebut?

SELinux (Security enchanced Linux) adalah suatu fitur keamanan yang secara default ada pada keluarga distro RHEL, CentOS, Fedora dan lain lain. Fungsinya adalah untuk menerapkan kebijakan keamanan untuk hak akses aplikasi dalam Linux, Simplenya begitu. Fitur ini terlalu membatasi sehingga apa yang kita ingin lakukan akan gagal terhalang kebijakannya. Itu alasannya sehingga saya mematikan SElinux.

Tapi ada pertanyaan, bisa ga si SELinux tetap dijalankan tanpa mengganggu paket yang sedang berjalan? jawabannya bisa.

menurut saya SELinux ibarat antivirus kalo di windows, pasti kalian pernah denger juga kalo instal aplikasi di windows  harus ada yang nonaktifkan antivirusnya terlebih dahulu (ga semua aplikasi) setelah di instal baru bisa diaktifkan lagi antivirusnya. Sama halnya di windows di CentOs juga hampir sama. Jadi kita bisa mengaktifkan kembali SELinux setelah melakukan instalasi dan konfigurasi paket yag ingin di jalankan.

Cara disabled SELinux

edit config selinux dengan melakukan perintah dibawah 

[root@localhost server1]# vi /etc/selinux/config

maka akan tampil file config seperti gambar dibawah, pada kotak yang berwarna merah ganti parameter enforcing menjadi disabled

setelah di edit

 setelah itu reboot

lalu cek dengan perintah "getenforce"

maka akan tampil status disbled 

Tapi jika tidak ingin di reboot tetapi ingin selinux langsung disable maka masuka perintah berikut

[root@localhost server1]# setenforce 0

setelah itu cek statusnya dengan perintah "getenforce" maka akan tampil status "permissive" Hampir sama dengan Enforcing, hanya saja mode ini mengeluarkan pesan peringatan kepada anda jika terjadi sesuatu dan sifatnya hanya sementara misalkan di reboot maka status lngsung akan disabled

 

TERIMAKASIH 🙏

 












Kamis, 08 Maret 2018

Instalasi dan konfigurasi NFS (Network File System)

         Network File  Sistem        

NFS (Network File System) adalah distributed file system protocol yang awalnya dikembangkan oleh Sun Microsystems pada tahun 1984, yang memungkinkan pengguna di komputer client dapat mengakses file melalui jaringan komputer seperti mengakses penyimpanan lokal. NFS, sama seperti protokol lainnya, dibangun di sistem Open Network Computing Remote Procedure Call (ONC RPC). 



Versi dari NFS

  • NFSv1 Sun menggunakan versi 1 hanya untuk keperluan eksperimen di rumah. ketika tim pengembang menambahkan perubahan substansial pada versi NFS1 dan merilisnya di luar Sun, 

  • NFSv2 di mulai pada Maret 1989 awalnya dioperasikan hanya melalui User Datagram Protocol (UDP). NFSv2 hanya mengizinkan file 2 GB pertama untuk dibaca karena keterbatasan 32-bit

  • NFSv3 juni 1995 menambahkan (1) dukungan untuk ukuran file dan offset 64-bit, untuk menangani file berukuran lebih dari 2GB (2) dukungan untuk write asynchronous di server, 

  • NFSv4 bertujuan untuk memberikan dukungan protokol untuk memanfaatkan clustered server deploymentstermasuk menyediakan akses paralel terukur ke file yang di distribusikan di antara beberapa server

Cara Kerja NFS 
Ketika client ingin mengakses suatu file melalui NFS, kernel melakukan RPC (Remote Procedure Call) melalui TCP/UDP ke nfsd (NFS daemon) pada server. RPC ini menggunakan file handle, nama file atau direktori yang ingin di akses,  dan user id dan group id dari client sebagai parameter. Parameter ini digunakan untuk menentukan apakah client berhak mengakses file tersebut. Untuk mencegah user yang tidak berhak  membaca dan memodifikasi file, user dan group id harus sama untuk kedua hosts. setelah akses diberikan, client dapat mengaksesnya seolah - olah file atau direktori berada pada local disk.

Persiapan Instalasi dan Konfigurasi NFS

Topologi 


Server : 172.16.123.197 (CentOS7)

Client :  172.16.123.198  (CentOS7)

Pastikan Server dan Client sudah saling terhubung 

Pertama install paket NFS di server, dengan perintah :

[root@localhost server1]# yum -y install nfs-utils nfs-utils-lib

Setelah itu, jalankan rpcbind, nfs-server, nfs-lock dan nfs-idmapnya


Kemudian aktifkan rpcbind, nfs-server, nfs-lock dan nfs-idmapnya


Lalu buat direktori baru. saya akan menamakan direktori dengan nama "nostra" setelah itu berikan hak akses ke direktori tesebut 


Setelah itu buka dan edit file "nano /etc/exports"


Setelah itu, masukan script seperti gambar dibawah ini. jika sudah maka save


Lalu restart nfs-server 

Terus kita cek konfigurasi apakah folder yang di share berjalan dengan benar menggunakan perintah

Selanjutnya konfigurasi firewall pada server NFS untuk memungkinkan client dapat mengakses folder yang di share pada NFS Server


Konfigurasi Client

Install paket nfs di centos client

[root@localhost client]# yum install nfs-utils-lib -y

Selanjutnya aktifkan dan jalankan rpcbind tersebut

[root@localhost client]# systemctl enable rpcbind

[root@localhost client]# systemctl start rpcbind 

Lalu cek apakah file yang sudah di share oleh nfs server, masih tersedia atau tidak


Jika sudah selanjutnya buat directory yang digunakan untuk memounting folder yang di share oleh NFS Server, setelah membuat direktori baru, kita mounting folder yang sudah di share oleh nfs server 

Selanjutnya cek apakah sudah termount atau belum dengan perintah df -hT


Kemudian buka file vi  /etc/fstab
agar mounting kita tidak hilang ketika di restart, kita bisa melakukan share automatically setiap di restart, yaitu dengan memodifikasi file /etc/fstab pada client. yaitu dengan menambahkan script pada bagian akhir setelah itu di save 

Terima Kasih 🙏

Instalasi dan Konfigurasi GlusterFS di Centos 7




Halo para pencari ilmu, kali ini saya akan membahas tentang GlusterFS. Pertama siapkan dua bungkus indomie goreng 😅😅


Bicara tentang GlusterFS nih sobat, apa si GlusterFS itu?? GlusterFS merupakan Software OpenSource, GlusterFS adalah sebuah distributed file system yang dapat digunakan oleh user yang sifatnya flexibel. kenapa bisa fleksibel? karena di GlusterFS ini dapat menyesuaikan atau beradaptasi dengan penambahan dan pengurangan ukuran data, jadi gausah khawir ya sobat untuk kalian yang memiliki server yang datanya selalu bertambah.

Selain sifatnya yang flexibel ternyata GlusterFS ini juga simple karena mudah dimanage dan prosesnya independent so kalian harus mencobanya. 

Dari segi performa dalam proses file system lebih cepat, ko bisa ya 😥alasannya karena tidak adanya metadata server membuat proses file system lebih cepat.

Istilah - istilah pada GlusterFS

  • Brick : Brick adalah sebuah direktori yang di shared di antara trusted storage pool.
  • Block Storage : Device yang dilewati data yang bergerak melintasi sistem dalam bentuk block.
  • Cluster : Dalam istilah manajemen storage, cluster dan trusted storage pool mempunyai makna yang sama dari kolaborasi storage server berdasarkan protocol yang didefinisikan.
  • Distributed File System : Sebuah file sistem dimana data tersebar di node yang berbeda dimana pengguna dapat mengakses file tanpa perlu mengetahui dimana lokasi file sebenarnya.
  • FUSE : sebuah module kernel yang memungkinkan user untuk dapat membuat file system diatas kernel tanpa melibatkan dan mengganggu proses berjalannya kernel code.
  • Glusterd : Adalah sebuah daemon untuk GlusterFS management dan merupakan backbone dari gkuster file system yang akan berjalan spanjang waktu selama server dalam keadaan aktif.
  • RAID : Sebuah teknologi storage yang mampu meningkatkan storage realibility dengan cara redudancy.
  • Volume : Sebuah kumpulan logical dari brick. semua proses operasi dalam volume adalah berdasarkan tipe yang didefinisikan oleh user.


Tipe Volume GlusterVS

  • Distributed Volume : Type ini mirip dengan RAID-0 yaitu menggabungkan 2 file server menjadi satu sehingga kita mendapatkan space yang lebih besar
  • Replicated Volume : Type ini mirip dengan RAID-1 yaitu mirroring 2 file server sehingga data pada server1 akan ada juga di server2
  • Stripped Volume : Type ini mirip dengan RAID-5 yaitu pembagian data ketika proses write akan dibagi rata ke tiap2 server



Instalasi dan Konfigurasi GlusterFS

Server1 : 172.16.123.197

Server2 : 172.16.123.198

Client    : 172.16.123.199

Pastikan Server1, Server2 dan Client saling terhubung, sebelum melakukan instalasi pastikan Selinux dan Iptables dalam keadaan mati.

Lakukan instalasi Gluster, jalankan perintah dibawah ini (hanya Server1 dan Server2)

[root@localhost server1]# yum -y install epel-release

[root@localhost server1]# yum -y install yum-priorities

[root@localhost server1]# yum -y install centos-release-gluster


Install GlusterFS

[root@localhost server1]# yum -y install glusterfs-server gluster*

Jalankan GlusterFS

[root@localhost server1]# systemctl enable glusterd.service

[root@localhost server1]# systemctl start glusterd.service

Buat peer antara server1 dengan server2

Jalankan step dibawah ini pada Server1

[root@localhost server1]# gluster peer probe 172.16.123.198

Jika sudah coba chek apakah server2 sudah terhubung ke server1 dengan perintah 

[root@localhost server1]# gluster peer status


Next kita akan membuat share volume dengan nama nostra dengan 2 replica atau 2 server, yaitu pada folder /opt/data/ Setelah membuat folder /data/brick1/nostra pada kedua server selanjutnya kita akan membuat volume hanya pada server1 dengan perintah 

[root@localhost server1]# gluster volume create nostra replica 2 transport tcp 172.16.123.197:/data/brick1/nostra 172.16.123.198: /data/brick1/nostra force

Jika sudah, start volume yang kita buat

[root@localhost server1]# gluster volume info



Selanjutnya jalankan perintah dibawah ini pada client

[root@localhost client]# yum -y install glusterfs-client

selanjutnya buat folder untuk mount glusterfs nya

[root@localhost client]# mkdir /opt/data

Setelah itu jalankan perintah untuk mount gluster volume 

[root@localhost client]# mount glusterfs 172.16.123.197:nostra /opt/data

Selanjutnya tambahkan parameter dibawah ini pada fstab

[root@localhost client]# vi /etc/fstab

Lalu tamabahkan parameter berikut di bagian paling bawah 

172.16.123.197:nostra /opt/data glusterfs defaults,_netdev 0 0

Untuk mengeceknya bisa menggunakan perintah

[root@localhost client]# df -h 


Selanjutnya untuk melakukan pengetesan kalian bisa membuat file dari client dengan cara seperti dibawah ini

[root@localhost client]# touch /opt/data/nostra1

[root@localhost client]# touch /opt/data/nostra2

[root@localhost client]# touch /opt/data/nostra3

[root@localhost client]# touch /opt/data/nostra4

Jika sudah coba sekarang kalian masuk ke server1 dan server2, lalu coba cek dengan perintah dibawah 

[root@localhost server1]# ll /data/brick1/nostra

maka hasilnya akan seperti di bawah ini 

-rw-r--r-- 2 root root 0 Mar  7 08:57 nostra1

-rw-r--r-- 2 root root 0 Mar  7 08:57 nostra2

-rw-r--r-- 2 root root 0 Mar  7 08:57 nostra3

-rw-r--r-- 2 root root 0 Mar  7 08:57 nostra4

Untuk mengetahui apakah failovernya berjalan dengan baik kalian bisa coba matikan server1, dan lakukan test create file dari client, lalu coba cek apakah file yang tadi dibuat ada di server2, lalu selanjutnya coba jalankan server1 yang tadi dimatikan, tunggu beberapa saat apakah file tersebut ada juga di server1

Sekian dari saya semoga bermanfaat 🙏

IPTABLES ??

iptables ???  apaan si 😅 iptables merupakan tools dalam sistem operasi linux yang berfungsi sebagai alat untuk melakukan filter (peny...