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 🙏

Sabtu, 11 Januari 2014

Cara menginstall Windows 8 Melalui Flashdisk


Cara menginstall Windows 8 Melalui USB Flashdisk



Versi Pra-Beta dari Operating Sistem Windows 8 Sudah bisa di download (tidak resmi). Mungkin sebagian dari kita telah mempersiapkan untuk memakai Windows 8 ini, dan salah satu cara terbaik dan cepat untuk menginstall windows 8 atau windows 7 ialah dengan memakai USB flashdisk.
Karena sebagian besar dari motherboard yang tersedia saat ini mendukung booting melalui USB, sekarang kita akan mencoba untuk menunjukkan cara menyiapkan USB flashdisk bootable untuk menginstall Windows 8, Meskipun banyak utilitas gratis yang tersedia untuk membuat USB flashdisk menjadi bootable (bisa booting layaknya CD/DVD), tapi kebanyakan utilitas gratis tidak bekerja dengan sempurna, kali ini kita akan menggunakan cara yang mudah dan simpel yang tentunya 100% bekerja yaitu menggunakan Command promptsaja.
Persyaratan :
  • Windows 8 ISO atau DVD Windows 8
  • 4GB USB Flashdisk
  • Sebuah PC dengan Windows Vista, Windows 7 atau Windows 8.
Catatan: Harap Backup dahulu isi USB flashdisk kita, karena kita akan memformatnya kemudian.
Langkah-Langkah menginstall Windows 8 Melalui USB Flashdisk:
  1. Colokkan USB flashdisk kita ke komputer dan backup (simpan) dahulu file2 didalamnya jika ada ditempat lain.
  2. Klik Start -> All Programs -> Accessories klik kanan pada Command Prompt dan pilihRun as administrator untuk menjalankan Command Prompt dengan hak akses Administrator. Klik Yes kalo nongol jendela UAC.

  3. Kita dapat juga menjalankan perintah Command Prompt dengan hak akses Administrator melalui Start Menu – Search dengan mengetikkan perintah CMD kemudian diikuti dengan menekan tombol Ctrl + Shift + Enter.
  4. Pada Command Prompt, ketikkan perintah berikut dan tekan Enter:
  5. DISKPART
    

    Kita akan melihat pesan yang muncul seperti berikut ini:
  6. Sekarang, ketik perintah LIST DISK dan tekan Enter, untuk melihat nomor disk USB flashdisk kita yang mana, dalam tutorrial berikut USB flashdisk saya ada dinomor 1. Periksa ukuran USB flashdisk berikutnya (lih gambar) untuk memastikan nomor USB flashdisk yang akan kita pakai.
  7. Seperti gambar diatas, dimana usb flashdisk nya ada di nomor 1 15GB, jadi pastikan DISKPART dapat mengenali USB flashdisk kita, jika ngga kedetect, cobalah cabut dan masukkan kembali USB flashdisknya kemudian ulangi langkah2 diatas.
    Sekarang ketikkan perintah berikut satu persatu diikuti dengan menekan tombol Enter.
    SELECT DISK 1 
     
    CLEAN
     
    CREATE PARTITION PRIMARY
     
    SELECT PARTITION 1
     
    ACTIVE
     
    FORMAT FS=NTFS
     
    ASSIGN
     
    EXIT

    Sekarang kita telah membuat USB flashdisk kita bisa booting, Jangan tutup dulu jendela Command prompt nya, cukup kecilin, dan ikuti dulu langkah selanjutnya.
  8. Sekarang Mount lah file ISO windows 8 kita dengan memakai program Virtual CD/DVD seperti Virtual Clone Drive (gratis) atau Ultra ISO dll, jika ada DVD nya, masukin ke DVD-ROM DVD nya.
  9. Setelah kita mount file ISO nya, catat nama Drivenya (Misal Drive G:), karena kita akan mengcopy isi nya ke USB flashdisk kita nanti.
  10. Sekarang kita kembali ke jendela Command Prompt tadi dan jalankanlah perintah berikut:
  11. G: CD BOOT lalu tekan Enter (dimana G: adalah virtual drive yg telah kita bikin (mount))
  12. Ketik : BOOTSECT.EXE /NT60 J: ( dimana J: adalah nama drive USB flashdisk kita, dapat kita cek di my computer atau windows explorer)
  13. Sekarang bukalah windows explorer dan copykan semua isi file ISO yang telah kita mount tadi dengan memakai program Virtual CD atau ultra ISO dll, copy kan semua isinya ke dalam USB flashdisk kita. Jika memakai CD/DVD tinggal copykan saja semuanya kedalam usb flashdisk kita.
Cara lain yang lebih mudah untuk menginstall windows 8 menggunakan USB flashdisk yaitu dengan menggunakan program kecil yang bernama Rufus
Langkah2 untuk membuat usb flashdisk agar bisa digunakan untuk menginstall windows 8 menggunakan tool Rufus :
  1. Colokin usb flashdisk ke komputer yang bersistem operasi windows xp, vista atau windows 7 dan pastikan data2 didalamnya kalau ada dibackup/diamankan terlebih dahulu.
  2. Download dan jalankan program rufus (rufus_v1.2.0.exe) dengan hak akses administrator (untuk windows vista dan windows 7)
  3. Pilih Usb flashdisk, pilih file sistem yang akan digunakan (FAT 32/NTFS), aktifkan mode Quick format, “Create a bootable disk using: MS-DOS” dan juga “Create extended label and icon files”
  4. Klik kanan pada gambar ikon drive kecil disamping pilihan “Create a bootable disk using”, kemudian pilih lokasi dimana file ISO windows 8 berada.
  5. Selanjutnya, klik tombol “Start”, untuk memulai mentransfer file2 dari file iso windows 8 kedalam USB flashdisk, dan setelah proses selesai, USB flashdisk ini dapat digunakan untuk menginstall windows 8 seperti layaknya menggunakan CD/DVD.

  6. Perlu diingat, setelah USB flashdisknya diisi dengan file2 instalasi windows 8, USB flashdisknya masih bisa digunakan seperti biasa (hanya jgn diformat atau dihapus file2 yang telah ada), baik itu digunakan untuk menyimpan data kalian (jika masih ada ruang kosong).
Demikian cara yang Mudah dan Sederhana untuk membuat USB flashdisk kita agar bisa booting layaknya CD/DVD disk, untuk digunakan menginstall windows 8.
Catatan: Pastikan pada settingan BIOS dikomputer kita prioritas boot pertama memakai USB Flashdisk

IPTABLES ??

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