Mengaktifkan /etc/rc.local Pada Debian

Menyinkronkan Kompabilitas /etc/rc.local dengan Systemd. Di masa kini, sebagian besar sistem operasi mengadopsi Systemd. Meskipun tujuannya serupa, namun Systemd lebih kompleks daripada /etc/rc.local yang sering digunakan pada sistem operasi yang lebih lama untuk menjalankan perintah tertentu saat proses booting.

Langkah 1 :

# systemctl status rc-local

Jika terjadi kesalahan ataupun error , lanjut ketahap berikut

# printf '%s\n' '#!/bin/bash' 'exit 0' |  tee -a /etc/rc.local

Langkah 2 :

chmod +x /etc/rc.local

Kemudian kita lanjut pembuatan service SystemD

Langkah 3 :

nano /etc/systemd/system/rc-local.service

Isi seperti ini :

[Unit]
Description=/etc/rc.local Compatibility
ConditionPathExists=/etc/rc.local

[Service]
Type=forking
ExecStart=/etc/rc.local start
TimeoutSec=0
StandardOutput=tty
RemainAfterExit=yes
SysVStartPriority=99

[Install]
WantedBy=multi-user.target

Langkah 4 :

# systemctl daemon-reload
# systemctl enable rc-local
# systemctl start rc-local
# systemctl status rc-local

seperti gambar dibawah ini :

dilanjutkan mencoba memasukkan script :

Langkah 5 :

# nano /etc/rc.local

saya isikan contoh script iptables :

#!/bin/bash
## Mendeteksi dan Mengatasi Serangan DoS
iptables -A INPUT -p tcp -m state --state NEW -m limit --limit 2/second --limit-burst 2 -j ACCEPT
iptables -A INPUT -p tcp -m state --state NEW -j LOG --log-prefix "Dos Detected"
iptables -A INPUT -p tcp -m state --state  NEW -j DROP

##Mendeteksi Port Scanning
iptables -A INPUT -p tcp -i eth0 -m state --state NEW -m recent --update --seconds 30 --hitcount 10 -j LOG --log-prefix "Port Scan Detected"
iptables -A FORWARD -p tcp -i eth0 -m state --state NEW -m recent --update --seconds 30 --hitcount 10 -j LOG --log-prefix "Port Scan Detected"

##Mengatasi Serangan Port Scanning
iptables -A INPUT -p tcp --tcp-flags SYN,ACK SYN,ACK -m state --state NEW -j DROP
iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP
iptables -A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP
iptables -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -j DROP
iptables -A INPUT -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -j DROP
iptables -A INPUT -p tcp --tcp-flags FIN,RST FIN,RST -j DROP
iptables -A INPUT -p tcp --tcp-flags ACK,FIN FIN -j DROP
iptables -A INPUT -p tcp --tcp-flags ACK,PSH PSH -j DROP
iptables -A INPUT -p tcp --tcp-flags ACK,URG URG, -j DROP

iptables -A INPUT -p tcp -i eth0 -m state --state NEW -m recent --set
iptables -A INPUT -p tcp -i eth0 -m state --state NEW -m recent --update --seconds 30 --hitcount 10 -j DROP
iptables -A FORWARD -p tcp -i eth0 -m state --state NEW -m recent --set
iptables -A FORWARD -p tcp -i eth0  -m state --state NEW -m recent --update --seconds 30 --hitcount 10 -j DROP
exit 0

untuk mengetes apakah rc.local berjalan ketika komputer di restart , maka kita reboot komputer, setelah reboot kemudian kita cek dengan perintah :

# iptables --list

Jika ada output script iptables tadi maka rc.local telah berjalan setiap komputer di reboot.

Leave a ReplyCancel reply