Pendahuluan
sebelum mengetahui cara konfigurasi Firewall / Proxy pada CentOS, yuk kita mengenal dulu sedikit penjelasan mengenai firewall dan Proxy. secara garis beras firewall berguna untuk mengontrol data dan melindungi keamanan jaringan, sedangkan proxy sendiri adalah pidak ketiga yang berfungsi sebagai penghubung antara client kepada server lain yang berada diinternet. untuk lebih jelasnya langsung liat ajh yuk penjelasan masing-masing :
Pengertian Firewall
Firewall adalah jenis alat keamanan jaringan yang mengendalikan lalu lintas jaringan masuk dan keluar sesuai dengan aturan yang telah ditetapkan sebelumnya. Kita bisa menggunakan firewall dan langkah-langkah keamanan lainnya untuk melindungi server kita dari serangan dan serangan hacker.
Cara kerja Firewall
Firewall bekerja memfilter data berdasar model pembagian layer TCP/IP dan OSI . tiap jenis firewall beroperasi membaca paket data danmemfilternya dilevel layer yang berbeda.maka dari itu kamu perlu tau pembagian layer TCP/IP dan OSI sebagai modal memahami pemffilteran paket data dalam jaringan . Layer terendah yang bisa digunakan firewall untuk memfilter paker data adalah layer 3 (Network /Internet Protocol [IP]) firewall akan menggunakan informasi IP header yang ada disetiap paket utnuk menentukan apakah paket akan diijinkan/diblock.
Ketika
komputer saling berkomunikasi ,komputer akan menggunakan IP address sebagai
identitas agar saling mengenal,membentuk session, menggunakan protokol tertentu
sesuai kebutuhan dan menggunakan port number tertentu sebagai jalan
pertukaran data. kedua komputer akan membentuk sesi dan mulai saling
berkomunikasi dengan mengirim dan menerima data.
Fungi Firewall
Banyak sekali fungsi dari
firewall bergantung dari jenis dan tujuan firewall dibuat.Disini akan
dijelaskan secara umum fungsi firewall yang sering digunakan dalam dunia IT
- Mengatur Remote Login
- Menyembunyikan Resource jaringan local intranet
- Menangkal serangan aktiv dari internet
- Membatasi akses internet
Pengertian Proxy
Proxy Server merupakan sebuah server yang ditaruh diantara
sebuah aplikasi klien dan aplikasi server yang dihubungi. Sebuah aplikasi klien bisa berupa browser web, FTP klien,
dan lainnya. Sedangkan aplikasi server bisa berupa sebuah server web, server
FTP dan lainnya. Proxy Server yang ditaruh di antara aplikasi klien dan aplikasi
server tersebut, dapat digunakan untuk mengendalikan maupun memonitor terhadap
lalu-lintas paket data yang melewatinya.
Cara kerja Proxy server
Sebenarnya prinsip kerja
proxy server sangatlah sederhana, saat user menggunakan layanan suatu proxy
lalu meminta file atau data yang terdapat di public server (internet) maka proxy akan
meneruskannya ke internet jadi seolah-olah proxy tersebut yang memintanya. Dan
saat proxy server telah mendapatkan apa yang diminta oleh user, proxy akan
memberikan respon kepada user jadi seolah-olah dialah public servernya.
Fungsi
proxy
Berikut di bawah ini
adalah beberapa fungsi proxy:
1. Fungsi
conecting sharing
Salah satu fungsi proxy
adalah sebagai connecting sharing yaitu sebagai penghubung atau perantara
pengambilan data dari suatu alamat IP dan diantarkan ke alamat IP lainnya
ataupun kepada IP komputer user.
2. Fungsi
filtering
Terdapat beberapa proxy
yang dilengkapi dengan firewall yang dapat memblokir beberapa atau sebuah
alamat IP yang tidak diinginkan, sehingga beberapa website tidak dapat diakses
dengan memakai proxy tersebut. Itulah salah satu fungsi dari proxy sebagai
filtering.
3. Fungsi
caching
Dan fungsi proxy yang
lainnya yaitu sebagai fungsi caching, disini maksudnya proxy juga dilengkapi
dengan media penyimpanan data dari suatu web, dari query ataupun permintaan
akses user. Misalnya permintaan untuk mengakses suatu web dapat lebih cepat
jika telah ada permintaan akses ke suatu web pada pemakai proxy sebelumnya.
Itulah fungsi proxy sebagai chacing.
Konfigurasi Firewall
pada konfigurasi firewall kali ini kita menggunakan iptables, Jika Anda
menggunakan CentOS 7, Anda harus melihat konfigurasi firewalld, yang
menggabungkan fungsionalitas iptables dan ip6tables, meskipun mungkin masih
menggunakan iptables sama saja.
Ikuti Langkah-langkah dibawah ini :
Pada
CentOS dan varian Red Hat lainnya iptables sering hadir dengan beberapa
peraturan yang telah dikonfigurasikan, periksa peraturan iptable saat ini
dengan menggunakan perintah berikut :
sudo iptables -L
Ini akan
mencetak daftar tiga rantai, input , forward dan output , seperti contoh tabel
kosong contoh output di bawah ini.
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT icmp -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ssh
REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
Chain FORWARD (policy ACCEPT)
target prot opt source destination
REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain menunjukkan lalu lintas mana aturan di setiap daftar akan
diterapkan, input untuk
koneksi apa pun yang datang ke server awan Anda, output adalah lalu lintas yang
tertinggal dan forward untuk
melewati semua. Setiap rantai juga memiliki pengaturan policy yang menentukan bagaimana lalu
lintas ditangani jika tidak sesuai dengan aturan tertentu, secara default sudah
diatur untuk accept .
Menambahkan Aturan
Firewall
biasanya dapat dikonfigurasi dengan salah satu dari dua cara, baik menetapkan
aturan default untuk menerima lalu memblokir lalu lintas yang tidak diinginkan
dengan aturan tertentu, atau dengan menggunakan aturan untuk menentukan lalu
lintas yang diizinkan dan memblokir hal lainnya. Yang terakhir ini sering
merupakan pendekatan yang disarankan, karena memungkinkan lalu lintas yang
menghalangi secara pre-emptively, daripada harus secara sadar menolak koneksi
yang seharusnya tidak mencoba mengakses server awan Anda.
Untuk
mulai menggunakan iptables, Anda harus terlebih dahulu menambahkan aturan untuk
lalu lintas masuk yang diizinkan untuk layanan yang Anda
butuhkan. Iptables dapat melacak keadaan koneksi, jadi gunakan perintah di
bawah ini untuk memungkinkan koneksi yang dapat terus berlanjut.
sudo iptables -A INPUT -m conntrack --kststate ESTABLISHED, RELATED -j ACCEPT
Anda dapat
memeriksa bahwa aturan itu ditambahkan dengan menggunakan sudo
iptables yang sama -L seperti
sebelumnya. Selanjutnya, biarkan lalu lintas ke port tertentu untuk
mengaktifkan koneksi SSH dengan yang berikut
sudo iptables -A INPUT -p tcp --dport ssh -j ACCEPT
ssh di perintah menterjemahkan ke nomor
port 22, yang menggunakan protokol secara default. Struktur perintah yang
sama dapat digunakan untuk memungkinkan lalu lintas ke port lain
juga. Untuk mengaktifkan akses ke server web HTTP, gunakan perintah
berikut
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
Setelah menambahkan semua aturan yang
diizinkan yang Anda butuhkan, ubah kebijakan masukan agar terhapus.
sudo iptables -P INPUT DROP
Sekarang jika Anda me-restart server Anda
semua konfigurasi iptables ini akan dihapus. Untuk mencegah hal ini,
simpan aturan ke file.
sudo iptables-save> / etc / sysconfig / iptables
itulah langkah-langkah konfigurasi firewall menggunakan iptables yang
berguna untuk mengijinkan dan menghapus lalu lintas jaringan.
Konfigurasi Proxy
pada konfigurasi kali ini saya menggunakan proxy squid yang proxy digunakan oleh berbagai organisasi dan
penyedia internet untuk mengurangi bandwidth dan untuk meningkatkan response
time.
Langkah 1: Menentukan layanan dan port
yang digunakan pada server Anda
Saya berasumsi bahwa server
ini hanya akan meng-host blog WordPress, dan tidak akan digunakan sebagai
router atau menyediakan layanan lainnya (misalnya, surat, FTP, IRC, dll.).
Di sini, kita membutuhkan
layanan berikut:
- HTTP
(TCP pada port 80)
- HTTPS
(TCP pada port 443)
- SSH
(TCP pada port 22 secara default, dapat diubah untuk tujuan keamanan)
- NTP
(UDP di port 123)
- DNS
(TCP dan UDP pada port 53)
- ping
(ICMP)
Semua port lain yang
tidak perlu akan diblokir.
Langkah 2: Mengkonfigurasi aturan
iptables
Iptables mengendalikan
lalu lintas dengan daftar aturan. Ketika paket jaringan dikirim ke server
kami, iptables akan memeriksa mereka dengan menggunakan setiap aturan secara
berurutan dan melakukan tindakan yang sesuai. Jika aturan dipenuhi, aturan
lainnya akan diabaikan. Jika tidak ada aturan yang terpenuhi, iptables
akan menggunakan kebijakan default.
Semua lalu lintas bisa
dikategorikan sebagai INPUT, OUTPUT, dan FORWARD.
- Lalu
lintas INPUT bisa jadi normal atau berbahaya, harus diijinkan selektif.
- Lalu
lintas OUTPUT biasanya dianggap aman dan harus diizinkan.
- Lalu
lintas FORWARD tidak berguna dan harus diblokir.
Sekarang, mari kita atur
aturan iptables sesuai kebutuhan kita. Semua perintah berikut harus
dimasukkan dari terminal SSH Anda sebagai root.
Periksa peraturan yang
ada:
iptables -L -n
Siram semua peraturan
yang ada:
iptables -F; iptables -X; iptables -Z
Karena perubahan pada
konfigurasi iptables akan segera berlaku, jika Anda salah mengonfigurasi aturan
iptables, Anda mungkin tersingkir dari server Anda. Anda dapat mencegah
pemblokiran yang tidak disengaja dengan perintah berikut. Ingatlah untuk
mengganti
[Your-IP-Address]
dengan alamat IP publik atau alamat IP Anda
sendiri (misalnya, 201.55.119.43 atau 201.55.119.0/24).iptables -A INPUT -s [Your-IP-Address] -p tcp --dport 22 -j ACCEPT
Biarkan semua loopback
(lo) lalu lintas dan jatuhkan semua lalu lintas ke 127.0.0.0/8 selain lo:
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -d 127.0.0.0/8 -j REJECT
Blokir beberapa serangan
umum:
iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP
iptables -A INPUT -p tcp --tcp-flags ALL ALL -j DROP
Terimalah semua koneksi
inbound yang terjalin:
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
Izinkan lalu lintas masuk
HTTP dan HTTPS:
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
Izinkan koneksi SSH:
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
Izinkan koneksi NTP:
iptables -A INPUT -p udp --dport 123 -j ACCEPT
Izinkan keluar DNS:
iptables -A INPUT -p udp --dport 53 -j ACCEPT
iptables -A INPUT -p tcp --dport 53 -j ACCEPT
Izinkan ping:
iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
Akhirnya, tetapkan
kebijakan default:
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP
Langkah 3: Simpan konfigurasi
Setiap perubahan yang
kami buat di atas telah diterapkan, namun tidak permanen. Jika kita tidak
menyimpannya ke hard disk, mereka akan hilang begitu sistem di-reboot.
Simpan konfigurasi
iptables dengan perintah berikut:
service iptables save
Perubahan kami akan
disimpan dalam file
/etc/sysconfig/iptables
. Anda dapat meninjau atau memodifikasi
aturan dengan mengedit file tersebut.
#catatan
- Jika
Anda belum menyimpan peraturan modifikasi iptables Anda, Anda dapat
me-restart server Anda dari antarmuka situs Vultr, maka perubahan Anda akan
terjatuh.
- Jika
Anda telah menyimpan perubahan Anda, Anda dapat masuk ke server Anda
melalui konsol dari antarmuka situs Vultr, dan memasukkan
iptables -F
semua aturan iptables. Kemudian Anda bisa mengatur peraturan lagi.