Dokumentasi

https://idratherbewriting.com/documentation-theme-jekyll/mydoc_lists.html https://github.com/danigunawan/documentation-theme-jekyll

Proteksi Halaman Dengan Jekyll Password Protect

https://github.com/lilykonings/jekyll-password-protect https://www.tachyonstemplates.com/2020/jekyll-netlify-password/ https://twpower.github.io/87-make-jekyll-blog-post-private-en

Custom Jekyll HPSTR

https://github.com/danigunawan/lsfalimis.github.io atau http://lsfalimis.github.io/customise-hpstr-jekyll-theme/

1.Linux Iptables Memblokir Semua Lalu Lintas Masuk Kecuali SSH

Ingin mengizinkan akses remote machine hanya dengan SSH di TCP port 22. memblokir semua lalu lintas yang masuk ke sistem kecuali koneksi ssh di Linux.

disini menjelaskan cara memblokir semua lalu lintas IPv4 dan IPv6 yang masuk tetapi mengizinkan lalu lintas menggunakan perintah iptables untuk SSH TCP port 22.

Sintaksnya adalah sebagai berikut untuk firewall IPv4:

 
/sbin/iptables -A INPUT -p tcp --dport 22 -j ACCEPT

Untuk IPv6 coba:

 
/sbin/ip6tables -A INPUT -p tcp --dport 22 -j ACCEPT

Kemudian Anda menyimpan aturan iptables dengan menjalankan perintah berikut:

iptables-save > /path/to/iptables.save.conf
iptables-save > /etc/sysconfig/iptables
ip6tables-save > /etc/sysconfig/ip6tables

Bagaimana cara menyimpan iptables bisa disimak pada bab [* Bagaimana Saya Menyimpan Aturan atau Pengaturan Iptables?]

Memblokir semua lalu lintas kecuali pada port TCP 22

ingin memiliki skrip shell khusus untuk firewall? Kemudian tambahkan aturan berikut ke skrip shell iptables:

/sbin/iptables -A INPUT -p tcp --dport 22 -j ACCEPT
/sbin/iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT

Aturan pertama akan menerima koneksi tcp masuk (INPUT) pada port 22 (server ssh) dan aturan kedua akan mengirimkan respons server ssh yang masuk ke klien (OUTPUT) dari port sumber server ssh 22.

Contoh skrip shell

Namun, iptables dengan kernel 2.4/2.6/3.x/4.x/5.x menyediakan fasilitas yang sangat kuat untuk memfilter aturan berdasarkan status koneksi yang berbeda seperti koneksi yang dibuat atau koneksi baru, dll. Berikut ini skrip kecil lengkap untuk melakukan tugas ini:

 
#!/bin/sh
# Purpose: Linux Iptables Block All Incoming Traffic But Allow SSH @ TCP/22
# AUTHOR: Vivek Gite {www.danigunawan.github.io}
# -------------------------------------------------------------------------------------
# My system IP/set ip address of server here
SERVER_IP="65.55.12.13"
 
# Flushing all rules
iptables -F
iptables -X
 
# Setting default filter policy
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
 
# Allow unlimited traffic on loopback
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
 
# Allow incoming ssh only
iptables -A INPUT -p tcp -s 0/0 -d $SERVER_IP --sport 513:65535 --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp -s $SERVER_IP -d 0/0 --sport 22 --dport 513:65535 -m state --state ESTABLISHED -j ACCEPT
 
# make sure nothing comes or goes out of this box
iptables -A INPUT -j DROP
iptables -A OUTPUT -j DROP

Skrip ini murni firewall yang strict/ketat. Itu memungkinkan ssh masuk. Tidak ada layanan masuk atau permintaan ping lainnya atau tidak ada layanan atau permintaan keluar yang diizinkan. Koneksi ssh yang masuk bisa baru atau sudah ada dan itulah yang ditentukan oleh aturan status ‘-m state –state NEW, ESTABLISHED’.

Status koneksi ssh keluar hanya dapat dibuat. Secara default skrip ini memungkinkan semua orang untuk ssh dengan aturan -s 0/0. Jika Anda ingin akses tersebut dibatasi oleh IP atau alamat jaringan, ganti -s 0/0 dengan alamat IP. Misalnya izinkan ssh masuk dari IP 202.54.1.20:

Izinkan ssh masuk hanya dari IP 202.54.1.20

iptables -A INPUT -p tcp -s 202.54.1.20 -d $SERVER_IP --sport 513:65535 --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT

iptables -A OUTPUT -p tcp -s $SERVER_IP -d 202.54.1.20 --sport 22 --dport 513:65535 -m state --state ESTABLISHED -j ACCEPT

Cara membuat daftar aturan/rules firewall

iptables -S
ip6tables -S
# Filter out tcp/22 using the grep/egrep command #
ip6tables -S | grep -i '22'
# IPv6 examples #
iptables -L -n -v
ip6tables -L -n -v

Menghapus Rules Firewall

 Pertama dapatkan daftar aturan dengan nomor baris:
/sbin/iptables -L INPUT -v -n --line-numbers
/sbin/ip6tables -L INPUT -v -n --line-numbers

Kemudian hapus aturan itu. asumsi pada nomor 7, jadi:

/sbin/iptables -D INPUT 7
/sbin/ip6tables -D INPUT 7

Cara melihat log firewall

 dmesg | more
dmesg | grep -w 'DPT=22'

Catatan tentang menjaga agar log firewall tetap terkendali dengan penggunaan disk direktori log Linux menggunakan perintah df atau du perintah. Contohnya:

df -hT
du -chs /var/log

# Outputs:

2.5G	/var/log
2.5G	total

Linux Iptables Memblokir Semua Lalu Lintas Kecuali Untuk SSH Dengan Batasan terlalu banyak log karena iptables? dengan cara membatasi ukuran log menggunakan modul -m limit. Sebagai contoh:

# Enable log but with limits
/sbin/iptables -A INPUT -p tcp --dport 22 -m limit --limit 5/m --limit-burst 7 -j LOG --log-prefix "SSH_TCP_22_LOG: "
/sbin/iptables -A INPUT -p tcp --dport 22 -j ACCEPT

Catatan tentang firewalld dan ufw

Pada distro Linux modern, kebanyakan akan menggunakan bagian depan firewall yang disediakan oleh perintah ufw atau perintah firewall-cmd alih-alih mengetikkan perintah iptables mentah di prompt. Lihat cara membuka port TCP 22 menggunakan ufw dan membatasi koneksi ssh di port TCP 22 menggunakan ufw.

Kesimpulan

Dan begitulah cara mengizinkan lalu lintas IPv4/IPv6 di port SSH TCP 22 tetapi memblokir yang lainnya.

manual iptables berikut menggunakan perintah:

man iptables
man ip6tables

2.Bagaimana Saya Menyimpan Aturan atau Pengaturan Iptables?

menggunakan alat GUI untuk mengatur aturan firewall untuk komputer server yang terhubung ke jaringan ADSL (DSL/Cable) / FO, Cloud, bahkan VPS. Namun, setelah reboot rules Iptables tidak tersimpan. Bagaimana cara dapat menyimpan dan memuat semua aturan firewall lagi?

Kita perlu menggunakan perintah iptables-save. Ini digunakan untuk membuang isi Tabel IP dalam format yang mudah diuraikan ke layar. Menggunakan I/O redirection yang disediakan oleh shell, kita dapat menyimpan aturan firewall iptables ke file teks. Untuk mengembalikan aturan iptables gunakan perintah iptables-restore. Ini digunakan untuk mengembalikan Tabel IP dari data yang ditentukan dari file. Gunakan I/O redirection yang disediakan oleh shell kita untuk membaca dari file.

Contoh: Menyimpan dan Merestore Aturan Iptables

Dalam contoh ini, simpan aturan firewall iptables saat ini ke file bernama /root/dsl.fw, masukkan:

iptables-save > /root/dsl.fw

Untuk mengembalikan aturan iptables, masukkan:

iptables-restore < /root/dsl.fw

Untuk memulihkan aturan secara otomatis setelah sistem Linux di-boot ulang, tambahkan perintah berikut ke file /etc/rc.local Anda, masukkan:

vi /etc/rc.local

Tambahkan baris:

/sbin/iptables-restore < /root/dsl.fw

Simpan dan tutup file dengan menekan Esc diikuti dengan :x saat menggunakan vim. Catatan tentang RHEL/CentOS 6.x dan versi Fedora yang lebih lama

Harap perhatikan bahwa di bawah Red Hat enterprise Linux (RHEL) / CentOS / Fedora Linux Anda dapat menggunakan perintah berikut untuk menyimpan dan memulihkan aturan firewall. Untuk Menyimpan aturan ke file /etc/sysconfig/iptables:

/etc/init.d/iptables save

Untuk mengembalikan aturan dari file /etc/sysconfig/iptables:

/etc/init.d/iptables start

Cara Restore Firewall Rules Debian/Ubuntu Linux

Jika menggunakan Debian / Ubuntu Linux, buka /etc/network/interfaces:

vi /etc/network/interfaces

Tambahkan baris ke bagian eth0:

post-up iptables-restore </path/to/file

Tutup dan simpan file. Reboot ulang sistem.

Mengaktifkan dukungan /etc/rc.local dengan distro Linux berbasis systemd

Ketik perintah systemctl berikut

sudo systemctl enable rc-local.service

Sekarang dapat menggunakan /etc/rc.local untuk mengembalikan aturan iptables saat boot. Lihat cara mengaktifkan skrip shell rc.local di systemd saat mem-boot sistem Linux.

Kesimpulan

Halaman tutorial singkat ini menjelaskan beberapa cara di mana aturan iptables dapat disimpan atau direstore secara permanen di Linux.

Perintah Simpan Firewall Rules Debian/Ubuntu:

iptables-save > rules.v4
ip6tables-save > rules.v6

Debian/Ubuntu Perintah Restore Firewall Rules

iptables-restore < rules.v4
ip6tables-restore < rules.v6

Perintah simpan Rules Firewall RHEL/CentOS/Fedora:

iptables-save > /etc/sysconfig/iptables
ip6tables-save > /etc/sysconfig/ip6tables

Perintah Restore Firewall Rules RHEL/CentOS/Fedora:

iptables-restore < /etc/sysconfig/iptables
ip6tables-restore < /etc/sysconfig/ip6tables

Referensi : LINK

  1. Penggunaan git
 
Get SSH Key
to get ssh key in your computer, and put in your github or gitlab ssh key setting.
cat ~/.ssh/id_rsa.pub

if there is not exist you must generate ssh key in next section
Generate RSA Key

Just One time for first instalation of git scm,

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

Set config global

Just One time for first instalation of git scm,

git config --global user.name "John Doe"
git config --global user.email johndoe@example.com

Enabling SSH connections over HTTPS

nano ~/.ssh/config

Host github.com
  Hostname ssh.github.com
  Port 443
  User git

Host gitlab.com
  Hostname altssh.gitlab.com
  User git
  Port 443

Forking repository and keep update from source repo

Please click fork from web interface, after that clone your repo in your desktop. Select SSH in clone tab.

git clone git@github.com:youruserrepo/your_repos.git

git bash into your repo folder, just one time add upstream from source of fork repo. Use HTTPS in clone tab from source repo.

git remote add upstream https://github.com/danigunawan/your_repos.git

before pull request and working in your repo, always do

git fetch upstream
git checkout main
git merge upstream/main

After that you may pull request.

  1. Add remote origin push 2 url or more git remote set-url –add –push origin git://original/repo.git

Apa itu Agile ?

Apa itu OKR ?

Apa itu Scaling Up dalam Organisasi ?

Waterfall SDLC vs Agile