Difference between revisions of "Lynis: Howto"

From OnnoWiki
Jump to navigation Jump to search
 
(12 intermediate revisions by the same user not shown)
Line 5: Line 5:
 
Lynis adalah aplikasi audit keamanan open-source berbasis host yang dapat mengevaluasi profil keamanan dan postur Linux dan sistem operasi mirip UNIX lainnya.
 
Lynis adalah aplikasi audit keamanan open-source berbasis host yang dapat mengevaluasi profil keamanan dan postur Linux dan sistem operasi mirip UNIX lainnya.
  
Dalam tutorial ini, Anda akan menginstal Lynis dan menggunakannya untuk melakukan audit keamanan pada server Ubuntu 16.04 Anda. Kemudian Anda akan mengeksplorasi hasil audit contoh, dan mengkonfigurasi Lynis untuk melewatkan tes yang tidak sesuai dengan kebutuhan Anda.
+
Dalam tutorial ini, Anda akan menginstal Lynis dan menggunakannya untuk melakukan audit keamanan pada server Ubuntu 20.04 Anda. Kemudian Anda akan mengeksplorasi hasil audit contoh, dan mengkonfigurasi Lynis untuk melewatkan tes yang tidak sesuai dengan kebutuhan Anda.
  
 
Lynis tidak akan melakukan hardening sistem secara otomatis. Tetapi akan menawarkan saran yang menunjukkan bagaimana anda bisa melakukan pengerasan sistem sendiri. Dengan demikian, akan sangat membantu jika anda memiliki pengetahuan dasar tentang keamanan sistem Linux. Anda juga harus terbiasa dengan layanan yang berjalan pada mesin yang akan anda audit, seperti server web, database, dan layanan lain yang mungkin dipindai oleh Lynis secara default. Ini akan membantu anda mengidentifikasi hasil yang dapat anda abaikan dengan aman.
 
Lynis tidak akan melakukan hardening sistem secara otomatis. Tetapi akan menawarkan saran yang menunjukkan bagaimana anda bisa melakukan pengerasan sistem sendiri. Dengan demikian, akan sangat membantu jika anda memiliki pengetahuan dasar tentang keamanan sistem Linux. Anda juga harus terbiasa dengan layanan yang berjalan pada mesin yang akan anda audit, seperti server web, database, dan layanan lain yang mungkin dipindai oleh Lynis secara default. Ini akan membantu anda mengidentifikasi hasil yang dapat anda abaikan dengan aman.
Line 15: Line 15:
 
Untuk bisa menjalankan artikel ini, Anda memerlukan:
 
Untuk bisa menjalankan artikel ini, Anda memerlukan:
  
* Sebuah Ubuntu Server 16.04
+
* Sebuah Ubuntu Server 20.04
 
* user dengan kemampuan sudo
 
* user dengan kemampuan sudo
 
* firewall
 
* firewall
Line 23: Line 23:
 
Ada beberapa cara untuk menginstal Lynis. Anda dapat mengkompilasi dari sumber, mendownload dan menyalin biner ke lokasi yang sesuai pada sistem, atau Anda dapat menginstalnya menggunakan manajer paket. Menggunakan manajer paket adalah cara mudah untuk menginstal Lynis dan memperbaruinya, jadi itulah metode yang akan kita gunakan.
 
Ada beberapa cara untuk menginstal Lynis. Anda dapat mengkompilasi dari sumber, mendownload dan menyalin biner ke lokasi yang sesuai pada sistem, atau Anda dapat menginstalnya menggunakan manajer paket. Menggunakan manajer paket adalah cara mudah untuk menginstal Lynis dan memperbaruinya, jadi itulah metode yang akan kita gunakan.
  
Namun, di Ubuntu 16.04, versi yang tersedia dari repositori bukanlah versi terbaru. Agar memiliki akses ke fitur terbaru, kami akan menginstal Lynis dari repository proyek.
+
Install dengan cara
  
Repositori perangkat lunak Lynis menggunakan protokol HTTPS, jadi kami harus memastikan bahwa dukungan HTTPS untuk pengelola paket telah terinstal. Gunakan perintah berikut untuk memeriksa:
+
sudo su
 +
apt update
 +
apt-get install lynis
 +
 
 +
 
 +
 
 +
Cek versi lynis terbaru
 +
 
 +
apt-cache policy lynis
 +
 
 +
lynis:
 +
  Installed: (none)
 +
  Candidate: 2.6.2-1
 +
  Version table:
 +
      2.6.2-1 500
 +
        500 http://id.archive.ubuntu.com/ubuntu focal/universe amd64 Packages
  
dpkg -s apt-transport-https | grep -i status
+
Namun, di Ubuntu 20.04, versi yang tersedia dari repositori bukanlah versi terbaru (seperti tampak di atas). Agar memiliki akses ke fitur terbaru, kami akan menginstal Lynis dari repository proyek.
  
Jika di instalasi, keluarnya adalah
+
Update repo supaya bisa install lynis terbaru
  
  Status: install ok installed
+
  wget -O - https://packages.cisofy.com/keys/cisofy-software-public.key | sudo apt-key add -
 +
echo "deb https://packages.cisofy.com/community/lynis/deb/ stable main" | sudo tee /etc/apt/sources.list.d/cisofy-lynis.list
 +
echo 'Acquire::Languages "none";' | sudo tee /etc/apt/apt.conf.d/99disable-translations
  
Jika belum di install, install menggunakan,
+
Di save, lakukan update
  
  sudo apt-get install apt-transport-https
+
  apt update
  
Sebelum menginstalasi Lynis, jika di perlukan tambahkan repository key
+
Repositori perangkat lunak Lynis menggunakan protokol HTTPS, jadi kami harus memastikan bahwa dukungan HTTPS untuk pengelola paket telah terinstal. Gunakan perintah berikut untuk memeriksa:
  
  sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys C80E383C3DE9F082E01391A0366C67DE91CA5D5F
+
  dpkg -s apt-transport-https | grep -i status
  
Output
+
Jika di instalasi, keluarnya adalah
  
  Executing: /tmp/tmp.AnVzwb6Mq8/gpg.1.sh --keyserver
+
  Status: install ok installed
keyserver.ubuntu.com
 
--recv-keys
 
C80E383C3DE9F082E01391A0366C67DE91CA5D5F
 
gpg: requesting key 91CA5D5F from hkp server keyserver.ubuntu.com
 
gpg: key 91CA5D5F: public key "CISOfy Software (signed software packages) <software@cisofy.com>" imported
 
gpg: Total number processed: 1
 
gpg:              imported: 1  (RSA: 1)
 
  
Tambahkan repo Lynis,
+
Jika belum di install, install menggunakan,
  
  sudo add-apt-repository "deb [arch=amd64] https://packages.cisofy.com/community/lynis/deb/ xenial main"
+
  sudo apt -y install apt-transport-https
  
 
Instal Lynis,
 
Instal Lynis,
  
  sudo apt-get update
+
  sudo apt update
  sudo apt-get install lynis
+
  sudo apt -y install lynis
  
 
==Step 2 – Lakukan Audit==
 
==Step 2 – Lakukan Audit==
Line 70: Line 80:
  
 
  Commands:
 
  Commands:
  lynis audit
+
lynis audit
  lynis configure
+
lynis configure
  lynis show
+
lynis generate
  lynis update
+
lynis show
  lynis upload-only
+
lynis update
 +
lynis upload-only
  
 
Lihat Lynis default profile,
 
Lihat Lynis default profile,
Line 110: Line 121:
 
Output
 
Output
  
   == Lynis ==  
+
   == Lynis ==
 
   
 
   
   Version            : 2.4.8
+
   Version            : 3.0.3
 
   Status            : Up-to-date
 
   Status            : Up-to-date
   Release date      : 2017-03-29
+
   Release date      : 2021-01-07
   Update location    : https://cisofy.com/lynis/
+
   Project page      : https://cisofy.com/lynis/
 
+
  Source code        : https://github.com/CISOfy/lynis
 
+
  Latest package    : https://packages.cisofy.com/
  2007-2017, CISOfy - https://cisofy.com/lynis/
+
 +
  2007-2021, CISOfy - https://cisofy.com/lynis/
  
 
Alternatif lain,
 
Alternatif lain,
Line 132: Line 144:
  
 
  sudo lynis audit system
 
  sudo lynis audit system
 +
 +
untuk remote system
 +
 +
  sudo lynis audit system remote <host>
 +
 +
untuk docker bisa menggunakan
 +
 +
sudo lynis audit dockerfile <file>
  
 
Ketika Lynis melakukan audit, ia menjalani sejumlah tes, terbagi dalam beberapa kategori. Setelah setiap audit, hasil tes, informasi debug, dan saran untuk pengerasan sistem ditulis ke standar output (layar). Informasi lebih rinci dicatat ke /var/log/lynis.log, sementara data laporan disimpan ke /var/log/lynis-report.dat. Data laporan berisi informasi umum tentang server dan aplikasi itu sendiri, jadi file yang harus anda perhatikan adalah file log. File log dibersihkan (ditimpa) pada setiap audit, jadi hasil dari audit sebelumnya tidak disimpan.
 
Ketika Lynis melakukan audit, ia menjalani sejumlah tes, terbagi dalam beberapa kategori. Setelah setiap audit, hasil tes, informasi debug, dan saran untuk pengerasan sistem ditulis ke standar output (layar). Informasi lebih rinci dicatat ke /var/log/lynis.log, sementara data laporan disimpan ke /var/log/lynis-report.dat. Data laporan berisi informasi umum tentang server dan aplikasi itu sendiri, jadi file yang harus anda perhatikan adalah file log. File log dibersihkan (ditimpa) pada setiap audit, jadi hasil dari audit sebelumnya tidak disimpan.
Line 207: Line 227:
 
Output ini mengatakan bahwa inetd tidak aktif, tapi itu diharapkan pada server Ubuntu 16.04, karena Ubuntu mengganti inetd dengan systemd. Mengetahui hal itu, anda dapat memberi tag pada tes itu sebagai salah satu yang tidak boleh dilakukan Lynis sebagai bagian dari audit di server anda.
 
Output ini mengatakan bahwa inetd tidak aktif, tapi itu diharapkan pada server Ubuntu 16.04, karena Ubuntu mengganti inetd dengan systemd. Mengetahui hal itu, anda dapat memberi tag pada tes itu sebagai salah satu yang tidak boleh dilakukan Lynis sebagai bagian dari audit di server anda.
  
==Step 3 – Fixing Lynis Audit Warnings==
+
==Step 3 – Memperbaiki Lynis Audit Warning==
  
A Lynis audit output does not always carry a warnings section, but when it does, you'll know how to fix the issue(s) raised after reading this section.
+
Hasil audit Lynis tidak selalu membawa bagian warning, namun bila memang demikian, Anda akan tahu cara memperbaiki masalah yang diangkat setelah membaca bagian ini.
  
Warnings are listed after the results section. Each warning starts with the warning text itself, with the test that generated the warning on the same line in brackets. The next line will contain a suggested solution, if one exists. The last line is a security control URL where you may find some guidance on the warning. Unfortunately, the URL does not always offer an explanation, so you may need to do some further research.
+
Peringatan dicantumkan setelah bagian hasil. Setiap peringatan dimulai dengan teks peringatan itu sendiri, dengan tes yang menghasilkan peringatan pada baris yang sama dalam tanda kurung. Baris berikutnya akan berisi solusi yang disarankan, jika ada. Baris terakhir adalah URL kontrol keamanan di mana Anda mungkin menemukan beberapa petunjuk tentang peringatan tersebut. Sayangnya, URL tidak selalu menawarkan penjelasan, jadi Anda mungkin perlu melakukan penelitian lebih lanjut.
  
The following output comes from the warnings section of a Lynis audit performed on the server used for this article. Let's walk through each warning and look at how to resolve or fix it:
+
Output
  
Output
 
 
  Warnings (3):
 
  Warnings (3):
 
   ----------------------------
 
   ----------------------------
Line 228: Line 247:
 
       https://cisofy.com/controls/PKGS-7392/
 
       https://cisofy.com/controls/PKGS-7392/
  
The first warning says that Lynis needs to be updated. That also means this audit used version of Lynis, so the results might not be complete. This could have been avoided if we'd performed a basic version check before running the results, as shown in Step 3. The fix for this one is easy: update Lynis.
+
Peringatan pertama mengatakan bahwa Lynis perlu diperbarui. Itu juga berarti audit ini menggunakan versi Lynis, sehingga hasilnya mungkin tidak lengkap. Ini bisa dihindari jika kami melakukan pemeriksaan versi dasar sebelum menjalankan hasilnya, seperti yang ditunjukkan pada Langkah 3. Perbaikan untuk yang satu ini mudah: update Lynis.
  
The second warning indicates that the server needs to be rebooted. That's probably because a system update that involved a kernel upgrade was performed recently. The solution here is to reboot the system.
+
Peringatan kedua menunjukkan bahwa server perlu di-reboot. Itu mungkin karena pembaruan sistem yang melibatkan upgrade kernel dilakukan baru-baru ini. Solusinya disini adalah reboot sistem.
  
When in doubt about any warning, or just about any test result, you can get more information about the test by querying Lynis for the test id. The command to accomplish that takes this form:
+
Bila ragu tentang peringatan apapun, atau hampir semua hasil tes, anda bisa mendapatkan lebih banyak informasi tentang tes tersebut dengan mengajukan pertanyaan kepada Lynis untuk test-id. Perintah untuk mencapainya yang mengambil formulir ini:
  
 
  sudo lynis show details test-id
 
  sudo lynis show details test-id
  
So for the second warning, which has the test id KRNL-5830, we could run this command:
+
Jadi untuk peringatan kedua, yang memiliki test id KRNL-5830, kita bisa menjalankan perintah ini:
  
 
  sudo lynis show details KRNL-5830
 
  sudo lynis show details KRNL-5830
  
The output for that particular test follows. This gives you an idea of the process Lynis walks through for each test it performs. From this output, Lynis even gives specific information about the item that gave rise to the warning:
+
Output untuk tes tertentu berikut. Ini memberi anda gambaran tentang proses yang Lynis lakukan selama setiap tes yang dilakukannya. Dari keluaran ini, Lynis bahkan memberikan informasi spesifik tentang item yang menimbulkan peringatan:
  
 
Output
 
Output
 +
 
  2017-03-21 01:50:03 Performing test ID KRNL-5830 (Checking if system is running on the latest installed kernel)
 
  2017-03-21 01:50:03 Performing test ID KRNL-5830 (Checking if system is running on the latest installed kernel)
 
  2017-03-21 01:50:04 Test: Checking presence /var/run/reboot-required.pkgs
 
  2017-03-21 01:50:04 Test: Checking presence /var/run/reboot-required.pkgs
Line 267: Line 287:
 
  2017-03-21 01:50:04 ===---------------------------------------------------------------===
 
  2017-03-21 01:50:04 ===---------------------------------------------------------------===
  
For the third warning, PKGS-7392, which is about vulnerable packages, we'd run this command:
+
Untuk peringatan ketiga, PKGS-7392, tentang vulnerable package, kami menjalankan perintah ini:
  
 
  sudo lynis show details PKGS-7392
 
  sudo lynis show details PKGS-7392
  
The output gives us more information regarding the packages that need to be updated:
+
Output memberi kami lebih banyak informasi mengenai paket yang perlu diperbarui:
  
 
Output
 
Output
 +
 
  2017-03-21 01:39:53 Performing test ID PKGS-7392 (Check for Debian/Ubuntu security updates)
 
  2017-03-21 01:39:53 Performing test ID PKGS-7392 (Check for Debian/Ubuntu security updates)
 
  2017-03-21 01:39:53 Action: updating repository with apt-get
 
  2017-03-21 01:39:53 Action: updating repository with apt-get
Line 294: Line 315:
 
  2017-03-21 01:40:05 ===---------------------------------------------------------------===
 
  2017-03-21 01:40:05 ===---------------------------------------------------------------===
  
The solution for this is to update the package database and update the system.
+
Solusi untuk ini adalah mengupdate database paket dan mengupdate sistem.
  
After fixing the item that led to a warning, you should run the audit again. Subsequent audits should be free of the same warning, although new warnings could show up. In that case, repeat the process shown in this step and fix the warnings.
+
Setelah memperbaiki item yang menyebabkan peringatan, anda harus menjalankan audit lagi. Audit selanjutnya harus bebas dari peringatan yang sama, walaupun peringatan baru bisa muncul. Dalam hal ini, ulangi proses yang ditunjukkan pada langkah ini dan perbaiki peringatannya.
  
Now that you know how to read and fix warnings generated by Lynis, let's look at how to implement the suggestions that Lynis offers.
+
Sekarang setelah anda tahu cara membaca dan memperbaiki peringatan yang dihasilkan oleh Lynis, mari kita lihat bagaimana menerapkan saran yang ditawarkan Lynis.
  
==Step 4 — Implementing Lynis Audit Suggestions==
+
==Step 4 — Implementasi Saran Audit Lynis==
  
After the warnings section, you'll see a series of suggestions that, if implemented, can make your server less vulnerable to attacks and malware. In this step, you'll learn how to implement some suggestions generated by Lynis after an audit of a test Ubuntu 16.04 server. The process to do this is identical to the steps in the previous section.
+
Setelah bagian peringatan, anda akan melihat serangkaian saran yang, jika diterapkan, dapat membuat server anda kurang rentan terhadap serangan dan malware. Pada langkah ini, anda akan belajar bagaimana menerapkan beberapa saran yang dihasilkan oleh Lynis setelah melakukan audit terhadap server Ubuntu 20.04. Proses untuk melakukan ini identik dengan langkah-langkah di bagian sebelumnya.
  
A specific suggestion starts with the suggestion itself, followed by the test ID. Then, depending on the test, the next line will tell you exactly what changes to make in the affected service's configuration file. The last line is a security control URL where you can find more information about the subject.
+
Saran spesifik dimulai dengan saran itu sendiri, diikuti oleh test-ID. Kemudian, tergantung pada pengujian, baris berikutnya akan memberi tahu anda persis perubahan apa yang harus dilakukan pada file konfigurasi layanan yang terpengaruh. Baris terakhir adalah URL kontrol keamanan di mana Anda dapat menemukan lebih banyak informasi tentang subjek.
  
Here, for example, is a partial suggestion section from a Lynis audit, showing suggestions pertaining to the SSH service:
+
Di sini, misalnya, adalah bagian saran parsial dari audit Lynis, yang menunjukkan saran yang berkaitan dengan layanan SSH:
  
 
Output
 
Output
 +
 
  Suggestions (36):
 
  Suggestions (36):
 
   ----------------------------
 
   ----------------------------
Line 332: Line 354:
 
  ...
 
  ...
  
Depending on your environment, all these suggestions are safe to implement. To make that determination, however, you have to know what each directive means. Because these pertain to the SSH server, all changes have to be made in the SSH daemons configuration file,/etc/ssh/sshd_config. If you have any doubt about any suggestion regarding SSH given by Lynis, look up the directive with man sshd_config. That information is also available online.
+
Bergantung pada lingkungan anda, semua saran ini aman untuk diterapkan. Untuk membuat itu, bagaimanapun, anda harus tahu apa arti tiap petunjuk. Karena ini berhubungan dengan server SSH, semua perubahan harus dilakukan pada file konfigurasi daemon SSH, / etc / ssh / sshd_config. Jika Anda ragu tentang saran tentang SSH yang diberikan oleh Lynis, cari arahan dengan sshd_config. Informasi itu juga tersedia secara online.
 
 
 
One of the suggestions calls for changing the default SSH port from 22. If you make that change, and you have the firewall configured, be sure to insert a rule for SSH access through that new port.
 
One of the suggestions calls for changing the default SSH port from 22. If you make that change, and you have the firewall configured, be sure to insert a rule for SSH access through that new port.
  
As with the warnings section, you can get more detailed information about a suggestion by querying Lynis for the test id using sudo lynis show details test-id.
+
Seperti bagian peringatan, anda bisa mendapatkan informasi lebih rinci tentang sebuah saran dengan menanyakan Lynis untuk test id menggunakan sudo lynis menunjukkan rincian test-id.
 +
Saran lain mengharuskan anda untuk menginstal perangkat lunak tambahan di server anda. Sebagai contoh, misalnya:
  
Other suggestions require that you to install additional software on your server. Take this one, for example:
+
Output
  
Output
 
 
  * Harden the system by installing at least one malware scanner, to perform periodic file system scans [HRDN-7230]
 
  * Harden the system by installing at least one malware scanner, to perform periodic file system scans [HRDN-7230]
 
     - Solution : Install a tool like rkhunter, chkrootkit, OSSEC
 
     - Solution : Install a tool like rkhunter, chkrootkit, OSSEC
 
       https://cisofy.com/controls/HRDN-7230/
 
       https://cisofy.com/controls/HRDN-7230/
  
The suggestion is to install rkhunter, chkrootkit, or OSSEC to satisfy a hardening test (HRDN-7230). OSSEC is a host-based intrusion detection system that can generate and send alerts. It's a very good security application that will help with some of the tests performed by Lynis. You can learn more about this tool in these DigitalOcean tutorials. However, installing OSSEC alone does not cause this particular test to pass. Installing chkrootkit finally gets it passing. This is another case where you'll sometimes have to additional research beyond what Lynis suggests.
+
Sarannya adalah untuk menginstal rkhunter, chkrootkit, atau OSSEC untuk memenuhi tes pengerasan (HRDN-7230). OSSEC adalah sistem deteksi intrusi berbasis host yang dapat menghasilkan dan mengirim peringatan. Ini adalah aplikasi keamanan yang sangat bagus yang akan membantu beberapa tes yang dilakukan oleh Lynis. Anda dapat mempelajari lebih lanjut tentang alat ini dalam tutorial DigitalOcean ini. Namun, pemasangan OSSEC saja tidak menyebabkan tes khusus ini berlalu. Instalasi chkrootkit akhirnya berhasil lolos. Ini adalah kasus lain di mana Anda kadang-kadang harus melakukan penelitian tambahan melebihi apa yang Lynis sarankan.
  
Let's look at another example. Here's a suggestion displayed as a result of a file integrity test.
+
Mari kita lihat contoh lain. Berikut saran yang ditampilkan sebagai hasil uji integritas file.
  
 
Output
 
Output
Line 353: Line 374:
 
       https://cisofy.com/controls/FINT-4350/
 
       https://cisofy.com/controls/FINT-4350/
  
The suggestion given in the security control URL does not mention the OSSEC program mentioned in the previous suggestion, but installing it was enough to pass the test on a subsequent audit. That's because OSSEC is a pretty good file integrity monitoring tool.
+
Saran yang diberikan dalam URL kontrol keamanan tidak menyebutkan program OSSEC yang disebutkan dalam saran sebelumnya, namun menginstalnya sudah cukup untuk lulus uji pada audit berikutnya. Itu karena OSSEC adalah alat pemantauan integritas file yang cukup bagus.
  
You can ignore some suggestions that don't apply to you. Here's an example:
+
Anda dapat mengabaikan beberapa saran yang tidak berlaku untuk anda. Inilah contohnya:
  
 
Output
 
Output
Line 364: Line 385:
 
       https://cisofy.com/controls/FILE-6310/
 
       https://cisofy.com/controls/FILE-6310/
  
Historically, core Linux file systems like /home, /tmp, /var, and /usr were mounted on a separate partition to minimize the impact on the whole server when they run out of disk space. This isn't something you'll see that often, especially on cloud servers. These file systems are now just mounted as a directory on the same root partition. But if you perform a Lynis audit on such a system, you'll get a couple of suggestions like the ones shown in the preceding output. Unless you're in a position to implement the suggestions, you'll probably want to ignore them and configure Lynis so the test that caused them to be generated is not performed on future audits.
+
Secara historis, sistem file inti Linux seperti / home, / tmp, / var, dan / usr dipasang pada partisi terpisah untuk meminimalkan dampak pada keseluruhan server saat mereka kehabisan ruang disk. Ini bukan sesuatu yang sering anda lihat, terutama di server cloud. Sistem file ini sekarang hanya dipasang sebagai direktori pada partisi root yang sama. Tetapi jika Anda melakukan audit Lynis pada sistem semacam itu, Anda akan mendapatkan beberapa saran seperti yang ditunjukkan pada keluaran sebelumnya. Kecuali Anda berada dalam posisi untuk menerapkan saran tersebut, Anda mungkin ingin mengabaikannya dan mengonfigurasi Lynis sehingga tes yang menyebabkannya dihasilkan tidak dilakukan pada audit masa depan.
  
Performing a security audit using Lynis involves more than just fixing warning and implementing suggestions; it also involves identifying superfluous tests. In the next step, you'll learn how to customize the default profile to ignore such tests.
+
Melakukan audit keamanan menggunakan Lynis melibatkan lebih dari sekadar memperbaiki peringatan dan menerapkan saran; Ini juga melibatkan identifikasi tes yang berlebihan. Pada langkah selanjutnya, anda akan mempelajari cara menyesuaikan profil default untuk mengabaikan tes semacam itu.
  
==Step 5 – Customizing Lynis Security Audits==
+
==Step 5 – Customisasi Audit Security Lynis==
  
In this section, you'll learn how to customize Lynis so that it runs only those tests that are necessary for your server. Profiles, which govern how audits run, are defined in files with the .prf extension in the /etc/lynis directory. The default profile is aptly named default.prf. You don't edit that default profile directly. Instead, you add any changes you want to a custom.prf file in the same directory as the profile definition.
+
Pada bagian ini, anda akan belajar mengkustomisasi Lynis sehingga hanya menjalankan tes yang diperlukan untuk server anda. Profil, yang mengatur bagaimana pelaksanaan audit, didefinisikan dalam file dengan ekstensi .prf di direktori /etc/lynis. Profil defaultnya dinamai default.prf. Anda tidak mengedit profil default itu secara langsung. Sebagai gantinya, anda menambahkan perubahan apa pun yang Anda inginkan ke file custom.prf di direktori yang sama dengan definisi profil.
  
Create a new file called /etc/lynis/custom.prf using your text editor:
+
Buat file baru bernama /etc/lynis/custom.prf menggunakan editor teks anda:
  
 
     sudo nano /etc/lynis/custom.prf
 
     sudo nano /etc/lynis/custom.prf
  
Let's use this file to tell Lynis to skip some tests. Here are the tests we want to skip:
+
Mari kita gunakan file ini untuk memberi tahu Lynis untuk melewatkan beberapa tes. Berikut adalah tes yang ingin kami lewati:
  
 
     FILE-6310: Used to check for separation of partitions.
 
     FILE-6310: Used to check for separation of partitions.
Line 383: Line 404:
 
     PRNT-2307 and PRNT-2308: Used to check for a print server.
 
     PRNT-2307 and PRNT-2308: Used to check for a print server.
 
     TOOL-5002: Use to check for automation tools like Puppet and Salt. If you have no need for such tools on your server, it's OK to skip this test.
 
     TOOL-5002: Use to check for automation tools like Puppet and Salt. If you have no need for such tools on your server, it's OK to skip this test.
     SSH-7408:tcpkeepalive: Several Lynis tests can be grouped under a single test ID. If there's a test within that test id that you wish to skip, this is how to specify it.
+
     SSH-7408:tcpkeepalive: Several Lynis tests can be grouped under a single test ID.
 +
 
 +
Jika ada tes di dalam id tes yang ingin anda lewati, inilah cara menentukannya. Untuk mengabaikan sebuah tes, Anda melewatkan petunjuk tes-skip tes ID yang ingin Anda abaikan, satu per baris. Tambahkan kode berikut ke file Anda:
 +
 
 +
/etc/lynis/custom.prf
  
To ignore a test, you pass the skip-test directive the test ID you wish to ignore, one per line. Add the following code to your file:
 
/etc/lynis/custom.prf
 
  
 
  # Lines starting with "#" are comments
 
  # Lines starting with "#" are comments
Line 407: Line 430:
 
  skip-test=SSH-7408:tcpkeepalive
 
  skip-test=SSH-7408:tcpkeepalive
  
Save and close the file.
+
Save & close file.
  
The next time you perform an audit, Lynis will skip the tests that match the test IDs you configured in the custom profile. The tests will be omitted from the results section of the audit output, as well as the suggestions section.
+
Lain kali anda melakukan audit, Lynis akan melewatkan tes yang sesuai dengan ID tes yang anda konfigurasikan di profil khusus. Pengujian akan diabaikan dari bagian hasil audit, dan juga bagian sarannya.
  
The /etc/lynis/custom.prf file also lets you modify any settings in a profile. To do that, copy the setting from /etc/lynis/default.prf into /etc/lynis/custom.prf and modify it there. You'll rarely need to modify these settings, so focus your effort on finding tests you can skip.
+
File /etc/lynis/custom.prf juga memungkinkan Anda mengubah pengaturan dalam profil. Untuk melakukannya, salin setelan dari /etc/lynis/default.prf ke /etc/lynis/custom.prf dan modifikasi di sana. Anda jarang perlu mengubah pengaturan ini, jadi fokuskan usaha anda untuk menemukan tes yang bisa anda lewatkan.
  
Next, let's take a look at what Lynis calls the hardening index.
+
Selanjutnya, mari kita lihat apa yang Lynis sebut sebagai indeks hardening.
  
==Step 6 – Interpreting the Hardening Index==
+
==Step 6 – Menterjemahkan Hardening Index==
  
In the lower section of every Lynis audit output, just below the suggestions section, you'll find a section that looks like the following:
+
Di bagian bawah setiap hasil audit Lynis, tepat di bawah bagian saran, anda akan menemukan bagian yang terlihat seperti berikut:
  
 
Output
 
Output
Line 426: Line 449:
 
   Plugins enabled : 0
 
   Plugins enabled : 0
  
This output tells you how many tests were performed, along with a hardening index, a number that Lynis provides to give you a sense of how secure your server is. This number is unique to Lynis. The hardening index will change in relation to the warnings that you fix and the suggestions that you implement. This output, which shows that the system has a hardening index of 64 is from the first Lynis audit on a new Ubuntu 16.04 server.
+
Output ini memberi tahu anda berapa banyak tes yang dilakukan, bersama dengan indeks pengerasan, angka yang diberikan Lynis untuk memberi anda rasa seberapa aman server anda. Nomor ini unik untuk Lynis. Indeks hardening akan berubah sehubungan dengan peringatan yang anda perbaiki dan saran yang anda terapkan. Output ini, yang menunjukkan bahwa sistem yang memiliki indeks hardening 64 adalah dari audit Lynis pertama di server 16.04 Ubuntu baru.
  
After fixing the warnings and implementing most of the suggestions, a new audit gave the following output. You can see that the hardening index is slightly higher:
+
Setelah memperbaiki peringatan dan menerapkan sebagian besar saran, audit baru memberikan hasil sebagai berikut. Anda dapat melihat bahwa indeks hardening sedikit lebih tinggi:
  
 
Output
 
Output
Line 437: Line 460:
 
   Plugins enabled : 0
 
   Plugins enabled : 0
  
The hardening index is not an accurate assessment of how secure a server is, but merely a measure of how well the server is securely configured (or hardened) based on the tests performed by Lynis. And as you've seen, the higher the index, the better. The objective of a Lynis security audit is not just to get a high hardening index, but to fix the warnings and suggestions it generates.
+
Indeks hardening bukanlah penilaian yang akurat tentang seberapa aman sebuah server, namun hanya merupakan ukuran seberapa baik server dikonfigurasi dengan aman (atau dikeraskan) berdasarkan tes yang dilakukan oleh Lynis. Dan seperti yang telah anda lihat, semakin tinggi indeksnya, semakin baik. Tujuan audit keamanan Lynis tidak hanya untuk mendapatkan indeks pengerasan yang tinggi, namun juga untuk memperbaiki peringatan dan saran yang dihasilkannya.
 
 
==Conclusion==
 
 
 
In this tutorial, you installed Lynis, used it to perform a security audit of an Ubuntu 16.04 server, explored how to fix the warnings and suggestions it generates, and how to customize the tests that Lynis performs.
 
 
 
It takes a little extra time and effort, but it's worth the investment to make your machine more secure, and Lynis makes that process much easier.
 
 
 
For more information on Lynis, take a look at Get Started with Lynis in the official documentation. Lynis is an open-source project, so if you are interested in contributing, visit the project's GitHub page.  
 
 
 
 
 
 
 
  
 +
==Kesimpulan==
  
 +
Dalam tutorial ini, anda menginstal Lynis, menggunakannya untuk melakukan audit keamanan pada server Ubuntu 20.04, menyelidiki bagaimana memperbaiki peringatan dan saran yang dihasilkannya, dan bagaimana menyesuaikan tes yang dilakukan Lynis.
  
 +
Butuh sedikit waktu dan usaha ekstra, tapi ada baiknya investasi membuat mesin anda lebih aman, dan Lynis membuat proses itu lebih mudah.
  
 +
Untuk informasi lebih lanjut tentang Lynis, lihatlah Persiapan dengan Lynis dalam dokumentasi resmi. Lynis adalah proyek open-source, jadi jika anda tertarik untuk berkontribusi, kunjungi halaman Lynis di GitHub.
  
 
==Referensi==
 
==Referensi==
  
 
* https://www.digitalocean.com/community/tutorials/how-to-perform-security-audits-with-lynis-on-ubuntu-16-04
 
* https://www.digitalocean.com/community/tutorials/how-to-perform-security-audits-with-lynis-on-ubuntu-16-04

Latest revision as of 14:52, 17 January 2024

sumber: https://www.digitalocean.com/community/tutorials/how-to-perform-security-audits-with-lynis-on-ubuntu-16-04

Intro

Lynis adalah aplikasi audit keamanan open-source berbasis host yang dapat mengevaluasi profil keamanan dan postur Linux dan sistem operasi mirip UNIX lainnya.

Dalam tutorial ini, Anda akan menginstal Lynis dan menggunakannya untuk melakukan audit keamanan pada server Ubuntu 20.04 Anda. Kemudian Anda akan mengeksplorasi hasil audit contoh, dan mengkonfigurasi Lynis untuk melewatkan tes yang tidak sesuai dengan kebutuhan Anda.

Lynis tidak akan melakukan hardening sistem secara otomatis. Tetapi akan menawarkan saran yang menunjukkan bagaimana anda bisa melakukan pengerasan sistem sendiri. Dengan demikian, akan sangat membantu jika anda memiliki pengetahuan dasar tentang keamanan sistem Linux. Anda juga harus terbiasa dengan layanan yang berjalan pada mesin yang akan anda audit, seperti server web, database, dan layanan lain yang mungkin dipindai oleh Lynis secara default. Ini akan membantu anda mengidentifikasi hasil yang dapat anda abaikan dengan aman.

Catatan: Melakukan audit keamanan membutuhkan waktu dan kesabaran. Anda mungkin ingin meluangkan waktu untuk membaca keseluruhan artikel sekali sebelum menginstal Lynis dan menggunakannya untuk mengaudit server Anda.

Prasyarat

Untuk bisa menjalankan artikel ini, Anda memerlukan:

  • Sebuah Ubuntu Server 20.04
  • user dengan kemampuan sudo
  • firewall

Step 1 — Instal Lynis di Server

Ada beberapa cara untuk menginstal Lynis. Anda dapat mengkompilasi dari sumber, mendownload dan menyalin biner ke lokasi yang sesuai pada sistem, atau Anda dapat menginstalnya menggunakan manajer paket. Menggunakan manajer paket adalah cara mudah untuk menginstal Lynis dan memperbaruinya, jadi itulah metode yang akan kita gunakan.

Install dengan cara

sudo su
apt update
apt-get install lynis


Cek versi lynis terbaru

apt-cache policy lynis
lynis:
  Installed: (none)
  Candidate: 2.6.2-1
  Version table:
     2.6.2-1 500
        500 http://id.archive.ubuntu.com/ubuntu focal/universe amd64 Packages

Namun, di Ubuntu 20.04, versi yang tersedia dari repositori bukanlah versi terbaru (seperti tampak di atas). Agar memiliki akses ke fitur terbaru, kami akan menginstal Lynis dari repository proyek.

Update repo supaya bisa install lynis terbaru

wget -O - https://packages.cisofy.com/keys/cisofy-software-public.key | sudo apt-key add -
echo "deb https://packages.cisofy.com/community/lynis/deb/ stable main" | sudo tee /etc/apt/sources.list.d/cisofy-lynis.list
echo 'Acquire::Languages "none";' | sudo tee /etc/apt/apt.conf.d/99disable-translations

Di save, lakukan update

apt update

Repositori perangkat lunak Lynis menggunakan protokol HTTPS, jadi kami harus memastikan bahwa dukungan HTTPS untuk pengelola paket telah terinstal. Gunakan perintah berikut untuk memeriksa:

dpkg -s apt-transport-https | grep -i status

Jika di instalasi, keluarnya adalah

Status: install ok installed

Jika belum di install, install menggunakan,

sudo apt -y install apt-transport-https

Instal Lynis,

sudo apt update
sudo apt -y install lynis

Step 2 – Lakukan Audit

Perintah yang bisa dilakukan Lynis,

lynis show commands

Output

Commands:
lynis audit
lynis configure
lynis generate
lynis show
lynis update
lynis upload-only

Lihat Lynis default profile,

lynis show settings

Output

# Colored screen output
colors=1

# Compressed uploads
compressed-uploads=0

# Use non-zero exit code if one or more warnings were found
error-on-warnings=0

...

# Upload server (ip or hostname)
upload-server=[not configured]

# Data upload after scanning
upload=no

# Verbose output
verbose=0

# Add --brief to hide descriptions, --configured-only to show configured items only, or --nocolors to remove colors

Cek versi / update info

lynis update info

Output

 == Lynis ==

  Version            : 3.0.3
  Status             : Up-to-date
  Release date       : 2021-01-07
  Project page       : https://cisofy.com/lynis/
  Source code        : https://github.com/CISOfy/lynis
  Latest package     : https://packages.cisofy.com/

2007-2021, CISOfy - https://cisofy.com/lynis/

Alternatif lain,

lynis update check

Output

status=up-to-date


Untuk menjalankan audit sistem anda, gunakan perintah lynis audit system. Anda dapat menjalankan Lynis dengan privilege dan non-privilege (pentest) mode. Dalam mode yang terakhir, beberapa tes yang memerlukan hak akses root dilewati. Untuk itu sebaiknya menjalankan lynis menggunakan sudo

sudo lynis audit system

untuk remote system

 sudo lynis audit system remote <host>

untuk docker bisa menggunakan

sudo lynis audit dockerfile <file>

Ketika Lynis melakukan audit, ia menjalani sejumlah tes, terbagi dalam beberapa kategori. Setelah setiap audit, hasil tes, informasi debug, dan saran untuk pengerasan sistem ditulis ke standar output (layar). Informasi lebih rinci dicatat ke /var/log/lynis.log, sementara data laporan disimpan ke /var/log/lynis-report.dat. Data laporan berisi informasi umum tentang server dan aplikasi itu sendiri, jadi file yang harus anda perhatikan adalah file log. File log dibersihkan (ditimpa) pada setiap audit, jadi hasil dari audit sebelumnya tidak disimpan.

Setelah audit selesai, Anda akan meninjau hasilnya, peringatan, dan saran, dan kemudian menerapkan saran yang relevan.

Mari kita lihat hasil audit Lynis yang dilakukan pada mesin yang digunakan untuk menulis tutorial ini. Hasil yang anda lihat di audit anda mungkin berbeda, namun anda tetap bisa mengikuti.


Bagian penting pertama dari hasil audit Lynis adalah murni informasi. Ini memberitahu anda hasil dari setiap tes, dikelompokkan berdasarkan kategori. Informasi itu berupa kata kunci, seperti NONE, WEAK, DONE, FOUND, NOT_FOUND, OK, dan WARNING.

Output

[+] Boot and services
------------------------------------
 - Service Manager                                           [ systemd ]
 - Checking UEFI boot                                        [ DISABLED ]
 - Checking presence GRUB                                    [ OK ]
 - Checking presence GRUB2                                   [ FOUND ]
   - Checking for password protection                        [ WARNING ]

..

[+] File systems
------------------------------------
 - Checking mount points
    - Checking /home mount point                              [ SUGGESTION ]
    - Checking /tmp mount point                               [ SUGGESTION ]
    - Checking /var mount point                               [ OK ]
 - Query swap partitions (fstab)                             [ NONE ]
 - Testing swap partitions                                   [ OK ]
 - Testing /proc mount (hidepid)                             [ SUGGESTION ]
 - Checking for old files in /tmp                            [ OK ]
 - Checking /tmp sticky bit                                  [ OK ]
 - ACL support root file system                              [ ENABLED ]
 - Mount options of /                                        [ OK ]
 - Checking Locate database                                  [ FOUND ]
 - Disable kernel support of some filesystems
    - Discovered kernel modules: udf

...

[+] Hardening
------------------------------------
 - Installed compiler(s)                                   [ FOUND ]
 - Installed malware scanner                               [ NOT FOUND ]
 - Installed malware scanner                               [ NOT FOUND ]

...

[+] Printers and Spools
------------------------------------
 - Checking cups daemon                                      [ NOT FOUND ]
 - Checking lp daemon                                        [ NOT RUNNING ]

Meskipun Lynis melakukan lebih dari 200 tes di luar kotak, tidak semua diperlukan untuk server Anda. Bagaimana Anda bisa tahu tes mana yang perlu dan mana yang tidak? Di situlah beberapa pengetahuan tentang apa yang seharusnya atau tidak boleh dijalankan di server ikut bermain. Misalnya, jika anda memeriksa bagian hasil audit Lynis, anda akan menemukan dua tes di bawah kategori Printers and Spools:

Output

[+] Printers and Spools
------------------------------------
 - Checking cups daemon                                      [ NOT FOUND ]
 - Checking lp daemon                                        [ NOT RUNNING ]

Apakah anda benar-benar menjalankan server printer di server Ubuntu 16.04? Kecuali anda menjalankan server cetak berbasis cloud, anda tidak perlu Lynis menjalankan tes itu setiap saat.

Sementara itu adalah contoh yang langsung terlihat dari tes yang bisa anda lewatkan, yang lain tidak begitu jelas. Ambil bagian hasil parsial ini, misalnya:

Output

[+] Insecure services
------------------------------------
  - Checking inetd status                                     [ NOT ACTIVE ]

Output ini mengatakan bahwa inetd tidak aktif, tapi itu diharapkan pada server Ubuntu 16.04, karena Ubuntu mengganti inetd dengan systemd. Mengetahui hal itu, anda dapat memberi tag pada tes itu sebagai salah satu yang tidak boleh dilakukan Lynis sebagai bagian dari audit di server anda.

Step 3 – Memperbaiki Lynis Audit Warning

Hasil audit Lynis tidak selalu membawa bagian warning, namun bila memang demikian, Anda akan tahu cara memperbaiki masalah yang diangkat setelah membaca bagian ini.

Peringatan dicantumkan setelah bagian hasil. Setiap peringatan dimulai dengan teks peringatan itu sendiri, dengan tes yang menghasilkan peringatan pada baris yang sama dalam tanda kurung. Baris berikutnya akan berisi solusi yang disarankan, jika ada. Baris terakhir adalah URL kontrol keamanan di mana Anda mungkin menemukan beberapa petunjuk tentang peringatan tersebut. Sayangnya, URL tidak selalu menawarkan penjelasan, jadi Anda mungkin perlu melakukan penelitian lebih lanjut.

Output

Warnings (3):
  ----------------------------
! Version of Lynis is very old and should be updated [LYNIS]
    https://cisofy.com/controls/LYNIS/

! Reboot of system is most likely needed [KRNL-5830]
    - Solution : reboot
      https://cisofy.com/controls/KRNL-5830/ 

! Found one or more vulnerable packages. [PKGS-7392]
      https://cisofy.com/controls/PKGS-7392/

Peringatan pertama mengatakan bahwa Lynis perlu diperbarui. Itu juga berarti audit ini menggunakan versi Lynis, sehingga hasilnya mungkin tidak lengkap. Ini bisa dihindari jika kami melakukan pemeriksaan versi dasar sebelum menjalankan hasilnya, seperti yang ditunjukkan pada Langkah 3. Perbaikan untuk yang satu ini mudah: update Lynis.

Peringatan kedua menunjukkan bahwa server perlu di-reboot. Itu mungkin karena pembaruan sistem yang melibatkan upgrade kernel dilakukan baru-baru ini. Solusinya disini adalah reboot sistem.

Bila ragu tentang peringatan apapun, atau hampir semua hasil tes, anda bisa mendapatkan lebih banyak informasi tentang tes tersebut dengan mengajukan pertanyaan kepada Lynis untuk test-id. Perintah untuk mencapainya yang mengambil formulir ini:

sudo lynis show details test-id

Jadi untuk peringatan kedua, yang memiliki test id KRNL-5830, kita bisa menjalankan perintah ini:

sudo lynis show details KRNL-5830

Output untuk tes tertentu berikut. Ini memberi anda gambaran tentang proses yang Lynis lakukan selama setiap tes yang dilakukannya. Dari keluaran ini, Lynis bahkan memberikan informasi spesifik tentang item yang menimbulkan peringatan:

Output

2017-03-21 01:50:03 Performing test ID KRNL-5830 (Checking if system is running on the latest installed kernel)
2017-03-21 01:50:04 Test: Checking presence /var/run/reboot-required.pkgs
2017-03-21 01:50:04 Result: file /var/run/reboot-required.pkgs exists
2017-03-21 01:50:04 Result: reboot is needed, related to 5 packages
2017-03-21 01:50:04 Package: 5
2017-03-21 01:50:04 Result: /boot exists, performing more tests from here
2017-03-21 01:50:04 Result: /boot/vmlinuz not on disk, trying to find /boot/vmlinuz*
2017-03-21 01:50:04 Result: using 4.4.0.64 as my kernel version (stripped)
2017-03-21 01:50:04 Result: found /boot/vmlinuz-4.4.0-64-generic
2017-03-21 01:50:04 Result: found /boot/vmlinuz-4.4.0-65-generic
2017-03-21 01:50:04 Result: found /boot/vmlinuz-4.4.0-66-generic
2017-03-21 01:50:04 Action: checking relevant kernels
2017-03-21 01:50:04 Output: 4.4.0.64 4.4.0.65 4.4.0.66
2017-03-21 01:50:04 Result: Found 4.4.0.64 (= our kernel)
2017-03-21 01:50:04 Result: found a kernel (4.4.0.65) later than running one (4.4.0.64)
2017-03-21 01:50:04 Result: Found 4.4.0.65
2017-03-21 01:50:04 Result: found a kernel (4.4.0.66) later than running one (4.4.0.64)
2017-03-21 01:50:04 Result: Found 4.4.0.66
2017-03-21 01:50:04 Warning: Reboot of system is most likely needed [test:KRNL-5830] [details:] [solution:text:reboot]
2017-03-21 01:50:04 Hardening: assigned partial number of hardening points (0 of 5). Currently having 7 points (out of 14)
2017-03-21 01:50:04 Checking permissions of /usr/share/lynis/include/tests_memory_processes
2017-03-21 01:50:04 File permissions are OK
2017-03-21 01:50:04 ===---------------------------------------------------------------===

Untuk peringatan ketiga, PKGS-7392, tentang vulnerable package, kami menjalankan perintah ini:

sudo lynis show details PKGS-7392

Output memberi kami lebih banyak informasi mengenai paket yang perlu diperbarui:

Output

2017-03-21 01:39:53 Performing test ID PKGS-7392 (Check for Debian/Ubuntu security updates)
2017-03-21 01:39:53 Action: updating repository with apt-get
2017-03-21 01:40:03 Result: apt-get finished
2017-03-21 01:40:03 Test: Checking if /usr/lib/update-notifier/apt-check exists
2017-03-21 01:40:03 Result: found /usr/lib/update-notifier/apt-check
2017-03-21 01:40:03 Test: checking if any of the updates contain security updates
2017-03-21 01:40:04 Result: found 7 security updates via apt-check
2017-03-21 01:40:04 Hardening: assigned partial number of hardening points (0 of 25). Currently having 96 points (out of 149)
2017-03-21 01:40:05 Result: found vulnerable package(s) via apt-get (-security channel)
2017-03-21 01:40:05 Found vulnerable package: libc-bin
2017-03-21 01:40:05 Found vulnerable package: libc-dev-bin
2017-03-21 01:40:05 Found vulnerable package: libc6
2017-03-21 01:40:05 Found vulnerable package: libc6-dev
2017-03-21 01:40:05 Found vulnerable package: libfreetype6
2017-03-21 01:40:05 Found vulnerable package: locales
2017-03-21 01:40:05 Found vulnerable package: multiarch-support
2017-03-21 01:40:05 Warning: Found one or more vulnerable packages. [test:PKGS-7392] [details:-] [solution:-]
2017-03-21 01:40:05 Suggestion: Update your system with apt-get update, apt-get upgrade, apt-get dist-upgrade and/or unattended- upgrades [test:PKGS-7392] [details:-] [solution:-]
2017-03-21 01:40:05 ===---------------------------------------------------------------===

Solusi untuk ini adalah mengupdate database paket dan mengupdate sistem.

Setelah memperbaiki item yang menyebabkan peringatan, anda harus menjalankan audit lagi. Audit selanjutnya harus bebas dari peringatan yang sama, walaupun peringatan baru bisa muncul. Dalam hal ini, ulangi proses yang ditunjukkan pada langkah ini dan perbaiki peringatannya.

Sekarang setelah anda tahu cara membaca dan memperbaiki peringatan yang dihasilkan oleh Lynis, mari kita lihat bagaimana menerapkan saran yang ditawarkan Lynis.

Step 4 — Implementasi Saran Audit Lynis

Setelah bagian peringatan, anda akan melihat serangkaian saran yang, jika diterapkan, dapat membuat server anda kurang rentan terhadap serangan dan malware. Pada langkah ini, anda akan belajar bagaimana menerapkan beberapa saran yang dihasilkan oleh Lynis setelah melakukan audit terhadap server Ubuntu 20.04. Proses untuk melakukan ini identik dengan langkah-langkah di bagian sebelumnya.

Saran spesifik dimulai dengan saran itu sendiri, diikuti oleh test-ID. Kemudian, tergantung pada pengujian, baris berikutnya akan memberi tahu anda persis perubahan apa yang harus dilakukan pada file konfigurasi layanan yang terpengaruh. Baris terakhir adalah URL kontrol keamanan di mana Anda dapat menemukan lebih banyak informasi tentang subjek.

Di sini, misalnya, adalah bagian saran parsial dari audit Lynis, yang menunjukkan saran yang berkaitan dengan layanan SSH:

Output

Suggestions (36):
  ----------------------------
  * Consider hardening SSH configuration [SSH-7408]
    - Details  : ClientAliveCountMax (3 --> 2)
      https://cisofy.com/controls/SSH-7408/ 

  * Consider hardening SSH configuration [SSH-7408]
    - Details  : PermitRootLogin (YES --> NO)
      https://cisofy.com/controls/SSH-7408/  

  * Consider hardening SSH configuration [SSH-7408]
    - Details  : Port (22 --> )
      https://cisofy.com/controls/SSH-7408/

  * Consider hardening SSH configuration [SSH-7408]
    - Details  : TCPKeepAlive (YES --> NO)
      https://cisofy.com/controls/SSH-7408/

  * Consider hardening SSH configuration [SSH-7408]
    - Details  : UsePrivilegeSeparation (YES --> SANDBOX)
      https://cisofy.com/controls/SSH-7408/
...

Bergantung pada lingkungan anda, semua saran ini aman untuk diterapkan. Untuk membuat itu, bagaimanapun, anda harus tahu apa arti tiap petunjuk. Karena ini berhubungan dengan server SSH, semua perubahan harus dilakukan pada file konfigurasi daemon SSH, / etc / ssh / sshd_config. Jika Anda ragu tentang saran tentang SSH yang diberikan oleh Lynis, cari arahan dengan sshd_config. Informasi itu juga tersedia secara online. One of the suggestions calls for changing the default SSH port from 22. If you make that change, and you have the firewall configured, be sure to insert a rule for SSH access through that new port.

Seperti bagian peringatan, anda bisa mendapatkan informasi lebih rinci tentang sebuah saran dengan menanyakan Lynis untuk test id menggunakan sudo lynis menunjukkan rincian test-id. Saran lain mengharuskan anda untuk menginstal perangkat lunak tambahan di server anda. Sebagai contoh, misalnya:

Output

* Harden the system by installing at least one malware scanner, to perform periodic file system scans [HRDN-7230]
    - Solution : Install a tool like rkhunter, chkrootkit, OSSEC
      https://cisofy.com/controls/HRDN-7230/

Sarannya adalah untuk menginstal rkhunter, chkrootkit, atau OSSEC untuk memenuhi tes pengerasan (HRDN-7230). OSSEC adalah sistem deteksi intrusi berbasis host yang dapat menghasilkan dan mengirim peringatan. Ini adalah aplikasi keamanan yang sangat bagus yang akan membantu beberapa tes yang dilakukan oleh Lynis. Anda dapat mempelajari lebih lanjut tentang alat ini dalam tutorial DigitalOcean ini. Namun, pemasangan OSSEC saja tidak menyebabkan tes khusus ini berlalu. Instalasi chkrootkit akhirnya berhasil lolos. Ini adalah kasus lain di mana Anda kadang-kadang harus melakukan penelitian tambahan melebihi apa yang Lynis sarankan.

Mari kita lihat contoh lain. Berikut saran yang ditampilkan sebagai hasil uji integritas file.

Output

* Install a file integrity tool to monitor changes to critical and sensitive files [FINT-4350]
      https://cisofy.com/controls/FINT-4350/

Saran yang diberikan dalam URL kontrol keamanan tidak menyebutkan program OSSEC yang disebutkan dalam saran sebelumnya, namun menginstalnya sudah cukup untuk lulus uji pada audit berikutnya. Itu karena OSSEC adalah alat pemantauan integritas file yang cukup bagus.

Anda dapat mengabaikan beberapa saran yang tidak berlaku untuk anda. Inilah contohnya:

Output

* To decrease the impact of a full /home file system, place /home on a separated partition [FILE-6310]
      https://cisofy.com/controls/FILE-6310/

  * To decrease the impact of a full /tmp file system, place /tmp on a separated partition [FILE-6310]
      https://cisofy.com/controls/FILE-6310/

Secara historis, sistem file inti Linux seperti / home, / tmp, / var, dan / usr dipasang pada partisi terpisah untuk meminimalkan dampak pada keseluruhan server saat mereka kehabisan ruang disk. Ini bukan sesuatu yang sering anda lihat, terutama di server cloud. Sistem file ini sekarang hanya dipasang sebagai direktori pada partisi root yang sama. Tetapi jika Anda melakukan audit Lynis pada sistem semacam itu, Anda akan mendapatkan beberapa saran seperti yang ditunjukkan pada keluaran sebelumnya. Kecuali Anda berada dalam posisi untuk menerapkan saran tersebut, Anda mungkin ingin mengabaikannya dan mengonfigurasi Lynis sehingga tes yang menyebabkannya dihasilkan tidak dilakukan pada audit masa depan.

Melakukan audit keamanan menggunakan Lynis melibatkan lebih dari sekadar memperbaiki peringatan dan menerapkan saran; Ini juga melibatkan identifikasi tes yang berlebihan. Pada langkah selanjutnya, anda akan mempelajari cara menyesuaikan profil default untuk mengabaikan tes semacam itu.

Step 5 – Customisasi Audit Security Lynis

Pada bagian ini, anda akan belajar mengkustomisasi Lynis sehingga hanya menjalankan tes yang diperlukan untuk server anda. Profil, yang mengatur bagaimana pelaksanaan audit, didefinisikan dalam file dengan ekstensi .prf di direktori /etc/lynis. Profil defaultnya dinamai default.prf. Anda tidak mengedit profil default itu secara langsung. Sebagai gantinya, anda menambahkan perubahan apa pun yang Anda inginkan ke file custom.prf di direktori yang sama dengan definisi profil.

Buat file baru bernama /etc/lynis/custom.prf menggunakan editor teks anda:

   sudo nano /etc/lynis/custom.prf

Mari kita gunakan file ini untuk memberi tahu Lynis untuk melewatkan beberapa tes. Berikut adalah tes yang ingin kami lewati:

   FILE-6310: Used to check for separation of partitions.
   HTTP-6622: Used to test for Nginx web server installation.
   HTTP-6702: Used to check for Apache web server installation. This test and the Nginx test above are performed by default. So if you have Nginx installed and not Apache, you'll want to skip the Apache test.
   PRNT-2307 and PRNT-2308: Used to check for a print server.
   TOOL-5002: Use to check for automation tools like Puppet and Salt. If you have no need for such tools on your server, it's OK to skip this test.
   SSH-7408:tcpkeepalive: Several Lynis tests can be grouped under a single test ID.

Jika ada tes di dalam id tes yang ingin anda lewati, inilah cara menentukannya. Untuk mengabaikan sebuah tes, Anda melewatkan petunjuk tes-skip tes ID yang ingin Anda abaikan, satu per baris. Tambahkan kode berikut ke file Anda:

/etc/lynis/custom.prf


# Lines starting with "#" are comments
# Skip a test (one per line)

# This will ignore separation of partitions test
skip-test=FILE-6310 

# Is Nginx installed?
skip-test=HTTP-6622

# Is Apache installed?
skip-test=HTTP-6702

# Skip checking print-related services
skip-test=PRNT-2307
skip-test=PRNT-2308

# If a test id includes more than one test use this form to ignore a particular test
skip-test=SSH-7408:tcpkeepalive

Save & close file.

Lain kali anda melakukan audit, Lynis akan melewatkan tes yang sesuai dengan ID tes yang anda konfigurasikan di profil khusus. Pengujian akan diabaikan dari bagian hasil audit, dan juga bagian sarannya.

File /etc/lynis/custom.prf juga memungkinkan Anda mengubah pengaturan dalam profil. Untuk melakukannya, salin setelan dari /etc/lynis/default.prf ke /etc/lynis/custom.prf dan modifikasi di sana. Anda jarang perlu mengubah pengaturan ini, jadi fokuskan usaha anda untuk menemukan tes yang bisa anda lewatkan.

Selanjutnya, mari kita lihat apa yang Lynis sebut sebagai indeks hardening.

Step 6 – Menterjemahkan Hardening Index

Di bagian bawah setiap hasil audit Lynis, tepat di bawah bagian saran, anda akan menemukan bagian yang terlihat seperti berikut:

Output

Lynis security scan details:

  Hardening index : 64 [############        ]
  Tests performed : 206
  Plugins enabled : 0

Output ini memberi tahu anda berapa banyak tes yang dilakukan, bersama dengan indeks pengerasan, angka yang diberikan Lynis untuk memberi anda rasa seberapa aman server anda. Nomor ini unik untuk Lynis. Indeks hardening akan berubah sehubungan dengan peringatan yang anda perbaiki dan saran yang anda terapkan. Output ini, yang menunjukkan bahwa sistem yang memiliki indeks hardening 64 adalah dari audit Lynis pertama di server 16.04 Ubuntu baru.

Setelah memperbaiki peringatan dan menerapkan sebagian besar saran, audit baru memberikan hasil sebagai berikut. Anda dapat melihat bahwa indeks hardening sedikit lebih tinggi:

Output

Lynis security scan details:

 Hardening index : 86 [#################   ]
 Tests performed : 205
 Plugins enabled : 0

Indeks hardening bukanlah penilaian yang akurat tentang seberapa aman sebuah server, namun hanya merupakan ukuran seberapa baik server dikonfigurasi dengan aman (atau dikeraskan) berdasarkan tes yang dilakukan oleh Lynis. Dan seperti yang telah anda lihat, semakin tinggi indeksnya, semakin baik. Tujuan audit keamanan Lynis tidak hanya untuk mendapatkan indeks pengerasan yang tinggi, namun juga untuk memperbaiki peringatan dan saran yang dihasilkannya.

Kesimpulan

Dalam tutorial ini, anda menginstal Lynis, menggunakannya untuk melakukan audit keamanan pada server Ubuntu 20.04, menyelidiki bagaimana memperbaiki peringatan dan saran yang dihasilkannya, dan bagaimana menyesuaikan tes yang dilakukan Lynis.

Butuh sedikit waktu dan usaha ekstra, tapi ada baiknya investasi membuat mesin anda lebih aman, dan Lynis membuat proses itu lebih mudah.

Untuk informasi lebih lanjut tentang Lynis, lihatlah Persiapan dengan Lynis dalam dokumentasi resmi. Lynis adalah proyek open-source, jadi jika anda tertarik untuk berkontribusi, kunjungi halaman Lynis di GitHub.

Referensi