Maksimalkan keamanan di GNU / Linux

Halo teman dari DesdeLinux, yang dijanjikan adalah hutang dan berikut postingan tentangnya bagaimana memaksimalkan perlindungan sistem Linux dan tetap seperti itu aman dari penyusup serta melindungi informasi di server, PC, atau laptop Anda !!!!

Comenzando

Gagal2ban: adalah aplikasi yang ditulis dengan Python untuk mencegah intrusi ke dalam sistem, yang bertindak dengan menghukum atau memblokir koneksi jarak jauh yang mencoba akses brute force.

instalasi:

Fedora, RHEL, CentOS:

yum install fail2ban

Debian, Ubuntu:

apt-get install fail2ban

Pengaturan:

cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local nano /etc/fail2ban/jail.local

Di bagian bernama [DEFAULT] kami menghapus komentar dan memodifikasi #bantime = 3600 membiarkannya seperti ini:

#bantime = 3600 bantime = 604800

Di bagian [sshd] kami perkenalkan enabled = true dengan membiarkannya seperti ini:

#enabled = true enabled = true

Kami menyimpan dengan CTRL + O dan menutup dengan CTRL + X

Kami memulai layanan:

Fedora, RHEL, CentOS:

systemctl mengaktifkan fail2ban.service systemctl mulai fail2ban.service

Debian, Ubuntu:

layanan fail2ban mulai

Tolak akses root menggunakan ssh:

Untuk melindungi mesin kita, kita akan menolak ssh melalui pengguna root. Untuk melakukan ini, kami mengedit file / etc / ssh / sshd_config sebagai berikut:

cp sshd_config sshd_config.bck nano / etc / ssh / sshd_config

Kami membatalkan komentar dan berubah

#Protocol 2 Protocol 2

Kami membatalkan komentar dan berubah

#PermitRootLogin ya PermitRootLogin no

Kami menyimpan dengan CTRL + O dan menutup dengan CTRL + X

Kami memulai layanan:

Fedora, RHEL, CentOS:

systemctl mengaktifkan sshd.service systemctl mulai sshd.service

Debian, Ubuntu:

layanan sshd mulai

Tolak akses ke server ssh menggunakan kata sandi dan izinkan ssh hanya dengan kunci RSA

Jika kita ingin terhubung dengan PC1 ke Server1, hal pertama yang harus kita lakukan adalah membuat kunci kita di PC1. Dengan pengguna kami dan tanpa root di PC1, kami menjalankan:

ssh-keygen -t rsa -b 8192 (ini menghasilkan lebih dari kunci aman karena kunci dari 1024 hingga 2048 biasanya digunakan)

Setelah kami memiliki kata sandi, kami mengunggahnya ke Server1:

ssh-copy-id pengguna @ server_ip

Setelah ini selesai, kami akan terhubung ke Server1 kami dan memodifikasi file nano / etc / ssh / sshd_config dengan izin root:

ssh pengguna @ Server1 nano / etc / ssh / sshd_config

Kami mengubah baris yang mengatakan #PasswordAuthentication ya menjadi ini:

#PasswordAuthentication ya
PasswordAuthentication no

Kami menyimpan dengan CTRL + O dan menutup dengan CTRL + X

Kami memulai ulang layanan ssh:

Fedora, RHEL, CentOS:

systemctl restart sshd.service

Debian, Ubuntu:

layanan sshd restart

Ubah port mendengarkan ssh

Sekali lagi kami mengedit / etc / ssh / sshd_config dan di bagian yang mengacu pada port kami biarkan seperti ini:

# Port 22 Port 2000 (atau nomor lain yang lebih besar dari 2000. Dalam contoh kita, kita akan menggunakan ini.)

Kami menyimpan dengan CTRL + O dan menutup dengan CTRL + X

Kami memulai ulang layanan ssh:

Fedora, RHEL, CentOS:

systemctl restart sshd.service

Debian, Ubuntu:

layanan sshd restart

Jika mereka menggunakan fail2ban, perlu mengubah konfigurasi terkait sshd menyesuaikan port.

nano /etc/fail2ban/jail.local

[sshd]
port    = ssh, 2000

[sshd-ddos]
port    = ssh, 2000

[dropbear]
port    = ssh, 2000

[selinux-ssh]
port    = ssh, 2000

Kami menyimpan dengan CTRL + O dan menutup dengan CTRL + X

Kami memperbarui layanan:

Fedora, RHEL, CentOS:

systemctl restart fail2ban.service

Debian, Ubuntu:

layanan fail2ban restart

firewall

Fedora, RHEL, CentOS:

Selinux dan Iptables diaktifkan secara default pada sistem ini dan saya sarankan Anda melanjutkan dengan cara ini. Bagaimana cara membuka port dengan iptables? Mari kita lihat bagaimana cara membuka port baru 2000 dari port ssh yang kita ubah sebelumnya:

Buka:

nano / etc / sysconfig / iptables

dan kami memodifikasi baris yang merujuk ke ssh port 22 default dan membiarkannya seperti ini:

# -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT -A INPUT -p tcp -m state --state NEW -m tcp --dport 2000 -j ACCEPT

Kami menyimpan dengan CTRL + O dan menutup dengan CTRL + X

Kami memulai kembali layanan:

systemctl restart iptables

Debian, Ubuntu:

Di Debian atau Ubuntu dan turunannya kami memiliki firewall UFW yang akan membuat hidup kami mudah karena mengelola Netfilter dengan sangat mudah.

instalasi:

apt-get install ufw ufw aktifkan

Untuk melihat status port terbuka yang kami jalankan:

status ufw

Untuk membuka port (dalam contoh kami, ini adalah port ssh 2000 baru):

ufw memungkinkan 2000

Untuk menolak port (dalam kasus kami ini akan menjadi port default 22 ssh):

ufw deny 22 ufw delete deny 22

Dan teman siap. Dengan cara ini mereka akan menjaga mesin Anda tetap aman. Jangan lupa untuk berkomentar dan sampai lain kali: D.


tinggalkan Komentar Anda

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai dengan *

*

*

  1. Penanggung jawab data: Miguel Ángel Gatón
  2. Tujuan data: Mengontrol SPAM, manajemen komentar.
  3. Legitimasi: Persetujuan Anda
  4. Komunikasi data: Data tidak akan dikomunikasikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Basis data dihosting oleh Occentus Networks (UE)
  6. Hak: Anda dapat membatasi, memulihkan, dan menghapus informasi Anda kapan saja.

  1.   orang berdosa dijo

    dan sistem enkripsi seperti: https://www.dyne.org/software/tomb/

    1.    orang berdosa dijo

      Dan juga pengguna kandang di rumah Anda jika mereka terhubung dengan tty:
      http://olivier.sessink.nl/jailkit/index.html#intro
      https://operativoslinux.wordpress.com/2015/02/21/enjaular-usuarios-en-linux/ (cara mudah)

    2.    yukiteru dijo

      Jauh lebih baik dan lebih aman untuk mengenkripsi seluruh sistem file.

    3.    petercheco.dll dijo

      Untuk tutorial berikut tentang keamanan di Linux saya akan mempertimbangkannya: D.

      1.    yukiteru dijo

        Sebaiknya juga membicarakan tentang hardening kernel dengan sysctl, mengaktifkan heap acak dan Exec-Shield di kernel yang mendukungnya, mengaktifkan akses ke dmesg dan sistem file / proc, menjalankan daemon audit, mengaktifkan perlindungan TCP SYN , batasi akses ke / dev / mem, nonaktifkan opsi stack TCP / IP yang dapat membahayakan atau tidak aman sistem (redirect, echo, source routing), gunakan pam_cracklib agar pengguna dapat menghasilkan kata sandi yang kuat, pentingnya penggunaan sistem MAC seperti Tomoyo , AppArmor dan SELinux.

  2.   Kuku dijo

    sangat berguna!!!! hanya apa yang saya cari terima kasih 🙂

    1.    petercheco.dll dijo

      Terima kasih kembali, teman :).

  3.   bidadari dijo

    Jika Anda menggunakan apache, tidak ada salahnya menambahkan aturan dengan mod_rewrite untuk menghindari bot. Sangat berguna

    http://perishablepress.com/eight-ways-to-blacklist-with-apaches-mod_rewrite/

    1.    Rolo dijo

      dan untuk nginx apakah ada trik atau konfigurasi?

  4.   Rolo dijo

    Di debian 8 file / etc / ssh / sshd_config sudah memiliki Protokol 2 yang aktif dan fungsi PermitRootLogin dengan opsi tanpa kata sandi (Anda hanya dapat memasukkan root dengan kunci otentikasi dan dari komputer yang memiliki kunci privat)

    pd di debian 8 firewalld telah tiba yang membuatnya kecil untuk ufw

    1.    pemburu dijo

      Pernahkah Anda melihat ferm? Saya suka bagaimana aturan didefinisikan.

      http://ferm.foo-projects.org/download/examples/webserver.ferm

    2.    petercheco.dll dijo

      Yah, saya senang Debian 8 menggunakan firewalld karena itu sangat sangat bagus ...

  5.   pemburu dijo

    Waspadai fail2ban bahwa penyerang membuat paket dengan ip pc lokal dan membuat DOS menjadi sangat mudah.

    1.    Hery dijo

      Man, IP PC lokal dan IP loopback dikecualikan dari daftar Fail2ban.
      Jika tidak, kita bisa mendapatkan hasil positif palsu.

  6.   Jason soto dijo

    Rekomendasi yang bagus dan sangat efektif… Tentu saja, dalam lingkungan server dan jika kita meng-hosting sebuah situs web, ini melibatkan langkah-langkah tambahan…. Saat ini kami memelihara sebuah proyek bernama JackTheStripper yang tidak lebih dari sebuah bash Script yang mempersiapkan dan mengamankan server dengan GNU / Linux mengikuti praktik keamanan terbaik, untuk aplikasi web ... Anda dapat mengetahui proyek tersebut di http://www.jsitech.com/jackthestripper ....

    1.    yukiteru dijo

      Skrip yang bagus meskipun saya suka menjaga nilai kernel.randomize_va_space = 2

      1.    Jason soto dijo

        Hal baiknya adalah sebelum menjalankannya, Anda dapat memodifikasinya sedikit sesuai kebutuhan Anda ..... Halo ...

    2.    petercheco.dll dijo

      Halo, tentu saja posting saya berhubungan dengan asuransi dasar dan masing-masing harus dilindungi lebih atau kurang tergantung pada layanan yang telah mereka instal di sistem mereka seperti LAMP atau FTP, SFTP, BIND, dan sebagainya :) ...

      Di posting berikutnya tentang keamanan saya akan membahas masalah ini.

      Terima kasih atas umpan balik positifnya :).

  7.   nex dijo

    @petercheco, panduan Anda luar biasa, ini akan menjadi panduan enkripsi yang bagus untuk sistem FreeeBSD, saya tidak tahu kapan Anda akan melakukan bagian kedua tentang FreeBSD, tentang konfigurasi dan kustomisasi desktop, tentang Firewall, tentang pembuatan dan mengkonfigurasi jaringan nirkabel.

    1.    petercheco.dll dijo

      Hai teman,
      Saya agak sibuk karena posting yang jarang muncul, tetapi saya akan mengingatnya untuk posting FreeBSD berikutnya.

      Salam :).

  8.   Prajurit Pelangi Solrak dijo

    Itu diratakan di komentar, saya tidak tahu apa yang Anda bicarakan, tidak ada xD
    Artikel bagus!

  9.   xunil dijo

    Tindakan keamanan ini berarti membatasi peralatan dengan cara apa pun?

    1.    petercheco.dll dijo

      Tidak ... Penggunaan normal sistem tidak dibatasi sama sekali.

  10.   orang berdosa dijo

    Dan yang lucu (tragis) adalah, seperti yang baru saja kita lihat dengan mesin Lenovo, jika firmware bios dirusak dengan malware, tidak ada yang penting bagi Anda.

    1.    petercheco.dll dijo

      Selama Anda menggunakan Windows yang telah diinstal sebelumnya oleh pabrikan ...

      1.    orang berdosa dijo

        kesalahan: ingat bahwa mereka menginstalnya di firmware bios, yaitu, itu dimulai dengan sistem di setiap restart, sebelum sistem operasi, sebelum setan, pertama-tama, dan itu tidak membiarkan Anda melakukan apa pun terhadap mereka. bisa terlaksana, itulah mengapa ide uefi pada prinsipnya bagus.

  11.   Pablo dijo

    Artikel yang menarik, sore ini akan saya baca lebih teliti. Terima kasih.

    1.    petercheco.dll dijo

      Sama-sama :). Saya senang.

  12.   Carlos Terbaik dijo

    Artikel yang sangat bagus, saya menghibur diri sepanjang sore dengan membacanya. Kami menghargai waktu yang Anda gunakan untuk menjelaskan semuanya dengan sangat hati-hati,

    Salam dari Cile
    Carlos

    1.    petercheco.dll dijo

      Halo Carlos,
      Terima kasih banyak :).

  13.   brion dijo

    Mesin Lenovo, jika firmware bios tampaknya diintervensi dengan malware, mesin (Laptop PC-Desktop Computer) selalu diinstal dengan Windows oleh pabrikan, mengingat hal di atas… apakah posting… .petercheco?

    1.    yukiteru dijo

      Bahkan tanpa melakukan semua ini, ia berhasil, karena malware dibuat untuk Windows, bukan Linux.

  14.   SynFlag dijo

    Banyak hal dan trik yang hilang dari iptables, seperti nmap pusing sehingga dari semua port yang terbuka, bohong itu pc windows yang menggunakan ttl dan ukuran jendela, scanlogd, apache mod security, grsec, selinux atau semacamnya. Ganti ftp dengan sftp, batasi jumlah koneksi per IP ke setiap layanan di port X untuk menghindari bahwa sebelum DDoS mereka meninggalkan kita tanpa layanan, serta memblokir IP yang mengirim lebih dari begitu banyak UDP selama beberapa detik.

    1.    petercheco.dll dijo

      Dengan contoh yang Anda berikan, pengguna baru akan gila membacanya ... Anda tidak dapat meletakkan semuanya dalam satu posting. Saya akan membuat beberapa entri :).

  15.   shini kire dijo

    Saya mendapatkan kesalahan di archlinux saat ini ketika memberikan layanan awal, saya memberikan statusnya dan ini keluar:
    sudo systemctl status fail2ban
    ● fail2ban.service - Layanan Fail2Ban
    Dimuat: dimuat (/usr/lib/systemd/system/fail2ban.service; diaktifkan; preset vendor: dinonaktifkan)
    Aktif: gagal (Hasil: batas awal) sejak Jum 2015-03-20 01:10:01 CLST; 1 detik yang lalu
    Dokumen: man: fail2ban (1)
    Proses: 1695 ExecStart = / usr / bin / fail2ban-client -x start (kode = keluar, status = 255)

    20 Mar 01:10:01 Gundam systemd [1]: Gagal memulai Layanan Fail2Ban.
    20 Mar 01:10:01 Gundam systemd [1]: Unit fail2ban.service memasuki status gagal.
    20 Mar 01:10:01 Gundam systemd [1]: fail2ban.service gagal.
    Mar 20 01:10:01 Gundam systemd [1]: permintaan start diulang terlalu cepat untuk fail2ban… ice
    20 Mar 01:10:01 Gundam systemd [1]: Gagal memulai Layanan Fail2Ban.
    20 Mar 01:10:01 Gundam systemd [1]: Unit fail2ban.service memasuki status gagal.
    20 Mar 01:10:01 Gundam systemd [1]: fail2ban.service gagal.
    Petunjuk: Beberapa baris di ellipsized, gunakan -l untuk tampil penuh.
    beberapa bantuan? D:

    1.    petercheco.dll dijo

      Hai, jika Anda mengaktifkan fail2ban dengan systemctl mengaktifkan fail2ban.service dan systemctl memulai fail2ban.service, masalahnya ada di konfigurasi penjara yang Anda buat. Silakan periksa penjara Anda dan verifikasi bahwa semuanya baik-baik saja.

      Sebuah ucapan
      PeterCeko

      1.    maykel franco dijo

        Pertama-tama tutorial yang bagus. Banyak hal yang hilang tetapi Anda berfokus pada hal-hal dasar.

        shini-kire, periksa /var/log/fail2ban.log Anda

        Salam.

      2.    petercheco.dll dijo

        Terima kasih @Maykel Franco :).

  16.   jony127 dijo

    baik,

    fail2ban haruskah mereka menginstalnya di pc rumahan atau lebih untuk server ???

    Terima kasih.

    1.    petercheco.dll dijo

      Alih-alih untuk server tetapi jika Anda menggunakan wifi yang dapat diakses oleh lebih banyak orang daripada Anda, itu bagus ...

  17.   Rodrigo dijo

    Halo teman, saya pikir ini adalah pos keamanan yang bagus di bagian api pendek di distro Gnu / Linux. Saya menulis komentar ini karena saya melakukannya di distribusi Ubuntu 14.04 mengetahui bahwa itu sudah di 15.04, apa yang terjadi adalah masalah berikut saya memasukkan nano /etc/fail2ban/jail.local sebagai root dan saya tidak memiliki visualisasi di bagian sshd dan menyimpan Di bagian yang disebut [DEFAULT] kami menghapus komentar dan memodifikasi #bantime = 3600 dan
    Di bagian [sshd] kami perkenalkan enabled = true dengan membiarkannya seperti ini:
    #diaktifkan = benar
    diaktifkan = benar
    Tampaknya sshd itu tidak mungkin karena saya bekerja pada versi sebelumnya, terima kasih