Port Knocking: Keselamatan terbaik yang dapat anda miliki di komputer atau pelayan anda (Penerapan + Konfigurasi)

Pelabuhan yang mencolok (dalam Bahasa Inggeris mengetuk pelabuhanadalah suatu amalan yang mesti kita ketahui dengan baik oleh kita semua yang menguruskan pelayan, di sini saya menerangkan secara terperinci apa ini dan bagaimana melaksanakan dan mengkonfigurasi ini 😉

Sekarang ini antara kita yang menguruskan pelayan mempunyai akses SSH ke pelayan itu, ada yang kita menukar port SSH lalai dan tidak lagi menggunakan port 22 dan yang lain membiarkannya seperti itu (sesuatu yang tidak digalakkan), namun pelayan telah membolehkan akses SSH melalui beberapa port dan ini sudah menjadi 'kerentanan'.

dengan Mengetuk Pelabuhan kita dapat mencapai perkara berikut:

1. Akses SSH tidak diaktifkan oleh mana-mana port. Sekiranya kita telah mengkonfigurasi SSH untuk port 9191 (contohnya) port tersebut (9191) akan ditutup untuk semua orang.
2. Sekiranya seseorang ingin mengakses pelayan dengan SSH, mereka jelas tidak akan dapat melakukannya, kerana port 9191 ditutup ... tetapi, jika kita menggunakan kombinasi 'ajaib' atau rahsia, port tersebut akan dibuka, misalnya:

1. Saya telnet ke port 7000 pelayan
2. Saya melakukan telnet lain ke port 8000 pelayan
3. Saya melakukan telnet lain ke port 9000 pelayan
4. Pelayan mengesan bahawa seseorang telah membuat kombinasi rahsia (port sentuh 7000, 8000 dan 9000 dalam urutan itu) dan akan membuka port 9191 sehingga log masuk diminta oleh SSH (ia akan membukanya hanya untuk IP dari mana gabungan itu dibuat nombor port memuaskan).
5. Sekarang untuk menutup SSH saya hanya telnet ke port 3500
6. Saya akan melakukan telnet lain ke port 4500
7. Dan akhirnya satu lagi telnet ke port 5500
8. Melakukan kombinasi rahsia lain yang dikesan oleh pelayan akan menutup port 9191 lagi.

Dengan kata lain, menjelaskan perkara ini dengan lebih sederhana ...

dengan Mengetuk Pelabuhan pelayan kami mungkin mempunyai port tertentu yang ditutup, tetapi apabila pelayan mengesannya X IP kombinasi port yang betul dibuat (konfigurasi yang sebelumnya ditentukan dalam fail konfigurasi) akan melaksanakan perintah tertentu dengan sendirinya (perintah juga ditakrifkan dalam fail config).

Adakah difahami tidak? 🙂

Bagaimana memasang daemon untuk Port Knocking?

Saya melakukannya dengan pakej kockd, yang akan memungkinkan kita untuk melaksanakan dan mengkonfigurasi dengan cara yang sangat, sangat mudah dan pantas Mengetuk Pelabuhan.

Pasang pakej: knockd

Bagaimana untuk mengkonfigurasi Port Knocking dengan knockd?

Setelah dipasang, kami terus mengkonfigurasinya, untuk ini kami menyunting fail (sebagai root) /etc/knockd.conf:

nano /etc/knockd.conf

Seperti yang anda lihat dalam fail itu sudah ada konfigurasi lalai:

 Menjelaskan tetapan lalai adalah sangat mudah.

- Pertama, UseSyslog bermaksud bahawa untuk merakam aktiviti (log) yang akan kita gunakan / var / log / syslog.
- Kedua, di bahagian [openSSH] di mana jelas arahan untuk membuka SSH akan pergi, pertama kita mempunyai urutan port (gabungan rahsia) yang dikonfigurasi secara lalai (port 7000, port 8000 dan akhirnya port 9000). Sudah tentu port boleh diubah (sebenarnya saya mengesyorkannya) dan juga tidak harus 3, mereka boleh menjadi lebih kurang, itu bergantung pada anda.
- Ketiga, seq_timeout = 5 bermaksud masa untuk menunggu kombinasi port rahsia berlaku. Secara lalai ia diatur 5 saat, ini bermaksud bahawa setelah kita mulai melakukan ketukan port (iaitu ketika kita telnet ke port 7000) kita mempunyai maksimum 5 saat untuk menyelesaikan urutan yang betul, jika 5 saat berlalu dan kita belum menyelesaikan mengetuk port maka ia akan seolah-olah urutannya tidak sah.
- Keempat, arahan ia tidak memerlukan banyak penjelasan. Ini hanya akan menjadi arahan yang akan dilaksanakan oleh pelayan ketika mengesan gabungan yang ditentukan di atas. Perintah yang ditetapkan secara lalai apa yang dilakukannya adalah port terbuka 22 (ubah port ini untuk port SSH anda) hanya ke IP yang membuat kombinasi port yang betul.
- Kelima, tcpflags = syn Dengan baris ini kami menentukan jenis paket yang akan dikenali oleh pelayan sebagai sah untuk port mengetuk.

Kemudian ada bahagian untuk menutup SSH, bahawa konfigurasi lalai tidak lebih daripada urutan port yang sama di atas tetapi dalam urutan yang bertentangan.

Berikut adalah konfigurasi dengan beberapa pengubahsuaian:

 Bagaimana memulakan daemon knockd?

Untuk memulakannya, kita mesti terlebih dahulu mengubah suai (sebagai root) fail / etc / lalai / knockd:

nano /etc/default/knockd

Di sana kami menukar nombor baris 12 yang mengatakan: «START_KNOCKD = 0»Dan ubah 0 hingga 1, kita akan mempunyai:«START_KNOCKD = 1«

Setelah ini selesai, kita mulakannya:

service knockd start

Dan voila, ia dikonfigurasi dan berfungsi.

Port Knocking dengan knockd up dan berjalan!

Seperti yang anda lihat dalam konfigurasi sebelumnya, jika ketukan port dilakukan ke port 1000, kemudian ke 2000 dan akhirnya ke 3000 maka port 2222 (SSH saya) akan dibuka, di sini komputer lain yang mengetuk port:

Setelah saya menekan [Enter] pada Knock No.1, pada No.2 dan akhirnya di No.3 port akan dibuka, berikut adalah log:

Seperti yang anda lihat, ketika mengetuk port 1000, tahap 1 didaftarkan, maka hingga 2000 akan menjadi tahap 2 dan akhirnya menjadi 3 dengan 3000, ketika melakukan ini perintah yang saya nyatakan di .conf dijalankan dan hanya itu .

Kemudian untuk menutup pelabuhan hanya dengan mengetuk 9000, 8000 dan akhirnya 7000, berikut adalah log:

Dan di sini penjelasan penggunaannya berakhir 😀

Seperti yang anda lihat, Port Knocking benar-benar menarik dan berguna, kerana walaupun kita tidak ingin hanya membuka port setelah kombinasi port tertentu, perintah atau perintah yang akan dilaksanakan pelayan mungkin berbeza, iaitu ... bukannya membuka port kita dapat nyatakan untuk membunuh proses, menghentikan perkhidmatan seperti apache atau mysql, dll ... hadnya adalah imaginasi anda.

Port Knocking hanya berfungsi apabila anda mempunyai pelayan fizikal atau ketika pelayan maya adalah teknologi KVM. Sekiranya VPS anda (pelayan maya) adalah OpenVZ maka Port Knocking saya rasa ia tidak berfungsi kerana anda tidak boleh memanipulasi iptables secara langsung

Sejauh ini, artikel ... Saya bukan pakar dalam hal ini tetapi saya ingin berkongsi dengan anda proses yang sangat menarik ini.

Salam 😀


Kandungan artikel mematuhi prinsip kami etika editorial. Untuk melaporkan ralat, klik di sini.

27 komen, tinggalkan komen anda

Tinggalkan komen anda

Alamat email anda tidak akan disiarkan.

*

*

  1. Bertanggungjawab atas data: Miguel Ángel Gatón
  2. Tujuan data: Mengendalikan SPAM, pengurusan komen.
  3. Perundangan: Persetujuan anda
  4. Komunikasi data: Data tidak akan disampaikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Pangkalan data yang dihoskan oleh Occentus Networks (EU)
  6. Hak: Pada bila-bila masa anda boleh menghadkan, memulihkan dan menghapus maklumat anda.

  1.   ErunamoJAZZ kata

    Artikel yang sangat baik, cukup menarik dan saya tidak tahu ia wujud ... akan lebih baik jika anda terus mengeluarkan artikel untuk pemula sysadmin dan itu 😀

    Salam dan terima kasih ^ _ ^

    1.    KZKG ^ Gaara kata

      Terima kasih atas komen.
      Ya ... adakah dengan artikel mengenai DNS FICO, saya tidak mahu ketinggalan LOL !!!

      Tiada apa yang serius. Beberapa bulan yang lalu saya mendengar sesuatu tentang Port Knocking dan ia langsung menarik perhatian saya, tetapi kerana saya fikir ia akan menjadi sangat kompleks pada masa itu, saya tidak memutuskan untuk masuk ke dalamnya, baru semalam saya mengulas beberapa pakej repo yang saya dapati knockd dan memutuskan untuk mencubanya, dan inilah tutorialnya.

      Saya selalu suka meletakkan artikel teknikal, beberapa mungkin tidak cukup menarik tetapi ... Saya harap yang lain 😉

      salam

    2.    Mario kata

      Helo, saya tahu bahawa artikel ini telah lama wujud tetapi saya melancarkan pertanyaan saya untuk melihat apakah seseorang dapat menyelesaikannya untuk saya.
      Hakikatnya adalah bahawa saya telah melaksanakan port knocking ke raspberry saya untuk berusaha meningkatkan keselamatan ketika saya menyambungkannya dari luar rangkaian tempatan. Untuk ini, saya terpaksa membuka rangkaian port pada penghala 7000-9990 yang menuju ke mesin. Adakah selamat untuk membuka port-port tersebut pada penghala atau, sebaliknya, ketika berusaha untuk mendapatkan lebih banyak keselamatan, adakah saya melakukan sebaliknya?

      Salam dan terima kasih.

  2.   eVER kata

    Hebat, saya sudah bertahun-tahun menjadi sysadmin dan tidak mengenalnya.
    Satu soalan ... bagaimana anda melakukan "ketukan"?
    Adakah anda telnet terhadap port tersebut? Apa jawapan telnet kepada anda? Atau adakah arahan gelombang "ketukan"?
    Hebatnya artikel. Spektakuler. Terima kasih banyak-banyak

    1.    KZKG ^ Gaara kata

      Saya melakukan ujian dengan telnet dan semuanya berfungsi dengan hebat ... tetapi, peliknya, ada arahan 'ketukan', lakukan lelaki mengetuk supaya anda dapat melihat 😉

      Telnet tidak benar-benar memberi respons kepada saya, iptables dengan dasar DROP menjadikannya tidak bertindak balas sama sekali dan telnet tetap di sana menunggu respons (yang tidak akan pernah tiba), tetapi daemon knockd akan mengenali ketukan walaupun tidak ada yang menjawab 😀

      Terima kasih banyak atas komen anda, dengan senang hati mengetahui bahawa artikel saya masih suka ^ _ ^

  3.   st0rmt4il kata

    Ditambah ke Kegemaran! : D!

    Terima kasih!

    1.    KZKG ^ Gaara kata

      Terima kasih 😀

  4.   penipu kata

    Ahh keamanan, perasaan yang menyenangkan ketika kita mengamankan komputer untuk memasang paip, dan kemudian beberapa hari / minggu kemudian cuba menyambung dari beberapa tempat terpencil yang tidak dapat kita akses kerana firewall dalam mod "tidak ada untuk siapa-siapa", ini disebut tinggal di luar istana dari segi sysadmins. 😉

    Itulah sebabnya siaran ini sangat berguna, dengan knockd yang dapat anda akses dari mana saja yang dapat mengirim paket ke rangkaian tempatan anda, dan penyerang kehilangan minat ketika mereka melihat bahawa port ssh ditutup, saya tidak fikir mereka akan mengetuk brute force untuk membuka port.

  5.   Manuel kata

    Hei, artikelnya bagus.

    Satu perkara: adakah ia berfungsi untuk berhubung dari luar rangkaian tempatan?

    Saya mengatakan ini kerana saya mempunyai penghala dengan port ditutup tolak yang sesuai dengan ssh yang diarahkan ke pelayan.

    Saya membayangkan bahawa untuk berfungsi dari luar rangkaian tempatan, perlu membuka port penghala yang sesuai dengan Port Knocking dan meminta mereka mengarahkannya ke pelayan juga.

    Mmm ...

    Saya tidak tahu betapa selamatnya melakukan ini.

    Apa pendapat kamu?

    1.    KZKG ^ Gaara kata

      Saya tidak begitu yakin, saya belum melakukan ujian tetapi saya rasa ya, anda harus membuka port pada penghala jika tidak, anda tidak boleh mengetuk pelayan.

      Lakukan ujian tanpa membuka port pada penghala, jika tidak berfungsi untuk anda, itu memalukan, kerana saya setuju dengan anda, tidak dianjurkan untuk membuka port ini pada penghala.

      1.    Manuel kata

        Sesungguhnya, kita mesti membuka port dan mengarahkannya ke komputer yang kita panggil.

        Sayang sekali.

  6.   Rabba08 kata

    Terima kasih banyak! Saya baru mula belajar kerjaya rangkaian dan tutorial ini sangat bagus untuk saya! terima kasih kerana meluangkan masa untuk berkongsi pengetahuan

    1.    KZKG ^ Gaara kata

      Saya telah belajar banyak perkara selama bertahun-tahun dengan komuniti Linux global ... selama beberapa tahun saya juga mahu menyumbang, itulah sebabnya mengapa saya menulis 😀

  7.   janus981 kata

    Terima kasih banyak, anda tidak tahu bagaimana ia membantu saya, saya akan menyediakan pelayan dan ini sangat bagus untuk saya.

    salam

    1.    KZKG ^ Gaara kata

      Itulah yang kami mahukan, untuk membantu 😉

  8.   Jean ventura kata

    Artikel yang sangat baik! Saya tidak mengetahui perkara ini dan ini sangat membantu saya (saya menggunakan RackSpace yang menggunakan KVM, jadi ia sesuai dengan saya seperti sarung tangan!). Ditambah ke kegemaran.

    1.    KZKG ^ Gaara kata

      Terima kasih kerana memberi komen 🙂

  9.   Algave kata

    Seperti biasa, Dari Linux memberikan kami catatan yang sangat baik dengan tutorial yang sangat berguna untuk dilaksanakan, terima kasih kerana berkongsi! 🙂

    1.    KZKG ^ Gaara kata

      Terima kasih atas komen anda 🙂
      Ya, kami selalu berusaha memuaskan kehausan pengetahuan yang dimiliki pembaca kami 😀

  10.   Timbleck kata

    Menariknya, saya tidak tahu pilihannya.
    Pergi ke perpustakaan memotong saya.
    Terima kasih!

    1.    KZKG ^ Gaara kata

      Keseronokan bagi saya 😀
      salam

  11.   Frederick. A. Valdés Toujague kata

    Salam KZKG ^ Gaara !!! Anda memerah. Artikel hebat untuk melindungi pelayan. Tiada @% * & ^ idea bahawa perkara seperti itu wujud. Saya akan cuba. Terima kasih

  12.   Kalung ^ putih kata

    Ini bagus…. ^ - ^

  13.   BelajarLinux kata

    Helo, bolehkah anda menerangkan cara memasangnya di CentOS 5.x?

    Saya telah memuat turun rpm:
    http://pkgs.repoforge.org/knock/knock-0.5-3.el5.rf.x86_64.rpm

    Dipasang:
    rpm -i knock-0.5-3.el5.rf.x86_64.rpm

    Konfigurasikan fail konfigurasi dengan masa 15 saat dan port yang saya gunakan untuk menyambung dengan ssh ke vps saya

    Iblis bermula:
    / usr / sbin / knockd &

    Saya telnet dan tidak ada port yang ditutup, secara lalai port terbuka, tetapi tidak ditutup.

    Adakah saya melakukan sesuatu yang salah?

  14.   hello kata

    Mmmm, permintaan telnet ke port ini dapat dipelajari oleh pentadbir rangkaian tempatan kami, atau oleh penyedia perkhidmatan kami, tidak? Ini akan menyekat orang luar tetapi bukan mereka, jadi jika mereka ingin mengaktifkan port kami, mereka dapat melakukannya kerana Mereka melihat permintaan yang kami buat, mmm katakan ia melindungi tetapi tidak 100%

    1.    Roberto kata

      Mungkin begitu, tetapi saya rasa mereka tidak akan membayangkan bahawa telnet tertentu melaksanakan tindakan X. Kecuali mereka melihat bahawa corak telnet yang sama diikuti.

  15.   Pablo Andres Diaz Aramburo kata

    Artikel menarik, saya ada soalan. Saya rasa terdapat ralat pada gambar fail konfigurasi, kerana jika anda menganalisis dengan baik, di kedua baris perintah anda menggunakan ACCEPT di Iptables. Saya rasa seseorang itu harus MENERIMA dan yang lain harus MENGHORMATI.

    Jika tidak, inisiatif yang sangat baik. Terima kasih banyak kerana meluangkan masa untuk menjelaskan pengetahuan anda kepada orang lain.

    salam