Cara Konfigurasi Firewalld di CentOS 7

Firewall yang dikonfigurasi dengan benar adalah salah satu aspek terpenting dari keamanan sistem Linux secara keseluruhan. Pada kesempatan ini kita akan membahas Cara Konfigurasi Firewalld di CentOS 7. Hal ini akan sangat berguna bagi Anda yang menggunakan layanan VPS Murah dan Dedicated Server dari Herza.ID.

FirewallD adalah solusi firewall lengkap yang mengelola aturan sistem iptables dan menyediakan antarmuka D-Bus untuk mengoperasikannya. Dimulai dengan CentOS 7, FirewallD menggantikan iptables sebagai alat manajemen firewall default pada Sistem Linux Anda.

Jika Anda lebih menyukai untuk menggunakan layanan IPTables daripada FirewallD, maka silahkan membaca Artikel kami tentang Panduan Dasar Menggunakan IPTables.

Dalam tutorial ini, kami menunjukkan kepada Anda cara mengatur firewall dengan FirewallD pada sistem CentOS 7 Anda dan menjelaskan kepada Anda konsep dasar FirewallD.

Sebelum Anda mulai dengan tutorial ini, pastikan Anda masuk ke server Anda dengan akun pengguna dengan hak sudo atau dengan pengguna root. Praktik terbaik adalah menjalankan perintah administratif sebagai pengguna sudo daripada user root.

Jika Anda tidak memiliki pengguna sudo di sistem CentOS Anda, Anda dapat membuatnya dengan mengikuti pada Artikel kami Cara Membuat User Sudo di CentOS 7.

Konsep Dasar Firewalld

FirewallD menggunakan konsep zona dan layanan, ketimbang pengaturan menggunakan chain dan rules dengan iptables. Berdasarkan zona dan layanan yang akan Anda konfigurasi, Anda dapat mengontrol lalu lintas apa yang diizinkan atau tidak diizinkan ke dan dari sistem.

FirewallD dapat dikonfigurasi dan dikelola menggunakan utilitas command-line firewall-cmd.

Zona Firewalld

Zona adalah seperangkat aturan yang ditentukan yang menetapkan lalu lintas apa yang harus diizinkan berdasarkan tingkat kepercayaan pada jaringan yang terhubung dengan komputer Anda. Anda dapat menetapkan antarmuka dan sumber jaringan ke zona.

Berikut adalah zona yang disediakan oleh FirewallD yang dipesan sesuai dengan tingkat kepercayaan zona dari tidak dipercaya menjadi tepercaya:

  • drop: Semua koneksi yang masuk terputus tanpa pemberitahuan. Hanya koneksi keluar yang diizinkan.
  • block: Semua koneksi masuk ditolak dengan pesan icmp-host-dilarang untuk IPv4 dan icmp6-adm-dilarang untuk IPv6n. Hanya koneksi keluar yang diizinkan.
  • public: Untuk digunakan di area publik yang tidak terpercaya. Anda tidak mempercayai komputer lain di jaringan, tetapi Anda dapat mengizinkan koneksi masuk yang dipilih.
  • external: Untuk digunakan pada jaringan eksternal dengan penyamaran NAT diaktifkan ketika sistem Anda bertindak sebagai gateway atau router. Hanya koneksi masuk terpilih yang diizinkan.
  • internal: Untuk digunakan pada jaringan internal ketika sistem Anda bertindak sebagai gateway atau router. Sistem lain pada jaringan umumnya dipercaya. Hanya koneksi masuk terpilih yang diizinkan.
  • dmz: Digunakan untuk komputer yang berlokasi di zona demiliterisasi Anda yang memiliki akses terbatas ke seluruh jaringan Anda. Hanya koneksi masuk terpilih yang diizinkan.
  • work: Digunakan untuk mesin kerja. Komputer lain di jaringan umumnya dipercaya. Hanya koneksi masuk terpilih yang diizinkan.
  • home: Digunakan untuk mesin rumah. Komputer lain di jaringan umumnya dipercaya. Hanya koneksi masuk terpilih yang diizinkan.
  • trusted: Semua koneksi jaringan diterima. Percayai semua komputer di jaringan.

Layanan firewall

Layanan Firewalld adalah aturan yang telah ditentukan yang berlaku di dalam zona dan menentukan pengaturan yang diperlukan untuk memungkinkan lalu lintas masuk untuk layanan tertentu.

Firewalld Runtime dan Pengaturan Permanen

Firewalld menggunakan dua set konfigurasi yang terpisah, runtime, dan konfigurasi permanen.

Konfigurasi runtime adalah konfigurasi yang sedang berjalan, dan tidak persisten saat reboot. Ketika layanan Firewalld dimulai, ia memuat konfigurasi permanen, yang menjadi konfigurasi runtime.

Secara default, ketika membuat perubahan pada konfigurasi Firewalld menggunakan utilitas firewall-cmd, perubahan diterapkan pada konfigurasi runtime. Untuk membuat perubahan permanen, Anda perlu menggunakan opsi –permanent.

Menginstal dan Mengaktifkan FirewallD

  1. Firewalld diinstal secara default pada CentOS 7, tetapi jika tidak diinstal pada sistem Anda, Anda dapat menginstal paket dengan mengetik:
    yum install firewalld
  2. Layanan Firewalld dinonaktifkan secara default. Anda dapat memeriksa status firewall dengan perintah:
    firewall-cmd --state
    Jika Anda baru saja menginstal atau tidak pernah diaktifkan sebelumnya, perintah akan memberikan jawaban not running atau tidak berfungsi. Jika tidak, Anda akan melihat running atau berfungsi.
  3. Untuk memulai layanan FirewallD dan mengaktifkannya pada tipe boot:
    systemctl start firewalld
    systemctl enable firewalld

Konfigurasi FirewallD

Dalam panduan konfgurasi firewalld kali ini, kita akan mebahas penggunaan zona publik sebagai zona default. Jadi dalam Tutorial ini, kita tidak akan membahas zona zona lainnya pada FirewallD agar tidak perlu repot malakukan konfigurasi FirewallD tingkat lanjutan. Kita akan membuat rule untuk default-zone tersebut dan ketika firewalld direstart, maka zona tersebut akan menjadi zona yang ditetapkan pada interface.

Tahapan selanjutnya adalah dengan membuat rule pada firewall atas layanan yang diizinkan untuk berfungsi dengan FirewallD. Dan paling pertama dan utama, adalah dengan mengizinkan layanan SSH, karena kita membutuhkan koneksi SSH untuk remote server administratif jarak jauh. Jika layanan SSH tidak diizinkan dalam firewalld, maka kita tidak dapat login ke Server.

Port default pada SSH adalah menggunakan Port 22. Jika Anda belum mengubah port tersebut dari CentOS 7, Anda dapat mengaktifkan layanan SSH hanya dengan mengetik nama layanannya seperti dibawah ini:

firewall-cmd --permanent --add-service=ssh

Jika Anda telah melakukan perubahan port SSH pada server Anda, maka Anda akan harus menentukan port baru tersebut secara eksplisit dan menghapus layanan SSH Default pada firewalld agar port 22 tidak dapat diakses oleh Publik.

sudo firewall-cmd --permanent --remove-service=ssh 
sudo firewall-cmd --permanent --add-port=5555/tcp

Baca juga Artikel kami mengenai 10 Cara Mengamakan Server Linux Anda. Pada Artikel tersebut, kita membahas tentang cara merubah Port SSH Default pada Sistem Linux Anda.

Hal tersebut adalah langkah awal yang perlu Anda lakukan untuk mempertahankan akses administratif ke server Anda. Tahapan selanjutnya adalah dengan menambahkan layanan lainnya yang ingin Anda gunakan dengan membuka firewall untuk layanan-layanan tersebut.

Jika Anda berencana untuk menjalankan web server HTTP konvensional, Anda akan harus mengaktifkan layanan http dengan menggunakan perintah sebagai berikut:

sudo firewall-cmd --permanent --add-service=http

Untuk mengizinkan akses SSL/TLS pada Web Server, anda harus mengizinkan traffic https dengan menjalankan perintah ini:

sudo firewall-cmd --permanent --add-service=https

Jika anda membutuhkan akses email dengan SMTP

sudo firewall-cmd --permanent --add-service=smtp

Anda bisa melihat daftar service, kemudian anda bisa memilih apa saja yang ingin anda tambahkan seperti contoh sebelumnya. Untuk melihat list service ketik:

sudo firewall-cmd --get-services

Setelah anda selesai, anda bisa melihat semua service yang telah anda tambahkan dalam daftar rule firewall dan service mana saja yang diizinkan firewall

sudo firewall-cmd --permanent --list-all

Untuk dapat mengizinkan layanan tertentu yang menggunakan Port Custom dengan interface UDP atau TCP, Anda dapat menggunakan perintah yang kurang lebih sama seperti mengizinkan layanan SSH dengan Port Custom seperti dibawah ini:

TCP: sudo firewall-cmd --permanent --add-port=1234/tcp
UDP: sudo firewall-cmd --permanent --add-port=1234/udp

Dan jika Anda ingin mengizinkan traffic dengan rentang port lebih dari satu, maka Anda dapat menggunakan perintah dibawah ini:

sudo firewall-cmd --permanent --add-port=1001-1005/tcp

Kemudian setelah anda siap untuk menerapkan perubahan pada firewalld Anda, silahkan reload firewalld menggunakan perintah:

sudo firewall-cmd --reload

Jika semua berjalan dengan baik, jangan lupa untuk mengaktifkan firewall secara otomatis setelah system reboot.

sudo systemctl enable firewalld

Selesai, kini server anda mempunyai konfigurasi firewall untuk keamanan server dan sedikit lebih tahu bagaimana cara konfigurasi firewalld di centos 7.

Cara Membuat User Sudo di CentOS 7

Cara Membuat User Sudo

Jika Anda dalah pengguna VPS Murah atau Dedicated Server dari Herza.ID, maka Artikel ini akan sangat bermanfaat bagi Anda. Salah satu cara mengamankan server linux anda adalah dengan membuat user sudo yang dapat bertindak sebagai user root, tanpa harus login dengan user root.

Perintah sudo menyediakan mekanisme untuk memberikan hak administrator, biasanya hanya tersedia untuk pengguna root, untuk pengguna normal. Panduan ini akan menunjukkan kepada Anda cara termudah untuk membuat pengguna baru dengan akses sudo di CentOS, tanpa harus memodifikasi file sudoer server Anda. Jika Anda ingin mengonfigurasi sudo untuk pengguna yang ada, cukup lewati ke langkah 3.

Tahapan untuk Membuat User Sudo Baru

  1. Masuk ke server Anda sebagai user root.
    ssh root@server_ip_address
  2. Gunakan perintah adduser untuk menambahkan pengguna baru ke sistem Anda. Pastikan untuk mengganti username dengan pengguna yang ingin Anda buat.
    adduser username
  3. Gunakan perintah passwd untuk memperbarui kata sandi pengguna baru tersebut.
    passwd username
    Setel dan konfirmasikan kata sandi pengguna baru saat diminta. Buatlah kata sandi yang susah untuk dikenali!
Changing password for user username.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
  1. Gunakan perintah usermod untuk menambahkan pengguna ke grup wheel. Secara default, pada CentOS, anggota grup wheel memiliki hak sudo.
usermod -aG wheel username
  1. Uji akses sudo pada akun pengguna baru dengan cara sebagai berikut.
  • Gunakan perintah su untuk beralih ke akun pengguna baru.
    su – username
  • Sebagai pengguna baru, verifikasi bahwa Anda dapat menggunakan sudo dengan menambahkan “sudo” ke perintah yang ingin Anda jalankan dengan hak superuser.
    sudo command_to_run
  • Sebagai contoh, Anda dapat membuat daftar isi direktori / root, yang biasanya hanya dapat diakses oleh pengguna root.
    sudo ls -la /root
  • Pertama kali Anda menggunakan sudo dalam suatu sesi, Anda akan dimintai kata sandi akun pengguna. Masukkan kata sandi untuk melanjutkan.
    [sudo] password for username:
  • Jika pengguna Anda berada di grup yang tepat dan Anda memasukkan kata sandi dengan benar, perintah yang Anda keluarkan dengan sudo harus dijalankan dengan hak akses root.

Demikian Tutorial kali ini, dengan informasi yang singkat dan jelas untuk dapat dimengerti mengenai cara membuat user sudo pada CentOS 7. Jangan lupa untuk membaca Artikel kami lainnya seperti Cara Menonaktifkan Login Root di SSH dan penjelasan dan cara penggunakan IPTables dan FirewallD.

Cara Mengubah Repository Centos 7.7 ke Server Lokal

Cara Mengubah Repository Centos 7.7 ke Server Lokal

Siapa yang tidak kenal CentOS? CentOS adalah sebuah sistem operasi yang Open Source yang didasarkan pada Red Hat Interprise Linux. Centos sendiri bermula dari proyek komunitas yang diawali pada akhir tahun 2003. CentOS dikenal juga dengan sebutan Sistem Operasi Sejuta Web Hosting, karena saking banyaknya perusahaan Web Hosting yang menggunakan CentOS untuk Operating System server mereka.

Repository merupakan sebuah server yang di khususkan untuk menampung paket-paket yang sangat dibutuhkan oleh sistem operasi. Dalam kata lain, kita bisa mengibaratkan, repository sebagai tandon yang digunakan untuk menampung seluruh update update terkini dari sebuah Operating Sistem Linux. Maka dari itu semakin dekat lokasi Server Repository yang kita gunakan, maka bisa lebih cepat pula proses update yang kita lakukan dikarenakan koneksi yang semakin singkat dan cepat. Ketimbang menggunakan Repository dari Server Luar Negeri, bisa mengakibatkan Latency yang cukup tinggi.

Silahkan baca Artikel kami mengenai Apa itu Repository di Sistem Linux untuk lebih mengerti tentang Linux Repository.

Agar komputer client terhubung dengan server yang menyediakan layanan repo maka diperlukan konfigurasi khusus yang ditempatkan pada konfigurasi paket manager.

Beda distribusi beda pula konfigurasinya, Jika anda telah familiar dengan distribusi Debian-based, seperti Sistem Operasi Debian atau Ubuntu, silahkan membaca Cara Mengubah Repository Ubuntu ke Server Lokal.

Cara pertama tentunya Anda harus login ke SSH Console dari Linux Server Anda.

Untuk berjaga-jaga ketika terjadi trouble, kita wajib melakukan backup CentOS-Base.repo yang terdapat pada folder /etc/yum.repos.ddengan melakukan perintah:

cp CentOS-Base.repo CentOS-Base.repo.ORI

Cara Mengubah Repository Centos 7.7 ke Server Lokal

Kemudian, Edit file CentOS-Base.repo menggunakan Text Editor favorit Anda. Kali ini, saya akan menggunakan Nano dengan mengetikkan perintah :

nano /etc/yum.repos.d/CentOS.repo

Dan kemudian, masukkan alamat repository dibawah ini ke file tersebut.

[Plus]
name=CentOS
baseurl=https://mirror.herza.id/centos/7.7.1908/centosplus/x86_64/
enabled=1
gpgcheck=1
gpgkey=https://mirror.herza.id/centos/RPM-GPG-KEY-CentOS-7
[Extras]
name=CentOS
baseurl=https://mirror.herza.id/centos/7.7.1908/extras/x86_64/
enabled=1
gpgcheck=1
gpgkey=https://mirror.herza.id/centos/RPM-GPG-KEY-CentOS-7
[Fasttrack]
name=CentOS
baseurl=https://mirror.herza.id/centos/7.7.1908/fasttrack/x86_64/
enabled=1
gpgcheck=1
gpgkey=https://mirror.herza.id/centos/RPM-GPG-KEY-CentOS-7
[OS]
name=CentOS
baseurl=https://mirror.herza.id/centos/7.7.1908/os/x86_64/
enabled=1
gpgcheck=1
gpgkey=https://mirror.herza.id/centos/RPM-GPG-KEY-CentOS-7
[Update]
name=CentOS
baseurl=https://mirror.herza.id/centos/7.7.1908/updates/x86_64/
enabled=1
gpgcheck=1
gpgkey=https://mirror.herza.id/centos/RPM-GPG-KEY-CentOS-7
Mengedit Repo File di CentOS 7.7

Save file tersebut dengan menekan Ctrl + O kemudian keluar dari Text Editor dengan menekan Ctrl + X.

Setelah itu, jalankan perintah yum update, dan setelah itu yum update akan berjalan dengan melakukan Update melalui Server Lokal yang telah kita tentukan.

Melaksanakan perintah yum update untuk mengupdate repository CentOS

Apa itu Repository di Sistem Linux?

Mengubah Repository ke Server Lokal

Jika Anda adalah pengguna layanan VPS Murah atau Dedicated Server dari Herza.ID, Artikel ini mungkin bisa sangat bermanfaat bagi kalian.

Apa itu Repository?

Repositori Linux adalah lokasi penyimpanan tempat sistem Anda mengambil dan menginstal pembaruan dan aplikasi OS. Setiap repositori adalah kumpulan perangkat lunak yang di-host di server jauh dan dimaksudkan untuk digunakan untuk menginstal dan memperbarui paket perangkat lunak pada sistem Linux. Ketika Anda menjalankan perintah seperti “sudo apt update” atau “sudo apt upgrade”, Anda mungkin menarik informasi paket dan memperbarui paket dari sejumlah repositori.

Apa itu Repository Linux

Repositori berisi ribuan program. Repositori standar memberikan tingkat keamanan yang tinggi, karena perangkat lunak yang disertakan diuji secara menyeluruh dan dibuat agar kompatibel dengan distribusi dan versi tertentu. Jadi, Anda dapat mengharapkan pembaruan terjadi tanpa “efek samping” yang tidak terduga.

Repositori mungkin standar atau non-standar. Setelah repositori non-standar ditambahkan ke daftar repositori sistem Anda, sistem dapat menginstal perangkat lunak darinya, serta dari repositori standar; kalau tidak, tidak bisa. Secara umum, menambahkan repositori non-standar adalah langkah sederhana. Perintah sudo apt-add-repository di Ubuntu, misalnya, dapat digunakan untuk menambahkan repositori.

Jangan lupa membaca Artikel kami tentang Cara Mengubah Repository Ubuntu Linux menggunakan Server Lokal untuk Debian / Ubuntu atau Cara Mengubah Repository CentOS 7.7 ke Server Lokal untuk Sistem Operasi CentOS.

For Debian systems such as Ubuntu, you could use a command like the one shown below to list the repositories that are used when you update your system. This command selects sources from the /etc/apt/sources.list file and /etc/apt/sources.list.d directory on the system where this information is maintained. The ^[^#] argument is suppressing the comments.

$ grep ^[^#] /etc/apt/sources.list /etc/apt/sources.list.d/*
/etc/apt/sources.list:deb http://us.archive.ubuntu.com/ubuntu/ bionic main restricted
/etc/apt/sources.list:deb http://us.archive.ubuntu.com/ubuntu/ bionic-updates main restricted
/etc/apt/sources.list:deb http://us.archive.ubuntu.com/ubuntu/ bionic universe
/etc/apt/sources.list:deb http://us.archive.ubuntu.com/ubuntu/ bionic-updates universe
/etc/apt/sources.list:deb http://us.archive.ubuntu.com/ubuntu/ bionic multiverse
/etc/apt/sources.list:deb http://us.archive.ubuntu.com/ubuntu/ bionic-updates multiverse
/etc/apt/sources.list:deb http://us.archive.ubuntu.com/ubuntu/ bionic-backports main restricted universe multiverse
/etc/apt/sources.list:deb http://security.ubuntu.com/ubuntu bionic-security main restricted
/etc/apt/sources.list:deb http://security.ubuntu.com/ubuntu bionic-security universe
/etc/apt/sources.list:deb http://security.ubuntu.com/ubuntu bionic-security multiverse
/etc/apt/sources.list.d/teejee2008-ubuntu-ppa-bionic.list:deb http://ppa.launchpad.net/teejee2008/ppa/ubuntu bionic main

Satu hal yang mungkin Anda perhatikan ketika melihat daftar di atas adalah penggunaan istilah yang dibatasi, semesta, dan multiverse. Istilah-istilah ini mengidentifikasi beberapa perbedaan penting:

  • Main – perangkat lunak sumber terbuka yang didukung secara resmi. Canonical memberikan dukungan resmi untuk paket-paket ini. Setiap paket perangkat lunak sumber terbuka yang disertakan dalam instalasi default disertakan bersama dengan beberapa paket penting lainnya.
  • Restricted – yang didukung secara resmi, perangkat lunak sumber tertutup – mis., Driver perangkat keras – didukung selama rilis.
  • Universe – dikelola komunitas, sumber terbuka. Mayoritas perangkat lunak Ubuntu berasal dari repositori ini. Canonical tidak memberikan dukungan atau pembaruan resmi.
  • Multiverse – perangkat lunak yang tidak didukung, sumber tertutup, dan terbebani paten.

Kesimpulan Menggunakan Repository Lokal

Repositori Linux standar menyediakan:

  1. Lokasi tepercaya untuk mendapatkan perangkat lunak dengan percaya diri, mengetahui bahwa itu bebas dari malware dan telah diuji dengan benar
  2. Instalasi sederhana tanpa memperhatikan ketergantungan (semua paket yang diperlukan disediakan)
  3. Cara mudah untuk menemukan dan mengunduh apa yang Anda butuhkan

Mengetahui repositori yang Anda gunakan dapat menjelaskan bagaimana sistem Anda mengelola pembaruan. Secara umum, ini sangat baik. Jika Anda menggunakan repositori non-standar, mungkin ide yang baik untuk sesekali meninjau sumber perangkat lunak Anda.