Bagaimana saya bisa memalsukan port 22 ketika saya membuat sshd mendengarkan port lain?

9

Alih-alih membuat peretas yang mungkin dari port memindai server saya, saya hanya ingin berpura-pura bahwa sshd mendengarkan pada port 22 dan mencatat upaya-upaya tersebut. Apakah masuk akal melakukan itu? Jika ya, alat / perpustakaan apa yang dikembangkan secara aktif tersedia.

Jürgen Paul
sumber
1
Tetapi Anda sebaiknya ingat bahwa menginstal perangkat lunak tambahan akan meningkatkan risiko penetrasi. Mungkin benar bahwa OpenSSH akan lebih kuat untuk didobrak daripada apa pun yang "palsu" seperti honeypot, misalnya. Jadi itu berarti Anda harus mengeraskan instal dengan cara.
poige

Jawaban:

9

Anda juga dapat dengan mudah mencatat semua upaya untuk terhubung ke port 22 dengan iptables, bahkan jika tidak ada yang mendengarkan pada port itu:

$ sudo iptables -A INPUT -p tcp  --dport 2222 -j LOG
$ nc localhost 2222
$ tail -n1 /var/log/syslog
Oct 26 13:35:07 localhost kernel: [325488.300080] IN=lo OUT= MAC=00:00:00:00:00:00:00:00:00:00:00:00:08:00 SRC=127.0.0.1 DST=127.0.0.1 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=56580 DF PROTO=TCP SPT=35625 DPT=2222 WINDOW=43690 RES=0x00 SYN URGP=0 
Dennis Kaarsemaker
sumber
4

Untuk menjawab pertanyaan "Apakah masuk akal melakukan itu?" Saya bertanya, "Apakah Anda seorang peneliti keamanan?" Jika Anda menjawab ya, menjalankan honeypot ssh akan masuk akal.

Jika Anda hanya menjalankan layanan produksi dan Anda tidak peduli tentang pemindaian yang gagal, jalankan sshd Anda pada port yang berbeda dengan mekanisme otentikasi tambahan (seperti kunci publik saja, atau memerlukan Yubikey atau perangkat serupa) dan lepas port 22 lalu lintas tanpa mencatatnya.

Ada cacing ssh brute force aktif memindai Internet yang akan menyelidiki port ssh Anda sepanjang hari, dan jika Anda tidak akan melihat data dari log firewall atau honeypots, semua yang Anda lakukan adalah membuang ruang disk.

Paul Gear
sumber
3
Pertanyaan bagi saya bukanlah "Bisakah saya melakukan ini?", Tetapi "Haruskah saya melakukan ini?". Saya melihat banyak sysadmin atau pengembang melakukan sesuatu karena mereka pikir mereka harus melakukannya, atau karena seseorang mengatakan kepada mereka bahwa mereka harus melakukannya atau karena "semua orang" melakukannya. Melakukan apa pun tanpa memiliki kebutuhan, tujuan, dan hasil yang jelas, merupakan pemborosan waktu, uang, dan energi.
joeqwerty