ssh port forward untuk mengakses mesin rumah saya dari mana saja

24

Saya datang dari pertanyaan ini: /superuser/359799/how-to-make-freebsd-box-accessible-from-internet

Saya ingin memahami seluruh proses ini port forwarding.

Saya membaca banyak hal, tetapi gagal memahami konsep dasar dari port forwarding itu sendiri.

Apa yang saya punya:

server freebsd duduk di rumah saya.
router netgear

Inilah yang ingin saya capai:

untuk dapat mengakses server freebsd dari mesin windows melalui internet untuk dapat membuka browser web dan mengakses internet.

Saya juga ingin mengakses kotak freebsd ini dari mesin ubuntu yang saya miliki.

Akan sangat bagus jika seseorang dapat membantu saya.

Berikut ini adalah pengaturan router netgear yang saya lakukan untuk penerusan porta.

penerusan port netgear

hari
sumber
Silakan bermigrasi jika ini superuserpertanyaan.
hari
Perlu sedikit klarifikasi. Jika mesin Windows ada di suatu tempat di Internet dan sudah memiliki akses ke internet, mengapa Anda ingin terhubung ke kotak FreeBSD di rumah untuk mengakses Internet?
OldTimer
@ OldTimer: Saya tidak yakin seberapa relevan pertanyaan / masalah Anda.
hari
Gunakan alamat ipv6, tidak ada NAT lagi, tidak ada kerepotan lagi ;-)
Stéphane Gimenez
1
Tunggu! apakah saya baru saja mengatakan bahwa : - /
Stéphane Gimenez

Jawaban:

47

Saya akan mulai dengan fakta-fakta mentah:

  1. Anda memiliki: A- kotak FreeBSD Anda, B- router Anda dan C- beberapa mesin dengan akses Internet. Begini tampilannya:

    .-----.      .-----.                        .-----.
    |  A  |  ==  |  B  |  - - ( Internet ) - -  |  C  |
    '-----'      '-----'                        '-----'
    \_________ ________/
              v
               `- this is your LAN
    

    Perhatikan bagaimana router Anda biasanya bekerja: itu memungkinkan koneksi dari mesin-mesin pada LAN Anda ke Internet (cukup berbicara). Jadi jika A(atau mesin lain di LAN) ingin mengakses Internet, itu akan diizinkan (sekali lagi, hanya berbicara tentang pemahaman dasar dan konfigurasi):

    .-----.      .-----.                        .-----.
    |  A  |  ==  |  B  |  - - ( Internet ) - -  |  C  |
    '-----'      '-----'                        '-----'
          `-->----'  `--->--->---^  
    

    Dan berikut ini tidak diizinkan secara default:

    .-----.      .-----.                        .-----.
    |  A  |  ==  |  B  |  - - ( Internet ) - -  |  C  |
    '-----'      '-----'                        '-----'
          `--<----'  `---<--- - - - - --<---<-----'
    

    (Yaitu, router melindungi mesin di LAN Anda agar tidak diakses dari Internet.) Perhatikan bahwa router adalah satu-satunya bagian dari LAN Anda yang terlihat dari Internet 1) .

  2. Port forwarding adalah apa yang memungkinkan skema ketiga terjadi. Ini terdiri dalam menceritakan router apa koneksi dari C2) harus pergi ke mana mesin pada LAN. Ini dilakukan berdasarkan nomor port - itulah mengapa disebut port forwarding . Anda mengonfigurasi itu dengan menginstruksikan router bahwa semua koneksi yang datang pada port tertentu dari Internet harus pergi ke mesin tertentu di LAN. Berikut adalah contoh untuk port 22 diteruskan ke mesin A:

    .------.     .-------.                        .-----.
    |  A   | ==  |   B   |  - - ( Internet ) - -  |  C  |
    |      |     |       |                        '-----'
    '-|22|-'     ',--|22|'                          |
        `--<-22---'    `---<---- - - - - - --<-22---'
    
  3. Koneksi semacam itu melalui Internet terjadi berdasarkan alamat IP. Jadi representasi yang sedikit lebih tepat dari contoh di atas adalah:

    .------.      .-------.                                .-----.
    |  A   |  ==  |   B   | - - - - - ( Internet ) - - - - |  C  |
    |      |      |       |                                '-----'
    '-|22|-'      ',--|22|'                                   |
        `--<-A:22--'    `--<-YourIP:22 - - - - --<-YourIP:22--'
    

    Jika Anda tidak memiliki koneksi Internet dengan IP statis , maka Anda harus mengetahui IP apa yang saat ini ditugaskan ke router Anda oleh ISP. Kalau tidak, Ctidak akan tahu IP apa yang harus terhubung untuk sampai ke router Anda (dan selanjutnya, ke A). Untuk mengatasinya dengan cara yang mudah, Anda dapat menggunakan layanan yang disebut DNS dinamis . Ini akan membuat router Anda secara berkala mengirim informasi ke server DNS khusus yang akan melacak IP Anda dan memberi Anda nama domain . Ada beberapa penyedia DNS dinamis gratis. Banyak router datang dengan opsi konfigurasi untuk dengan mudah menghubungi mereka.

1) Ini, sekali lagi, penyederhanaan - perangkat aktual yang dilihat ke Internet adalah modem - yang sering dapat diintegrasikan dengan router, tetapi mungkin juga kotak yang terpisah.
2) atau mesin lain dengan koneksi Internet.


Sekarang untuk apa yang Anda inginkan:

  1. Membolehkan akses ssh ke mesin Anda dari Internet adalah ide yang buruk. Ada ribuan bot yang dibuat oleh cracker yang mencari di Internet untuk mesin dengan port SSH terbuka. Mereka biasanya "mengetuk" pada port SSH default sebanyak IP yang mereka bisa dan begitu mereka menemukan daemon SSH berjalan di suatu tempat, upaya untuk mendapatkan akses bruteforce ke mesin. Ini bukan hanya risiko potensi pembobolan, tetapi juga dari jaringan yang lambat saat mesin sedang digerakkan.

  2. Jika Anda benar-benar membutuhkan akses seperti itu, setidaknya Anda harus melakukannya

    • pastikan Anda memiliki kata sandi yang kuat untuk semua akun pengguna,

    • larang akses root melalui SSH (Anda selalu dapat masuk sebagai pengguna normal dan suatau sudokemudian),

    • ubah port default tempat server SSH Anda akan berjalan,

    • mengenalkan mekanisme pembatalan berbagai upaya login SSH (dengan waktu tunggu yang terus meningkat untuk upaya selanjutnya - Saya tidak ingat bagaimana tepatnya ini disebut - saya telah mengaktifkannya beberapa waktu lalu di FreeBSD dan saya ingat itu cukup mudah - coba mencari beberapa forum FreeBSD dll tentang mengamankan SSH dan Anda akan menemukannya.)

    • Jika memungkinkan, coba jalankan ssh daemon hanya ketika Anda tahu Anda akan mengakses mesin dalam waktu dekat matikan setelahnya

  3. Biasakan melalui log sistem Anda. Jika Anda mulai memperhatikan sesuatu yang mencurigakan, perkenalkan mekanisme keamanan tambahan seperti tabel IP atau port knocking .

rozcietrzewiacz
sumber
10
Terpilih untuk kebaikan ascii ...
jasonwryan
Terima kasih untuk penjelasan rinci. Saya akan mencerna ini sedikit dan berkomentar kembali.
hari
Saya mengerti maksud Anda sepenuhnya. Pertanyaan saya adalah, saya sudah mengkonfigurasi (benar atau salah - saya tidak yakin) router netgear saya. Selanjutnya apa yang harus saya lakukan?
hari
2
Lihat edit saya (bawah) tentang akses SSH eksternal.
rozcietrzewiacz
Terima kasih untuk informasi. Saya mendapatkan apa yang ingin Anda sampaikan. Pertanyaan saya adalah, apa yang harus saya lakukan agar siapa pun (yang memiliki akses) di internet misalnya dapat menjalankan browser di kotak freebsd. Bagaimana saya mengaturnya?
hari
3

Ada beberapa cara untuk mencapai ini. Yang termudah adalah mengatur apa yang dikenal sebagai DMZ. Namun, cara yang lebih aman adalah pada router Anda untuk mengatur rute statis pada port 22 ke IP server Anda.

Sumber:

Markus D
sumber
Terima kasih. Saya telah melakukan bagian pada router netgear: Saya telah menyiapkan portforwarding dengan cara ini: service: HTTP port: 80 server ip: 192.168.1.16 - di sini ip ini adalah ip dari kotak freebsd saya. Apa yang harus saya lakukan selanjutnya?
hari
Mengatur tes dari luar lokasi Anda, saya pribadi hanya telepon saya ke laptop saya dan mencoba ssh'ing ke alamat ip saya. Saya berasumsi Anda tahu alamat ip eksternal Anda. Atau Anda dapat mencoba mengunjungi server web Anda.
Mark D
SSH tidak berfungsi untuk IP eksternal saya. Apakah saya perlu melakukan sesuatu di server freebsd saya?
hari
Bisakah Anda SSH dari jaringan internal Anda?
Mark D
Iya nih. Saya bisa melakukannya
hari
1

Ini bisa dilakukan oleh router Anda. Pada beberapa router fitur ini disebutVirtual Server

Lihat di bagian bawah gambar ada dua contoh penerusan port. Satu dari Web dan satu lagi dari SSH. Dalam kasus pertama setiap permintaan pada WAN IP Anda yaitu IP dari router Anda dengan port 80akan diteruskan ke IP LAN ( 192.168.2.4dalam hal ini)
Dengan fitur ini Anda bisa mendapatkan layanan yang berjalan di PC / server Anda yang berjalan di LAN dari mana saja di dunia. yaitu layanan tersebut tidak terbatas pada LAN
Port forwarding atau server Virtual pada router

Edward Torvalds
sumber