Senin, 27 Juli 2020

Konfigurasi Firewall Menggunakan UFW pada Ubuntu 16.04

Uncomplicated Firewall (UFW) adalah sebuah interface dari Linux iptablesiptables sendiri adalah tools yang sangat bagus untuk melakukan konfigurasi firewall di sistem operasi berbasis Linux. Namun iptables cukup rumit untuk dipahami oleh sebagian orang. UFW hadir untuk mengatasi permasalahan tersebut dengan cara menyederhanakan perintah konfigurasi firewall sehingga memudahkan sistem administrator dalam mengelola firewall.

Panduan ini merupakan panduan sederhana dan ringkas dalam melakukan konfigurasi firewall menggunakan ufw dan hanya mencakup perintah ufw yang paling sering digunakan dalam praktek administrasi sistem sehari-hari.

Mengaktifkan Service UFW

Sebelum anda dapat melakukan konfigurasi firewall menggunakan ufw, anda harus memastikan service ufw telah berjalan di server anda dengan perintah:

$ sudo systemctl status ufw

Bila ternyata status service ufw adalah inactive (dead) maka anda harus mengaktifkannya dengan cara

$ sudo systemctl start ufw
$ sudo systemctl enable ufw

Jalankan perintah sudo systemctl status ufw sekali lagi dan pastikan kali ini status service ufw adalah active (exited).

Mengaktifkan Firewall Menggunakan UFW

Walaupun service ufw telah aktif, namun firewall rule belum diaktifkan. Anda bisa cek dengan perintah

$ sudo ufw status

Bila output perintah tersebut adalah Status: inactive maka artinya ufw belum aktif dan default policy dari firewall adalah ACCEPT. Silahkan recheck dengan perintah sudo iptables -L maka anda akan mendapatkan output kurang lebih seperti ini

$ sudo iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination

Kondisi seperti ini akan mengijinkan seluruh koneksi keluar dan masuk ke komputer anda. Sekarang aktifkan lah ufw dengan perintah

$ sudo ufw enable

Kemudian tekan y bila mendapatkan pesan Command may disrupt existing ssh connections. Proceed with operation (y|n)? Bila berhasil, maka anda akan mendapatkan pesan Firewall is active and enabled on system startup.

Jalankan perintah

$ sudo ufw status verbose

untuk melihat default policy setelah ufw diaktifkan. Contoh output perintah tersebut adalah

$ sudo ufw status verbose
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip

Policy tersebut akan:

  1. melarang (deny) seluruh paket masuk, kecuali yang diijinkan,
  2. mengijinkan (allow) seluruh paket yang masuk,
  3. tidak mengaktifkan (disabled) paket routing.

UFW Application Profile

ufw telah menyediakan berbagai Application profile yang berisi default rule berbagai aplikasi populer. Anda dapat melihat daftar Application profile tersebut dengan menggunakan perintah

$ sudo ufw app list

Output perintah tersebut bergantung pada aplikasi yang anda install dalam komputer anda. Pada komputer yang saya gunakan terdapat aplikasi Apache, OpenSSH, dan Postfix sehingga output perintah sudo ufw app list menjadi seperti ini

$ sudo ufw app list
Available applications:
Apache
Apache Full
Apache Secure
OpenSSH
Postfix
Postfix SMTPS
Postfix Submission

Anda dapat mengijinkan aplikasi tertentu dengan perintah sudo ufw allow <nama aplikasi>, misalkan sudo ufw allow OpenSSH. Anda dapat melihat policy yang ada dalam masing-masing Application profile dengan perintah sudo ufw app info <application>. Berikut adalah contoh output ketika menjalankan perintah sudo ufw app info OpenSSH

$ sudo ufw app info OpenSSH
Profile: OpenSSH
Title: Secure shell server, an rshd replacement
Description: OpenSSH is a free implementation of the Secure Shell protocol.
Port:
22/tcp

Mengijinkan Akses Layanan

Mengijinkan Layanan SSH

Untuk mengijinkan layanan SSH menggunakan ufw dapat anda lakukan dengan mengijinkan Application profile OpenSSH dengan perintah

$ sudo ufw allow OpenSSH

atau anda dapat melakukannya secara manual dengan cara

$ sudo ufw allow 22/tcp

Tapi sebenarnya, secara default ufw akan mengijinkan layanan SSH, karena bila tidak diijinkan maka akan menjadi masalah ketika anda melakukan konfigurasi dari remote komputer.

Mengijinkan Layanan Apache

Cara paling mudah mengijinkan layanan Web server Apache, baik itu port 80 untuk protokol HTTP dan port 443 untuk protokol HTTPS adalah dengan perintah

$ sudo ufw allow 'Apache Full'

atau anda dapat melakukannya secara manual dengan cara :

https://www.tokopedia.com/afristore

$ sudo ufw allow 80/tcp
$ sudo ufw allow 443/tcp

Jalankan perintah sudo ufw status verbose untuk mengecek dampak perubahan firewall policy.

Mengijinkan Port dan Protokol Tertentu

Anda dapat mengijinkan port dan protokol tertentu dengan format perintah sudo ufw allow <port>/<protokol>, misalkan perintah

$ sudo ufw allow 80/tcp

akan mengijinkan akses ke port 80 dengan protokol TCP, sedangkan perintah

$ sudo ufw allow 53/udp

akan mengijinkan akses ke port 53 dengan protokol UDP.

Mengijinkan Port dengan Range dan Protokol Tertentu

Anda dapat mengijinkan port dengan range dan protokol tertentu dengan format perintah sudo ufw allow <first port>:<last port>/<protokol>, misalkan perintah

$ sudo ufw allow 8000:8100/tcp

akan mengijinkan akses ke port 8000 hingga 8100 dengan protokol TCP, sedangkan perintah

$ sudo ufw allow 5300:5500/udp

akan mengijinkan akses ke port 5300 hingga 5500 dengan protokol UDP.

Mengijinkan IP Tertentu

Anda dapat mengijinkan IP tertentu dengan format perintah sudo ufw allow from <ip>, misalkan perintah

$ sudo ufw allow from 104.16.124.127

akan mengijinkan semua akses dari IP 104.16.124.127 masuk ke komputer anda. Bila anda ingin IP tertentu dapat mengakses port tertentu di komputer anda maka anda dapat menjalankan perintah dengan format sudo ufw allow from <ip> to any port <port>, misalkan

$ sudo ufw allow from 104.16.124.127 to any port 22

akan mengijinkan akses dari IP 104.16.124.127 masuk ke port 22 di komputer anda.

Mengijinkan Subnet Tertentu

Anda dapat mengijinkan subnet tertentu dengan format perintah sudo ufw allow from <network address>/<subnet>, misalkan perintah

$ sudo ufw allow from 104.16.124.0/24

akan mengijinkan semua akses dari subnet 104.16.124.0/24 masuk ke komputer anda. Bila anda ingin subnet tertentu dapat mengakses port tertentu di komputer anda maka anda dapat menjalankan perintah dengan format sudo ufw allow from <network address>/<subnet> to any port <port>, misalkan

$ sudo ufw allow from 104.16.124.0/24 to any port 22

akan mengijinkan akses dari IP 104.16.124.0/24 masuk ke port 22 di komputer anda.

Memblokir Akses

Memblokir Akses dari IP atau Subnet Tertentu

ufw dapat anda manfaatkan untuk memblokir IP atau Subnet tertentu. Untuk memblokir IP tertentu gunakan perintah dengan format sudo ufw deny from <ip> misalkan

$ sudo ufw deny from 104.16.124.127

Bila anda ingin memblokir Subnet tertentu, maka gunakan perintah dengan format udo ufw deny from <ip>/<subnet> misalkan 

$ sudo ufw deny from 104.16.124.127

Bila anda ingin memblokir Subnet tertentu, maka gunakan perintah dengan format udo ufw deny from <ip>/<subnet> misalkan

$ sudo ufw deny from 104.16.124.0/24




Minggu, 26 Juli 2020

Install CentOS

A. Pengertian CentOS

CentOS (Community ENTerprise Operating System) merupakan Distro Linux yang cocok dipergunakan dalam skala Enterprise selain itu juga gratis. CentOS di buat dari source code Red Hat Enterprise (RHEL) yang dikembangkan oleh sebuah komunitas yang disebut CentOS Project. CentOS pada dasarnya dibuat dari source code Ret Hat Enterprise yang bisa di unduh di ftp://mirrors.kernel.org/redhat/redhat/linux/enterprise. Software ini dirilis dibawah General Public License (GPL) yang selanjutnya dikembangkan oleh sebuah komunitas yang disebut CentOS Project, untuk lebih jelasnya silahkan mengunjungi situs resminya di http://www.centos.org.

CentOS saat ini sudah digunakan di seluruh dunia, beberapa komunitas, mailing list, IRC dan website tutorial dibuka dengan lebar agar semua orang bisa mempelajarinya. Sehingga untuk dukungan dan support mengenai bagaimana membuat sebuah server dengan distro ini anda tidak perlu khawatir, sebab seluruh pengguna yang tersebar di dunia yang aktif di komunitas, siap untuk membantu anda.

Ada 2 alasan dasar kenapa penulis memilih CentOS sebagai sistem operasi utama sebuah server. Dalam hal dukungan, CentOS memiliki dukungan yang lebih baik, dukungan mengenai software dan hardware adalah salah satu alasan yang terpenting dari sebuah Distro skala Enterprise, selain itu anda tidak perlu khawatir, dengan dukungan software paket untuk update sebab jika anda mengunakan sebuah Operating System commercial maka anda harus membayar terlebih dahulu agar mendapatkan update yang terbaru, lain halnya dengan CentOS, dimana vendor CentOS Project memberikan support dalam produknya secara berkala. Jika anda ingin membayar dengan alasan rasa terima kasih atas dukungan yang diberikan bisa saja, tetapi tidak wajib. Biasanya Distro Linux memiliki dukungan (Life Cycles) yang relatif pendek, disini penulis tidak akan memberikan contoh distro yang dijadikan perbandingan. Misalnya sebuah distro memiliki dukungan hanya 2 tahun, setelah 2 tahun kedepan diharuskan untuk melakukan upgrade ke release yang terbaru sebab dari itu anda akan memiliki sedikit pilihan yaitu upgrade ke release terbaru atau membiarkan sistem tersebut dan menghiraukan update security pada Distro tersebut, padahal security adalah hal yang terpenting.

Diasumsikan anda memiliki sebuah server, anda ingin server tersebut dalam kondisi aman dan terjaga dalam paket yang digunakan, yaitu dengan cara upgrade sistem. Ada beberapa kemungkinan terburuk yang akan anda alami.

Pertama, dalam proses upgrade sistem bukanlah perkara mudah, biasanya proses upgrade merupakan pergantian software yang lama diganti dengan software yang terbaru sehingga pasti akan ada beberapa software aplikasi lama yang tidak support dengan aplikasi yang terbaru sesuai dengan konfigurasi lama.

Kedua, setelah upgrade versi paket software yang terbaru, kebanyakan memiliki perubahan signifikan yang berbeda dengan versi sebelumnya. Jika server anda adalah sebuah server yang harus online 24 jam maka anda menginginkan server tersebut tetap berjalan dengan baik setelah proses upgrade dan meminimalisir downtime. Tetapi pada dasarnya proses upgrade sistem akan menganti semua software menjadi yang terbaru dan tidak mempedulikan konfigurasi lama anda, dengan begitu anda harus menulis ulang source code konfigurasi anda yang lama dan melakukan pengetesan pada semua konfigurasi, dan hal tersebut dilakukan


untuk memastikan bahwa sistem anda bisa berjalan dengan baik, hal tersebut merupakan pekerjaan besar dan selain itu anda mengakibatkan downtime pada server yang relatif lebih lama.
CentOS dengan platform Linux Enterprise mencegah 2 permasalah tersebut sebab release pada CentOS memilik release yang memiliki kesamaan dengan versi sebelumnya hingga beberapa tahun, sehingga CentOS memiliki waktu dukungan secara berkala dari 5 tahun sampai dengan 10 tahun. hal tersebut penting diperhatikan sebab bisa memberikan anda banyak kesempatan untuk upgrade dan melakukan testing pada versi yang terbaru. Beberapa hal yang perlu diperhatikan bahwa Linux CentOS merupakan salah satu turunan dari Distro Red Hat yang saat ini masih menguasai pangsa pasar server seluruh dunia, CentOS saat ini menjadi alternatif Open Source yang digunakan hampir sebagaian perusahaan hosting didunia.

1. Installasi CentOS
ΓΌ Sebelum mengistall adalah mempersiapkan media yang digunakan. . Anda bisa menggunakan media DVD yang sudah terlampir didalam buku ini, atau bisa juga menggunakan media USB Drive yaitu dengan mendownload terlebih dahulu disitus resminya http://mirror.centos.org/centos/, anda bisa menggunakan beberapa software seperti unetbooting untuk membuat Live USB CentOS.




ΓΌ Berikut adalah langkah-langkah installasi CentOS. Nyalakan komputer anda, letakkan DVD kedalam DVD-ROM, tunggu beberapa saat hingga anda melihat tampilan pertama installasi. Jika dalam proses booting tersebut tidak ada maka, maka cek kembali konfigurasi pada BIOS di PC anda dan pastikan first boot sudah di setting CD/DVD. Lanjutkan tekan tombol enter untuk memulai installasi.



ΓΌ Langkah selanjutnya merupakan bahasa yang digunakan ketika proses installasi berlangsung, secara default mengunakan bahasa English, selain itu anda juga bisa memilih bahasa lain agar memudahkan dalam proses installasi. Dan juga bisa memilih standart keyboard yang digunakan, silahkan pilih beberapa tipe keyboard yang sesuai. Klik Continue untuk melanjutkan.



ΓΌ Ikuti beberapa pertanyaan pada dialog selanjutnya meliputi pengaturan time dan konfigurasi IP Address, pada proses tersebut bisa anda lewati yaitu dengan menekan tombol Next sebab konfigurasi tersebut bisa disetting kembali ketika proses installasi selesai.





ΓΌ Selanjutnya anda diminta memasukkan password root. Hak akses root dipergunakan untuk mengontrol semua system sehingga diharapkan menggunakan password yang sulit untuk ditebak


ΓΌ Setelah proses installasi berlangsung akan terlihat informasi bahwa proses installasi berhasil, agar installasi tersebut sempurna restart komputer anda dengan menekan tombol Reboot


ΓΌ Selamat proses installasi selesai, anda bisa memulai membuat sebuah server.


B. Memahami Perintah Dasar Linux
Untuk menggunakan perintah linux, menggunakan fasilitas : terminal.
Untuk masuk ke terminal : klik kanan pada desktop | open terminal.
Beberapa perintah dasar linux :

1. Organisasi user account

a. su –l : Perintah Pindah ke user root
     

note : pada saat masuk ke root,akan diminta password, ketik : 123456
b. adduser dan password : Perintah untuk membuat user account baru dan membuat password dari user account yang baru
perintah : adduser  namauser
perintah :passwd  namauser

Note : Password yang anda ketikkan tidak akan ditampilkan pada layar.
c. su : perintah masuk ke user account
Perintah : su  namauser
 Ketikkan : cd untuk masuk ke home user account kita. Sehingga lambang direktorinya adalah (~)

d. pwd - print working directory : Fungsi perintah pwd adalah perintah yang bisa anda pergunakan untuk mengetahui dimana lokasi direktori anda berada.

2. Organisasi Direktori
a. mkdir : membuat direktori baru
perintah : mkdir  nama direktori


b. cd : untuk berpindah dari suatu direktori ke direktori lainnya.
cd : masuk ke direktori home dari user account. Turun satu tingkat.


cd namadirektori : pindah/masuk ke direktori yang dituju
 perintah : cd  namadirektori


cd .. : mundur satu folder
perintah : cd ..
          
c. ls : untuk melihat/menampilkan isi dari sebuah direktori atau user account.
ls : menampilkan file atau direktori


 note : Jika jenisnya direktori maka tesk berwarna biru. Jika file maka tesk berwarna hitam.
ls –a : menampilkan semua file termasuk file yang dihidden (disembunyikan).
           
note : File yang dihidden diawali symbol (.)
ls –l : menampilkan file dan direktori beserta atributnya.


 note : Atribut terdiri nama file, ukuran, tanggal dimodifikasi, pemilik, group.
ls –f : menampilkan semua file tanpa ada proses sortir.


ls –F : menampilkan file dan direktori dengan symbol penanda ditiap masing-masingnya.


 note : Simbol (/) tanda direktori,symbol (@) untuk file symbolic link. Symbol (*) untuk file yang bersifat executable. Tanda (=) untuk socket.
ls –R : menampilkan file, jika didalam direktori terdapat file, maka akan langsung ditampilkan.


d. Rmdir : untuk menghapus direktori.
Rmdir : menghapus direktori kosong.
Perintah : rmdir  namadirektori

Rm –r : menghapus direktori yang ada isi filenya.
Perintah : rm –r  namadirektori

3. Organisasi File
a. File : mengidentifikasi suatu file atau direktori.
Perintah : file *


b. cat : perintah untuk membuat file baru.
cat>namafile : perintah untuk membuat file baru



note : enter terlebih dahulu kemudian ctrl+c untuk simpan
cat namafile : perintah untuk membaca file yang sudah dibuat.

cat>>namafile : perintah untuk menambah isi file yang sudah dibuat.


note : enter terlebih dahulu kemudian ctrl+c untuk simpan
cp : mengcopy sebuah file (menggandakan/copy file).
 Perintah : cp nama file awal nama file baru


ls : melihat isi file dari seuah direktori.

rm : menghapus file
Perintah : rm namafile


c. mv : memindahkan file dari direktori semula ke direktori lain (cut) atau merename file.
mv namafile alamatdirektorinya : memindahkan file (cut).
Perintah : mv namafile alamatdirektorinya


Setelah file2 dimove dari direktori linux ke faridha, maka file2 akan berada pada faridha dan menghilang pada direktori linux.
mv nama file awal nama file baru : merename file.
Perintah : mv nama file nama file baru

d. vi : membuat file baru dengan tampilan jendela editor.
 Perintah : vi namafile
 [faridha@localhost] $ vi coba1
 Setelah masuk ke editor vi, isi filenya..
Untuk simpan file + keluar dari editor vi
Shift + w +q
 w + q +
Untuk keluar dari editor vi tanpa menyimpan file.
 Shift + w+ q
 q ! +
Menyimpan file tanpa kluar dari editor vi.
Shift + w+ q
w +

 
Design by Wordpress Theme | Bloggerized by Free Blogger Templates | coupon codes