Ofiste uzaktan çalışma. RDP, Port Vurma, Mikrotik: basit ve güvenli

Kovid-19 virüsü salgını ve birçok ülkede yaşanan genel karantina nedeniyle birçok şirketin çalışmaya devam edebilmesinin tek yolu iş yerlerine internet üzerinden uzaktan erişim. Uzaktan çalışma için nispeten güvenli pek çok yöntem vardır; ancak sorunun boyutu göz önüne alındığında, ihtiyaç duyulan şey, herhangi bir kullanıcının ofise uzaktan bağlanmasını kolaylaştıracak ve ek ayarlara, açıklamalara, sıkıcı istişarelere ve uzun süren işlemlere ihtiyaç duymadan basit bir yöntemdir. talimatlar. Bu yöntem birçok yönetici tarafından sevilir RDP (Uzak Masaüstü Protokolü). RDP yoluyla doğrudan bir iş istasyonuna bağlanmak, merhemdeki büyük bir sinek dışında ideal olarak sorunumuzu çözer - RDP bağlantı noktasını İnternet için açık tutmak çok güvensizdir. Bu nedenle aşağıda basit ama güvenilir bir koruma yöntemi öneriyorum.Ofiste uzaktan çalışma. RDP, Port Vurma, Mikrotik: basit ve güvenli

Mikrotik cihazlarının internet bağlantısı olarak kullanıldığı küçük organizasyonlarla sık sık karşılaştığım için aşağıda Mikrotik üzerinde bunun nasıl uygulanacağını göstereceğim ancak Port Knocking koruma yöntemi benzer giriş yönlendirici ayarlarına ve diğer üst sınıf cihazlara da kolaylıkla uygulanabilir. güvenlik duvarı

Port Knocking hakkında kısaca. İnternete bağlı bir ağın ideal harici koruması, tüm kaynakların ve bağlantı noktalarının dışarıdan bir güvenlik duvarı tarafından kapatılmasıdır. Ve bu şekilde yapılandırılmış bir güvenlik duvarına sahip bir yönlendirici, dışarıdan gelen paketlere hiçbir şekilde tepki vermese de onları dinler. Bu nedenle, yönlendiriciyi, farklı bağlantı noktalarında belirli bir (kod) ağ paketi sırası aldığında, paketlerin geldiği IP için (yönlendirici), belirli kaynaklara (bağlantı noktaları, protokoller vb.) erişimi reddedecek şekilde yapılandırabilirsiniz. .).

Şimdi asıl noktaya gelelim. Mikrotik'te güvenlik duvarı kurmanın ayrıntılı bir açıklamasını vermeyeceğim - İnternet bunun için kaliteli kaynaklarla dolu. İdeal olarak, bir güvenlik duvarı gelen tüm paketleri engeller ancak

/ip firewall filter
add action=accept chain=input comment="established and related accept" connection-state=established,related

Halihazırda kurulmuş (kurulmuş, ilgili) bağlantılardan gelen trafiğe izin verir.
Şimdi Mikrotik'te Port Knocking'i yapılandırıyoruz:

/ip firewall filter
add action=drop chain=input dst-port=19000 protocol=tcp src-address-list="Black_scanners" comment=RemoteRules
add action=drop chain=input dst-port=16000 protocol=tcp src-address-list="Black_scanners" comment=RemoteRules
add action=add-src-to-address-list address-list="remote_port_1" address-list-timeout=1m chain=input dst-port=19000 protocol=tcp comment=RemoteRules
add action=add-src-to-address-list address-list="Black_scanners" address-list-timeout=60m chain=input dst-port=19001 protocol=tcp src-address-list="remote_port_1" comment=RemoteRules
add action=add-src-to-address-list address-list="Black_scanners" address-list-timeout=60m chain=input dst-port=18999 protocol=tcp src-address-list="remote_port_1" comment=RemoteRules
add action=add-src-to-address-list address-list="Black_scanners" address-list-timeout=60m chain=input dst-port=16001 protocol=tcp src-address-list="remote_port_1" comment=RemoteRules
add action=add-src-to-address-list address-list="Black_scanners" address-list-timeout=60m chain=input dst-port=15999 protocol=tcp src-address-list="remote_port_1" comment=RemoteRules
add action=add-src-to-address-list address-list="allow_remote_users" address-list-timeout=1m chain=input dst-port=16000 protocol=tcp src-address-list="remote_port_1" comment=RemoteRules
move [/ip firewall filter find comment=RemoteRules] 1
/ip firewall nat
add action=dst-nat chain=dstnat comment="remote_rdp" src-address-list="allow_remote_users" dst-port=33890 in-interface-list=WAN protocol=tcp to-addresses=192.168.1.33 to-ports=3389

Şimdi daha ayrıntılı olarak:

ilk iki kural

/ip firewall filter
add action=drop chain=input dst-port=19000 protocol=tcp src-address-list="Black_scanners" comment=RemoteRules
add action=drop chain=input dst-port=16000 protocol=tcp src-address-list="Black_scanners" comment=RemoteRules

bağlantı noktası taraması sırasında kara listeye alınan IP adreslerinden gelen paketleri yasaklayın;

Üçüncü kural:

add action=add-src-to-address-list address-list="remote_port_1" address-list-timeout=1m chain=input dst-port=19000 protocol=tcp comment=RemoteRules

istenen bağlantı noktasına (19000) doğru ilk vuruşu yapan ana bilgisayarların listesine ip ekler;
Aşağıdaki dört kural:

add action=add-src-to-address-list address-list="Black_scanners" address-list-timeout=60m chain=input dst-port=19001 protocol=tcp src-address-list="remote_port_1" comment=RemoteRules
add action=add-src-to-address-list address-list="Black_scanners" address-list-timeout=60m chain=input dst-port=18999 protocol=tcp src-address-list="remote_port_1" comment=RemoteRules
add action=add-src-to-address-list address-list="Black_scanners" address-list-timeout=60m chain=input dst-port=16001 protocol=tcp src-address-list="remote_port_1" comment=RemoteRules
add action=add-src-to-address-list address-list="Black_scanners" address-list-timeout=60m chain=input dst-port=15999 protocol=tcp src-address-list="remote_port_1" comment=RemoteRules

bağlantı noktalarınızı taramak isteyenler için tuzak bağlantı noktaları oluşturun ve bu tür girişimler tespit edildiğinde IP'lerini 60 dakika boyunca kara listeye alırlar; bu süre zarfında ilk iki kural, bu tür ana bilgisayarlara doğru bağlantı noktalarını ele geçirme fırsatı vermez;

Sonraki kural:

add action=add-src-to-address-list address-list="allow_remote_users" address-list-timeout=1m chain=input dst-port=16000 protocol=tcp src-address-list="remote_port_1" comment=RemoteRules

İstenilen bağlantı noktasına (1) ikinci doğru vuruş yapıldığından, IP'yi 16000 dakika boyunca izin verilenler listesine koyar (bağlantı kurmaya yetecek kadar);

Sonraki komut:

move [/ip firewall filter find comment=RemoteRules] 1

kurallarımızı güvenlik duvarı işleme zincirinde yukarı taşır, çünkü büyük olasılıkla yeni oluşturulan kuralların çalışmasını engelleyecek çeşitli yasaklayıcı kurallarımız zaten yapılandırılmış olacaktır. Mikrotik'teki ilk kural sıfırdan başlıyor, ancak cihazımda sıfır yerleşik bir kural tarafından işgal edilmişti ve onu taşımak imkansızdı - onu 1'e taşıdım. Bu nedenle ayarlarımıza bakıyoruz - onu nereye taşıyabiliriz ve istediğiniz numarayı belirtin.

Sonraki ayar:

/ip firewall nat
add action=dst-nat chain=dstnat comment="remote_rdp_to_33" src-address-list="allow_remote_users" dst-port=33890 in-interface-list=WAN protocol=tcp to-addresses=192.168.1.33 to-ports=3389

rastgele seçilen bir bağlantı noktası 33890'ı normal bir RDP bağlantı noktası 3389'a ve ihtiyacımız olan bilgisayarın veya terminal sunucusunun IP'sine iletir. Tercihen standart dışı (ve farklı) harici bağlantı noktaları ayarlayarak gerekli tüm dahili kaynaklar için bu tür kurallar oluşturuyoruz. Doğal olarak dahili kaynakların IP'si ya statik olmalı ya da bir DHCP sunucusuna atanmış olmalıdır.

Artık Mikrotik'imiz yapılandırıldı ve kullanıcının dahili RDP'mize bağlanması için kolay bir prosedüre ihtiyacımız var. Çoğunlukla Windows kullanıcılarımız olduğundan basit bir yarasa dosyası oluşturup buna StartRDP.bat adını veriyoruz:

1.htm
1.rdp

buna göre 1.htm aşağıdaki kodu içerir:

<img src="http://my_router.sn.mynetname.net:19000/1.jpg">
нажмите обновить страницу для повторного захода по RDP
<img src="http://my_router.sn.mynetname.net:16000/2.jpg">

burada my_router.sn.mynetname.net adresinde bulunan hayali resimlere iki bağlantı bulunmaktadır - Mikrotik'te bunu etkinleştirdikten sonra bu adresi Mikrotik DDNS sisteminden alıyoruz: IP->Bulut menüsüne gidin - DDNS Etkin seçeneğini işaretleyin kutusunda Uygula'ya tıklayın ve yönlendiricimizin dns adını kopyalayın. Ancak bu yalnızca yönlendiricinin harici IP'si dinamik olduğunda veya birkaç İnternet sağlayıcısıyla bir yapılandırma kullanıldığında gereklidir.

İlk bağlantıdaki bağlantı noktası: 19000, vurmanız gereken ilk bağlantı noktasına, ikincisinde ise ikinciye karşılık gelir. Bağlantıların arasında, kısa ağ sorunları nedeniyle bağlantımızın aniden kesilmesi durumunda ne yapmamız gerektiğini gösteren kısa bir talimat var - sayfayı yeniliyoruz, RDP bağlantı noktası bizim için 1 dakika boyunca yeniden açılıyor ve oturumumuz geri yükleniyor. Ayrıca img etiketleri arasındaki metin, tarayıcı için bir mikro gecikme oluşturur ve bu da ilk paketin ikinci bağlantı noktasına (16000) teslim edilme olasılığını azaltır - şu ana kadar iki haftalık kullanımda böyle bir durumla karşılaşılmadı (30) insanlar).

Daha sonra, herkes için veya her kullanıcı için ayrı ayrı yapılandırabileceğimiz 1.rdp dosyası geliyor (ben de öyle yaptım; çözemeyenlere danışmak için birkaç saatten fazladan 15 dakika harcamak daha kolaydır)

screen mode id:i:2
use multimon:i:1
.....
connection type:i:6
networkautodetect:i:0
.....
disable wallpaper:i:1
.....
full address:s:my_router.sn.mynetname.net:33890
.....
username:s:myuserlogin
domain:s:mydomain

Buradaki ilginç ayarlardan biri multimon:i:1 kullanımıdır - buna birden fazla monitörün kullanımı da dahildir - bazı insanlar buna ihtiyaç duyar, ancak bunu kendileri açmayı düşünmezler.

bağlantı türü:i:6 ve ağotomatik algılama:i:0 - İnternet'in çoğunluğu 10 Mbit'in üzerinde olduğundan, bağlantı türü 6'yı etkinleştirin (yerel ağ 10 Mbit ve üstü) ve ağotomatik algılamayı devre dışı bırakın, çünkü varsayılan değer (otomatik) ise, daha sonra nadir görülen küçük bir Ağ gecikmesi bile oturumumuzun hızını uzun bir süre boyunca otomatik olarak daha düşük bir hıza ayarlar, bu da özellikle grafik programlarında çalışırken gözle görülür gecikmelere neden olabilir.

duvar kağıdını devre dışı bırak:i:1 - masaüstü resmini devre dışı bırakır
kullanıcı adı:s:myuserlogin - kullanıcılarımızın önemli bir kısmı giriş bilgilerini bilmediğinden kullanıcı girişini belirtiyoruz
domain:s:mydomain - alan adını veya bilgisayar adını belirtin

Ancak bağlantı prosedürü oluşturma görevini basitleştirmek istiyorsak PowerShell - StartRDP.ps1'i de kullanabiliriz.

Test-NetConnection -ComputerName my_router.sn.mynetname.net -Port 19000
Test-NetConnection -ComputerName my_router.sn.mynetname.net -Port 16000
mstsc /v:my_router.sn.mynetname.net:33890

Ayrıca Windows'taki RDP istemcisi hakkında da biraz bilgi: MS, protokolü ve sunucu ve istemci parçalarını optimize etmede uzun bir yol kat etti; donanım 3D ile çalışma, monitörünüz için ekran çözünürlüğünü optimize etme, çoklu ekran, çoklu ekran gibi birçok yararlı özelliği hayata geçirdi. vesaire. Ancak elbette her şey geriye dönük uyumluluk modunda uygulanır ve istemci Windows 7 ve uzaktaki bilgisayar Windows 10 ise, RDP 7.0 protokol sürümünü kullanarak çalışacaktır. Ancak neyse ki RDP sürümlerini daha yeni sürümlere güncelleyebilirsiniz; örneğin, protokol sürümünü 7.0'dan (Windows 7) 8.1'e yükseltebilirsiniz. Bu nedenle, istemcilerin rahatlığı için, sunucu bölümünün sürümlerini en üst düzeye çıkarmanız ve ayrıca RDP protokolü istemcilerinin yeni sürümlerine güncelleme yapmak için bağlantılar sağlamanız gerekir.

Sonuç olarak, iş bilgisayarına veya terminal sunucusuna uzaktan bağlantı için basit ve nispeten güvenli bir teknolojiye sahibiz. Ancak daha güvenli bir bağlantı için Bağlantı Noktası Vurma yöntemimiz, kontrol edilecek bağlantı noktaları eklenerek birkaç büyüklük sırasına göre saldırıyı daha zor hale getirilebilir - aynı mantığı kullanarak 3,4,5,6... bağlantı noktası ekleyebilirsiniz ve bu durumda ağınıza doğrudan izinsiz giriş neredeyse imkansız olacaktır.

RDP'ye uzaktan bağlantı oluşturmaya yönelik dosya hazırlıkları.

Kaynak: habr.com

Yorum ekle