rsync VPN-ээр: 873 демон порт ба SSH горим
873 порт нь туннелийн зөөвөрлөж буй дотоод үйлчилгээ бөгөөд түүнийг орлох зүйл биш. Демон горимыг SSH горимоос ялгаж, дараа нь таны үнэхээр ашигладаг замыг л нээ.
Туннелийн интерфейс дээр TCP 873-ыг зөвшөөрөх нь rsync-ийг OpenVPN-ээр дамжуулахгүй бөгөөд эсрэг тал модулийг хүлээн авахад хүргэхгүй. Туннель нь дотоод холболтыг зөөвөрлөх ба түүний протокол, очих газрын дүрэм яг өмнөх шигээ хэвээр үлддэг. Тиймээс эхний асуулт аль портыг нээх биш, харин rsync ямар төрлийн холболт хийж байгаа нь юм. Доорх бүхэн туннель аль хэдийн ажиллаж байгаа, зөвхөн дотоод үйлчилгээ л эргэлзээтэй гэж үзнэ.
rsync үнэхээр ямар холболт хийдгийг тодорхойл
Команд дахь алсын аргумент нь ихэвчлэн галт ханын аливаа өөрчлөлтөөс өмнө энэ асуултад хариулдаг. Давхар хоёр цэг эсвэл URL схем нь демоныг сонгох бол, хост нэрийн дараах ганц хоёр цэг нь алсын бүрхүүлийг сонгоно. Баримт бичгийн жишээн дэх биш, таны үнэхээр ажиллуулж буй аргументыг унш.
Тодорхой алсын бүрхүүлийн сонголт нь хариултыг дахин өөрчилж болно, учир нь тээвэрлэлтэд аль програмыг эхлүүлэхийг rsync-т хэлдэг. Зөвхөн хост хэсгийг бус, өвлөгдсөн боодол скриптүүдийг оролцуулан бүх командын мөрийг унш.
| Remote argument | What it opens |
|---|---|
rsync://vault.corp.internal/archive/ | rsync daemon, normally TCP 873 |
vault.corp.internal::archive/ | rsync daemon, normally TCP 873 |
[email protected]:/srv/archive/ | Remote shell, normally SSH on its configured port |
Демон горим: холбох хаяг, модуль ба порт
Демоны синтакс дотор замын хэсэг нь диск дээрх хавтас биш, тохируулсан модулийг нэрлэнэ. Модулийн нууц үг зөвхөн холболт хүлээн авсны дараа шалгагдах ба модуль нэмж хэлбэл зөвхөн-унших эсвэл жагсаалтаас нуугдсан байж болно. Алдаа уншихад энэ дараалал чухал, учир нь татгалзсан холболт ба татгалзсан модуль нь хоёр өөр үе шатны бүтэлгүйтэл юм. Аль ч мэдээлэл туннелийн тухай юу ч хэлэхгүй.
Бие даасан демоныг тохиргооны файл дээр нь туннелийн хаягт бэхлэх боломжтой бөгөөд энэ нь ямар ч галт ханын дүрэмгүйгээр түүнийг нийтийн интерфейсээс хол байлгана. Утга нь демон холбогдох үед байх ёстой бөгөөд сокетоор идэвхжсэн эсвэл inetd-ээр удирдуулсан сонсогч үүнийг бүрэн үл тоомсорлож болно.
address = 10.44.0.1
port = 873
[archive]
path = /srv/archive
read only = yes
Дараа нь нийтийн нэр биш, хувийн хаяг руу туршиж үз. Нийтийн хост нэр нь WAN хаяг руу шийдэгдэж өөр замаар явдаг, нэг машин хоёуланд нь хариулсан ч гэсэн.
rsync --list-only rsync://10.44.0.1/archive/
Алсын бүрхүүлийн горим: SSH нь дамжуулалтыг зөөвөрлөнө
Ганц хоёр цэгээр rsync нь алсын бүрхүүлийн програмыг эхлүүлж, түүний протоколыг энэ сувгаар ярьдаг тул хүрч болох цорын ганц үйлчилгээ нь сервер сонсож буй аль ч порт дээрх SSH юм. rsync демон хэзээ ч ажиллахгүй, 873 порт хамаагүй, хандалтын шийдвэр SSH бүртгэлийн шийдвэр болно. Алсын зам нь тэгвэл нөгөө талын бүрхүүл тайлбарладаг бодит файлын системийн зам юм. Тиймээс 873 руу чиглэсэн галт ханын өөрчлөлт энэ горимд огт юу ч хийдэггүй.
Энэ загварт хоёр зүйл хэрэгтэй: эрх бүхий бүртгэл ба хост түлхүүрийн баталгаажуулалт, бөгөөд SSH-ийн өөрийн баталгаажуулалтын бодлогыг өвлөнө. Дамжуулалт итгэмээргүй сүлжээгээр гарах шаардлагатай үед энэ нь ихэвчлэн илүү сайн сонголт, учир нь шифрлэлт нь үүний төлөө бүтээгдсэн протоколд хамаарна. Нууц үг асуудаг демон бол ижил зүйл биш.
Зөвхөн өөрийн сонгосон замыг нээ
Горим тогтсоны дараа туннелийг зөөвөрлөж буй ганц интерфейс дээр ганц дотоод үйлчилгээг зөвшөөр. Дүрмийг интерфейс, эх сурвалжийн сан, очих хаягаар хязгаарлаж, дараагийн анхдагч-татгалзалтын өөрчлөлт түүнийг чимээгүй өргөжүүлж чадахгүй байх болтугай. Дараа нь дүрмүүдийн дарааллыг хяна, учир нь гинжин дотор эртхэн байгаа зөвшөөрөх дүрэм нарийн дүрмийг зөвхөн чимэг болгоно.
Хэрэв демон VPN гарцын ард байгаа машин дээр ажиллаж байгаа бол, гарц дээр өөрт нь биш бол, гарцад дамжуулах зам ч хэрэгтэй, зорилгод өөрийн зөвшөөрөл ба буцах маршрут хэрэгтэй. Портыг зөвхөн гарц дээр нээх нь хүлээн авагдаад дараа нь хаашаа ч явахгүй холболт үүсгэдэг.
Үйлдвэрлэлд ашиглахаар төлөвлөж буй ижил горим, очих газраар клиентээс шалга. Амжилттай жагсаалт нь сонсогч, маршрут, дүрмийг хамт нотолно; хугацаа дуусах нь зам руу зааж, татгалзалт нь сонсогч руу заана.
ufw allow in on tun0 from 10.44.0.0/24 to 10.44.0.1 port 873 proto tcp
ss -ltnp | grep 873