Saturday, November 25, 2017

Load Balance Metode ECMP

Seven - Load balance dengan metode ECMP (Equal Cost Multi-Path) merupakan improvisasi dari metode round robin load balance.  Load balance sendiri merupakan teknik untuk menggabungkan koneksi internet lebih dari satu. Contoh topologi : 



Saya akan mencoba membahas load balance ECMP dengan 2 line koneksi internet. Setting awal sama seperti kita setting router agar router dan client dibawah router bisa terkoneksi ke internet. Karena ada 2 line koneksi internet, maka akan ada 2 rule NAT masquerade. 




Setelah setting standart koneksi ke internet selesai, selanjutnya kita bisa mulai setting Load balance ECMP. Caranya cukup mudah, kita tinggal menambahkan rule default gateway dengan dst-address = 0.0.0.0 dan gateway=ISP A,ISP B




Ini adalah tipikal ECMP (Equal Cost Multipath) gateway dengan check-gateway. ECMP merupakan "persistent per-connection load balancing" atau "per-src-dst-address combination load balancing". Begitu salah satu gateway unreachable atau terputus, check-gateway akan menonaktifkan gateway tersebut dan menggunakan gateway yang masih aktif, sehingga kita bisa mendapatkan efek "failover". 

Jika kita memiliki line koneksi internet dengan kecepatan bandwidth yang berbeda, kita bisa membuat perbandingan untuk membagi beban. Misal kita punya bandiwdth ISP A: 2 MBps dan ISP B: 4 MBps. Jika dibuat perbandingan, maka menjadi 1:2.




Dengan adanya lebih dari satu gateway, terkadang menimbulkan masalah baru pada router. Yaitu ke gateway mana router akan terkoneksi. Contoh kasus adalah ketika ada paket masuk ke router (incoming) yang berasal dari luar (Internet), trafik respon dari router (outgoing) akan terkena loadbalance juga. Sehingga paket respon untuk request yang diterima dari interface "Eth 1 - ISP A", bisa jadi dikirim melalui interface "Eth 2 - ISP B". Untuk menghindari hal tersebut, kita perlu membuat aturan routing agar koneksi outgoing router tetap melalui interface yang sama dengan interface trafik incomingnya.


/ip firewall mangle
add chain=input in-interface=Eth 1 - ISP A action=mark-connection new-connection-mark=ISP-A_conn
add chain=input in-interface=Eth 2 - ISP B action=mark-connection new-connection-mark=ISP-B_conn
add chain=output connection-mark=ISP-A_conn action=mark-routing new-routing-mark=ke_ISP-A
add chain=output connection-mark=ISP-B_conn action=mark-routing new-routing-mark=ke_ISP-B 
/ip route
add dst-address=0.0.0.0/0 gateway=10.9.8.1 routing-mark=ke_ISP-A
add dst-address=0.0.0.0/0 gateway=172.16.15.1 routing-mark=ke_ISP-B


Known Issues


Masalah DNS
Permasalahan yang sering timbul adalah ketika kita melakukan setting DNS dengan DNS dari salah satu ISP. Kemungkinan DNS dari salah satu ISP ada setting khusus dimana hanya mengijinkan koneksi dari jaringan ISP itu saja. Maka ketika koneksi ISP tersebut down, koneksi DNS melalui ISP kedua tidak dapat berjalan. Untuk mengatasi hal tersebut, kita bisa menggunakan open DNS, seperti DNS publik Google 8.8.8.8.

Routing table flushing
Setiap saat ketika sesuatu memicu flush tabel routing, maka cache ECMP juga akan di flush. Koneksi akan diarahkan ke gateway sekali lagi dan mungkin atau mungkin juga tidak diarahkan pada gateway yang sama. (Jika 2 gateway ada kemungkinan 50% trafik akan mulai mengalir melalui gateway lain).

Jika Anda memiliki jaringan yang di routing sepenuhnya (ip address klien dapat diarahkan melalui semua gateway yang ada), perubahan gateway tidak akan berdampak buruk, namun jika Anda menggunakan masquerade, perubahan gateway akan menyebabkan perubahan alamat dan koneksi sumber paket dan koneksi akan di drop.

Flush tabel routing dapat disebabkan oleh 2 hal:
1) perubahan tabel routing (pembaruan protocol routing dinamis, perubahan oleh pengguna)
2) setiap 10 menit tabel routing di flush untuk alasan keamanan (untuk menghindari kemungkinan serangan DoS)

Jadi, meski Anda tidak melakukan perubahan tabel routing, koneksi bisa beralih ke gateway lain setiap 10 menit

Referensi:
https://wiki.mikrotik.com/wiki/ECMP_load_balancing_with_masquerade
http://www.mikrotik.co.id/artikel_lihat.php?id=76

Monday, November 20, 2017

Mengenal Ukuran Rackmount

Seven - Rackmount merupakan casing berbentuk tipis, pipih horizontal dan dapat disusun layaknya sebuah rak pada sebuah lemari khusus.

Author: Victorgrigas / Rackmount pada server wikimedia

Ukuran rackmount berkisar antara :
UnitDimension (W x H x D)
1U19″ x 1.75″ x 17.7″; 19″ x 1.75″ x 19.7″; 19″ x 1.75″ x 21.5″
2U19″ x 3.5″ x 17.7″; 19″ x 3.5″ x 20.9″ ;19″ x 3.5″ x 24″
3U17.1″ x 5.1″ x 25.5″
4U19″ x 7″ x 17.8″; 19″ x 7″ x 26.4″
5U19″ x 8.34″ x 19.67″; 19.1″ x 8.75″ x 26.4″
6U19″ x 10.5″ x 19.5″
7U17″ x 12.2″ x 19.8″
Pada sistem rackmount merupakan istilah yang merepresentasikan jumlah unit server yang bisa dipasang pada rak server, yaitu 1U, 2U, 3U atau 4U. 1U sendiri melambangkan ketebalan (tinggi) server dalam satuan inchi, 1U =  1.75 inchi (44.5mm).
Dengan sistem rackmount maka pengaturan server yang berjumlah lebih dari 2 unit atau lebih akan tertata dengan baik. Rackmount umumnya dipakai institusi yang menggunakan fungsi server berbeda pada satu rak, seperti Web Server, Database Server, dan sebagainya.

Referensi:
https://gemaroprek.com/mengenal-rack-rerver-dan-ukuran-rackmount/
https://members.idcolo.com/knowledgebase/71/Mengenal-Ukuran-Rackmount-1U-2U-3U-4U-dll.html
https://commons.wikimedia.org/wiki/File:Wikimedia_Foundation_Servers-8055_08.jpg (sumber gambar)

Thursday, November 2, 2017

Welcome Back Seven

Selamat datang kembali seven.web.id [^_^]

Monday, July 17, 2017

Mengamankan MariaDB Server

Seven - Setelah anda menginstall MariaDB Server, hal yang direkomendasikan bahkan wajib dilakukan adalah mengamankan MariaDB Server Anda. Terutama jika digunakan dalam lingkungan produksi. Mengamankan server database MariaDB sangat mudah dilakukan. Dalam kasus saya, saya menggunakan OS Ubuntu Server. Untuk OS lainnya silahkan menyesuaikan.

Berikut langkah-langkah mengamankan server database MariaDB:

  1. Buka Terminal lalu jalankan perintah berikut "sudo mysql_secure_installation". (tanpa tanda kutip)
  2. Anda akan diminta memasukkan password root saat ini untuk melanjutkan. Tekan tombol enter jika tidak ada.
  3. Langkah selanjutnya Anda akan ditanya apakah Anda akan mengubah password root atau tidak. Ketik "Y" (tanpa tanda kutip) lalu enter untuk mengganti password root atau ketik "n" lalu enter untuk melewatinya tanpa mengganti password root.
  4. Selanjutnya adalah menghapus pengguna anonim. Ketik "Y" (tanpa tanda kutip) lalu enter untuk menghapus pengguna anonim atau ketik "n" lalu enter untuk tidak menghapus pengguna anonim. Sangat direkomendasikan untuk menghapus pengguna anonim!
  5. Pada langkah ini Anda akan ditanya untuk melarang pengguna root login ke server database MariaDB secara remot. Ketik "Y" (tanpa tanda kutip) lalu enter untuk melarang user root login via secara remot atau ketik "n" lalu enter untuk mengijinkan pengguna root login secara remot. Sangat direkomendasikan untuk melarang pengguna root login secara remot!
  6. Langkah selanjutnya adalah menghapus database "test" beserta hak akses ke database "test". Secara default ketika menginstall MariaDB database bernama "test" juga akan dibuat dan semua pengguna dapat mengaksesnya. Ketik "Y" (tanpa tanda kutip) lalu enter untuk menghapus database "test" beserta hak akses ke database "test". Sangat direkomendasikan untuk menghapus database "test", terutama jika digunakan dalam lingkungan produksi.
  7. Selanjutnya adalah memuat ulang tabel hak akses untuk memastikan perubahan yang dilakukan akan langsung diterapkan. Ketik "Y" (tanpa tanda kutip) lalu enter untuk memuat ulang tabel hak akses.
Berikut gambar langkah-langkah mengamankan server database MariaDB:

Securing MariaDB Installation.


Tentunya langkah-langkah diatas belum sepenuhnya membuat server database MariaDB Anda aman, diperlukan pemahaman pengetahuan lebih lanjut tentang keamanan cyber/cyber security Anda bisa berkonsultasi dengan ahli IT yang Anda percaya untuk melakukannya. Semoga bermanfaat.

Tuesday, May 16, 2017

Blok Ransomware WannaCry Pada Mikrotik

Seven - Berikut beberapa cara Blok Ransomware WannaCry Pada Mikrotik:

Filter Rule

Metode dengan firewall rule bekerja pada traffic dimana host berada berada dalam subnet/segment ip berbeda, baik antar koneksi lokal maupun dari publik/internet

/ip firewall filter add chain=forward protocol=tcp \
dst-port=137-139,445,3389 action=drop disabled=no comment="Drop Ransomware WannaCry" 
/ip firewall filter add chain=forward protocol=udp \
dst-port=137-139,445,3389 action=drop disabled=no comment="Drop Ransomware WannaCry"

Bridge Filter

Metode ini dapat diterapkan pada kondisi semua host berada dalam subnet/segment ip yang sama dan dalam kondisi bridging.

/interface bridge filter add chain=forward in-interface=ether1 \
mac-protocol=ip dst-port=137-139 ip-protocol=tcp action=drop disabled=no comment="Drop Ransomware WannaCry" 
/interface bridge filter add chain=forward in-interface=ether1 \
mac-protocol=ip dst-port=137-139 ip-protocol=udp action=drop disabled=no comment="Drop Ransomware WannaCry" 
/interface bridge filter add chain=forward in-interface=ether1 \
mac-protocol=ip dst-port=445 ip-protocol=tcp action=drop disabled=no comment="Drop Ransomware WannaCry" 
/interface bridge filter add chain=forward in-interface=ether1 \
mac-protocol=ip dst-port=445 ip-protocol=udp action=drop disabled=no comment="Drop Ransomware WannaCry"
/interface bridge filter add chain=forward in-interface=ether1 \
mac-protocol=ip dst-port=3389 ip-protocol=tcp action=drop disabled=no comment="Drop Ransomware WannaCry" 
/interface bridge filter add chain=forward in-interface=ether1 \
mac-protocol=ip dst-port=3389 ip-protocol=udp action=drop disabled=no comment="Drop Ransomware WannaCry"

Thanks to: http://www.mikrotik.co.id/artikel_lihat.php?id=250 

Sunday, April 30, 2017

Rumus-Rumus Dalam MySQL

Seven - Rumus-Rumus Dalam Mysql


1. Fungsi Agregaris/Agregates


  • AVG


Menghitung rata-rata dari suatu kolom tertentu yang telah didefinisikan dalam perintah select.
Sintak :
SELECT AVG nama_kolom FROM nama_tabel [WHERE]
Contoh:
SELECT AVG (nilai) FROM mata_pelajaran


  • COUNT

Untuk menghitung jumlah baris dalam tabel.
Sintak :
SELECT COUNT nama_kolom FROM nama_tabel [WHERE]
Contoh :
SELECT COUNT (*) FROM siswa
SELECT COUNT (mata_pelajaran) FROM jadwal


  • MAX


Untuk mengetahui nilai terbesar dari sebuah kolom tertentu dalam perintah select.
Sintak :
SELECT MAX (nilai) FROM mata_pelajaran


  • MIN

Untuk mengetahui nilai terkecil dari sebuah kolom tertentu dalam perintah select
Sintak :
SELECT MIN nama_kolom FROM nama_tabel [WHERE]
Contoh :
SELECT MIN (nilai) FROM mata_pelajaran


  • SUM

Untuk menjumlah suatu kolom tertentu yang telah didefinisikan dalam perintah select.
Sintak :
SELECT SUM (nama_kolom)FROM nama_tabel [WHERE = KONDISI]
Contoh :
SELECT SUM (nilai) From mata_pelajaran

2. Fungsi Waktu


  • GETDATE

Untuk menampilkan tanggal sekarang
Contoh :
SELECT GATEDATE()


  • DATEADD

Untuk menambah jumlah hari ,tanggal atau tahun yang ditentukan
Sintak :
DATEADD(datepart,jumlah,tanggal)
Contoh :
SELECT DATEADD(day,10,getdate())
SELECT DATEADD(Month,10,getdate())
SELECT DATEADD(year,10,getdate())


  • DATEDIFF

Untuk mengetahui rentan waktu (bias hari,bulan,tahun)
Sintak :
DATEDIFF (datepart,tanggal_awal,tanggal_akhir)
Contoh :
SELECT DATEDIFF(month,’01/01/2007’,’01/01/2008)


  • DATENAME

Untuk menampilkan nama hari,bulan atau tahun
Sintak :
DATENAME(detepart,tanggal)
Contoh :
SELECT DATENAME(month.getdate()) AS’Bulan sekarang’
3. Fungsi Aritmatika


  • SQRT

Untuk mencari akar dari nilai tertentu.
Contoh :
SELECT SQRT (100)


  • CEILING

Untuk pembulatan ke atas dari angka decimal
Contoh :
SELECT CEILING(25.25)
Keterangan : Akan menghasilkan nilai 26


  • FLOOR

Untuk pembulatan ke bawah dari angka decimal
Contoh :
SELECT FLOOR (25.25)
Keterangan :  Akan menghasilkan nilai 25

Saturday, April 29, 2017

Blok Facebook Dengan Layer 7 Di Mikrotik

Seven - Blok Facebook Dengan Layer 7 Di Mikrotik

Tambahkan regexp pada layer7-potocol:
/ip firewall layer7-protocol add name=fb regexp="^.*(facebook).*$"
Kemudian tambahkan firewall filter rule:
/ip firewall filter add chain=forward layer7-protocol=facebook action=drop

Note: menggunakan layer7 pada mikrotik akan membuat pemakaian resource/sumber daya menjadi sangat intensif. Dan perlu diperhatikan karena sekarang whatsapp sudah terintegrasi dengan facebook, cara diatas juga akan memblok akses whatsapp. (whatsapp web dalam kasus saya)