Є така лінійка комутаторів від компанії TP-Link як Easy Smart Switch.
Все б не погано якби продавець попереджував про обмеження "початкової" лінійки, Easy Smart Switch, і про те що таких обмежень не має у лінійках для корпоративного рішення.
Почалося з того що було придбано 16-портовий гігабітний комутатор серії Easy Smart TL-SG1016DE.
Вивчаючи можливості застосування в своїй корпоративній мережі, з'ясувалося що якщо увімкнуто режим 802.1Q VLAN Configuration, то кожному з портів є можливість назначити VLAN ID тільки у проміжку від 2 до 4092. А де №1 ?
Знайдено
Ось і секрет цієї моделі у тому що VLAN ID=1 - фіксований, і до нього належать усі порти автоматично і це ніяк не вимикається.
Не можливо видалити, або змінити VLAN ID 1 |
Що це дає ?
Це дає те що з кожного з портів комутатора доступний web інтерфейс адміністрування комутатора, наприклад за адресою http://192.168.0.1. Це напевно зроблено щоб домашній користувач не зміг заблокувати сам себе.
Але якщо, наприклад, є порт WAN і він використовується як вхідний у цей комутатор, то у випадку коли мережевому адаптеру що підключений до WAN прописати IP адресу з однієї мережі що і комутатора наприклад 192.168.0.200, то за адресою http://192.168.0.1 буде отримано web контроль над комутатором з завідома не дружньої мережі WAN.
Ну і що, є пароль адміністрування - комутатор захищено
Так, нехай пароль буде складний, але ж його можна потихеньку підібрати.
Ну це ще так сяк, але ніхто не знає те що для налаштування VLAN портів комутатора не потрібен пароль зовсім. У підтвердження цього ось мій пост на форумі виробника: TL-SG1016DE security of changes value without any authentication.
Приклад, формується запит: http://192.168.0.1/vlan_8021q_based_set.cgi?qvlanid=314&qvlanname=Ate
st314&tag_1=1&tag_2=2&tag_3=2&tag_4=2&tag_5=2&tag_
6=2&tag_7=2&tag_8=2&tag_9=2&tag_10=2&tag_11=2&tag_
12=2&tag_13=2&tag_14=2&tag_15=2&tag_16=0&addModify
=+Add%2FModify+
І зміни застосовуються без запиту авторизації.
Які рішення?
PVID
Як одне з простих рішень це прописати PVID на інше значення ніж 1 на потрібному порту, наприклад де WAN, це вирішить питання з UNTAGED пакетами і відправить відповідь до іншого VLAN. Але це рішення для UNTAGED підключень, а якщо форсувати на мережевій карті потрібний VLAN ID=1, то це рішення буде не ефективне.
PVID початкові значення |
Config HACK
А ось сьогодні отримав рішення від користувача tpham3783: Here is how you can hack ( un-member ports on vlan1).
Для версії SG108PE (hw version 3):
Для цього зберігається файл конфігурації комутатора для версії SG108PE (hw version 3), у бінарному редакторі правиться значення після тексту "Default_VLAN", там повинно бути прописано FF. Якщо змінити значення FF на 00, то це вимкне Default_VLAN ID=1 на всіх портах. А якщо прописати 0х80 (1000 0000) то дозволить Default_VLAN ID=1 на порту №8.
Для цього зберігається файл конфігурації комутатора для версії SG108PE (hw version 3), у бінарному редакторі правиться значення після тексту "Default_VLAN", там повинно бути прописано FF. Якщо змінити значення FF на 00, то це вимкне Default_VLAN ID=1 на всіх портах. А якщо прописати 0х80 (1000 0000) то дозволить Default_VLAN ID=1 на порту №8.
Редагування файлу конфігурації SG108PE (hw version 3) |
Якщо після редагування повернути файл до комутатора, то отримаємо це:
Після редагування файлу конфігурації. SG108PE (hw version 3) |
Можу поки що проінформувати що рішення не перевірено мною персонально, але файне рішення.
Аналізую...
Для версії SG1016DE (hw version 2):
vlan:777,port: 5tag, name: TESTVVV
777 = 0x0309 (0x09 0x03)
5 = 0x10 (0001 0000) 5 bit.
vlan:777,port: 5untag, name: TESTVVV
777 = 0x0309 (0x09 0x03)
5 = 0x10 (0001 0000) 5 bit.
vlan:777,port: 3tag, name: TESTVVV
777 = 0x0309 (0x09 0x03)
3 = 0x40 (0000 0100) 3 bit.
За попереднім аналізом за адресою 0x15C-0x15D є два байти 0xFF, котрі ймовірно і відповідають за налаштування портів-членів VLAN1. Наступні два байти 0x00, говорять що це UNTAG порти.
Але можу додати, що просто змінити значення у HEX редакторі не достатньо, так як змінений таким чином файл, комутатор не приймає. Скоріше за всього контрольну суму потрібно корегувати. Можливо це два байта з адреси 00000006,. А можливо послідовність з адреси 00000E0E.
Аналізую...
Для версії SG1016DE (hw version 2):
vlan:777,port: 5tag, name: TESTVVV
777 = 0x0309 (0x09 0x03)
5 = 0x10 (0001 0000) 5 bit.
TP_1016DE (v2) vlan:1, name: Default. vlan:777,port: 5tag, name: TESTVVV |
vlan:777,port: 5untag, name: TESTVVV
777 = 0x0309 (0x09 0x03)
5 = 0x10 (0001 0000) 5 bit.
TP_1016DE (v2) vlan:1, name: Default. vlan:777,port: 5untag, name: TESTVVV |
TP_1016DE (v2) vlan:1, name: Default. vlan:777,port: 5untag, name: TESTVVV |
vlan:777,port: 3tag, name: TESTVVV
777 = 0x0309 (0x09 0x03)
3 = 0x40 (0000 0100) 3 bit.
TP_1016DE (v2) vlan:1, name: Default. vlan:777,port: 3tag, name: TESTVVV |
Але можу додати, що просто змінити значення у HEX редакторі не достатньо, так як змінений таким чином файл, комутатор не приймає. Скоріше за всього контрольну суму потрібно корегувати. Можливо це два байта з адреси 00000006,. А можливо послідовність з адреси 00000E0E.
fc /b Config777-3tag-vname.cfg Config777-3untag-vname.cfg Comparing files Config777-3tag-vname.cfg and CONFIG777-3UNTAG-VNAME.CFG 00000006: BD 94 00000007: 4B 28 00000177: 04 00 00000E0E: F3 74 00000E0F: B9 78 00000E10: 66 9F 00000E11: 85 73 00000E12: 9E 8E 00000E13: CB 8C 00000E14: 44 17 00000E15: 01 06 00000E16: 7C 29 00000E17: A1 04 00000E18: 07 1E 00000E19: 6B AB 00000E1A: 30 98 00000E1B: B5 C5 00000E1C: BA 9A 00000E1D: B8 BF 00000E1E: 7A 13 00000E3C: 03 05 00000E76: F3 74 00000E77: B9 78 00000E78: 66 9F 00000E79: 85 73 00000E89: 03 05
Немає коментарів:
Дописати коментар