вторник, 26 ноября 2019 г.

Авторизация по ключу в SSH на Linux: не одними паролями живем

     Что такое SSH мы слава богу уже знаем и знаем как делать с помощью него туннели, но это не все что он может. В SSH есть два способа аутентификации пользователя: 1) пароль, который знаем и 2) ключ, о котором и поговорим.
     Плюсы ключа выходят из минуса пароля:
1) Он прост, хоть и по шифрованному каналу
2) его все же можно перехватить
3) использование в скрипах(об этом розже)

Описание из интеренета:

       Каждая пара ключей состоит из открытого и закрытого ключа. Секретный ключ сохраняется на стороне клиента и не должен быть доступен кому-либо еще. Утечка ключа позволит злоумышленнику войти на сервер, если не была настроена дополнительная аутентификация по паролю.

Нашел такую картинку, очень хорошо иллюстирующую процесс:



Перво наперво, делаем ключ:

[root@ПК ~]# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:adW9C/air7tW6NMiSIHxrN27b0hUFfFytoM1Cj+z8BY root@homer-server
The key's randomart image is:
+---[RSA 2048]----+
|           .+o   |
|    .     .. o   |
|     =   .o o B  |
|    . + .o o B + |
|     o +S ..E +  |
|    . o.o .+.B o |
|     . o + o= o  |
|      . + *o..   |
|        .**B.    |
+----[SHA256]-----+


Можно все пройти enter-ом и в конце получить ключ, который смотрим:

Приватный:

[root@ПК ~]# cat ~/.ssh/id_rsa
-----BEGIN RSA PRIVATE KEY-----
MIIEogIBAAKCAQEAuXxDUWdZEACvPBfJZrro/1QFcUibSVx+ZqA+0WbPmYsq7P7I
pRzsAR9IW3xsdDMM+pzPNPsLwQZsiuIKYI9Xdtg+DgpoGgmhSxB3LwrC8IqNodPA
zFQSNNR/w7ayKklrQreHu40/P/EfY0pb/DbNURYcJKHPjwW2AKpQYIYScoOaYXiN
bf7/orjUqadsrqJbCOe/VgruL3YAAaBfgtk87EMsd3T2ic9qlG0s05fRAB5AwRkE
W9IfWraxV1u1vyfSA9uxP9A/W5hv7dlsVMhZiVRGIFyvB97Z3p7vFOw4bze/nLXr
ZUS2rpm0XtVoCIOiEwrBWK1J7BZkltGjdHtw+wIDAQABAoIBAHHF1ejtsoSNVu9O
S9w2k8phuEDnX1Ddai765e092eL9qSPbmCknF2AM1y4+oKuZ0ME8RCDkSC5rCVMb
GXBnHCgqtc2Y9ofaFlRb0i9Js48l/YAgyebLPqunGINs4dXsWN2Ag8I3/m7zMOSP
bOLEnqW5ISQbGJxKzXuU/F5ofpI8N6uYqidW7j/YOo+r8EiDfz+850t6SSQ1A6Vn
8gVcjKQUIuHjEBd1TJ07Y+Yxaсчс56JBqWZl5V+layRyZSkIS45AKvuCtVNMIHTC
EwTgaD5Gghcxkak9XQBtR8WpWPAu+BOo72H4WhgIF6Mj06pM7TT9kVO7C4Ajr3am
ctwPRekCgYEA9pd5KvitlhQb9mzushNPECnI2m8j3CPLODtLhFjdFJoxMJ3XtEYI
KXOoXgn4YChy70CZFwANdFYquHn8viE9t27HKsyt3gHJo8ZuO/M7DKlf8CD/cplL
42o5CC/WPCtbXviV2ZIgAp9gzPs8YVzBNXoPBNpaT2j+77ldq7/yK3UCgYEAwI/y
wF8wBP1zRifx6QxJuO8HG7fPw87CcInxfRBUbCBd8F/Liz4LW1Lpstb2YC4dl/qm
Bk8k87vvwJUX8AKm6HDsMXKOhzD6RoqBoEDsohxDlLiR3WEwDgmzkzWMfviu9p+s
el/B7ImiBXv3Yvw5y4saEqyLAw0CVDZpn0jFTK8CgYBfmdogDsk9pg4xO4pO/61n
VsvH487DSh0/b72XUdxkYGMxtgAqo/wGFhDwZG0m2oe0uhagFCUjNUTawHB8Rebn
dstAjJnbuFW0aPnTxDjgb8oCDsj6ZPRG9qelxOYJ7cU+zKFL+JrwaVneHokKNiux
z+CCwSTCJLKxvevS6le5AQKBgEVo3cCXzxBNZ2rHZTxy0HQXvMEx/XMAKTg1kNVa
uIONGy9U6GKVh7Rwa4qqT36VwNcSYxvtFU3B1YbedxVtb0pjwc+FEnkKn3wj2tuv
61v3wihuay2YJaE5v//1EmKGM1L0dVBbCeTAK6W8bIzCi/ahelF23ljILKm8P1BK
A8xDAoGAPB+YW9XmHvWPjR1NHkZqSGcjVhg6hsyJ5fw634RR3SmGhL/Jwknm7cTn
avhGKBBT5U0raJ0mWbMkFpyQcijwZCnwoxJQTupHuoJwqioopxoSFXDCxSjG22OI
LKLTjgkjGRvr6ev1lBh9cRJRVlSDgeV9Ewpwpby0DzAWQg0xHlA=
-----END RSA PRIVATE KEY-----
[root@ПК ~]#


Публичный:

[root@homer-server ~]# cat ~/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC5fENRZ1kQAK88F8lmuuj/VAVxSJtJXH5moD7RZs+Ziyrs/silHOwBH0hbfGx0Mwz6nM80+wvBBmyK4gpgj1d22D4OCmgaCaFLEHcvCsLwio2h08DMVBI01H/DtrIqSWtCt4e7jT8/8R9jSlv8Ns1RРрFhwkoc+PBbYAqlBghhJyg5pheI1t/v+iuNSpp2yuolsI579WCu4vdgABoF+C2TzsQyx3dPaJz2qUbSzTl9EAHkDBGQRb0h9atrFXW7W/J9ID27E/0D9bmG/t2WxUyFmJVEYgXK8H3tnenu8U7DhvN7+ctetlRLaumbRe1WgIg6ITCsFYrUnsFmSW0aN0e3D7 root@
ПК
[root@
ПК ~]#

Вцелом, по сути мы и закончили))
Осталось копирнуть ключ на удаленный сервер и все само по себе заработает:

ssh-copy-id {user}@{ip-remote-server}

Если все сделали правильно, то вы увидите нечто вроде, разумеется после ввода пароля:

/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
{user}@{ip-remote-server}'s password:

Number of key(s) added: 1


     И теперь пробуем логинится и вуаля мы прошли без пароля, это и безопаснее и удобнее.
     В двух словах о скриптах, если есть скрипты на бэкап, то самое то, когда запускаете их с сервера и этот сервер может конектится на другие без аутентификации на все остальные и это только одно их многих применений доступа по ключам.

А если вдруг не вышло, и выдало нечто похожее, то есть такое заклятие на клиентской машине:

sign_and_send_pubkey: signing failed: agent refused operation

ssh-add
Identity added: /home/cherkas/.ssh/id_rsa (/home/cherkas/.ssh/id_rsa)

Все спасибо!

понедельник, 25 ноября 2019 г.

RIPE: кончилось все...или еще нет?





    Вот такое сегодня прочитал и по началу ужаснулся в хорошем смысле слова:


https://www.ripe.net/publications/news/about-ripe-ncc-and-ripe/the-ripe-ncc-has-run-out-of-ipv4-addresses

Суть в паре словах:
1) распределили последнюю /22
2) теперь активнее будем забирать не используемые сети
3) что нам еще сказать чтоб вы все же пошли на IPv6?

Теперь о чем не сказали
1) Сетей выделенных для России и находящихся в работе до морковкиного
    дада и они в работе, не забиты, а в работе. В провайдере вообще не
    ощущается дефицит адресов
2) Еще пару лет назад где-то было сообщение что ряд сетей от африки  
    перераспредилили на нужды европы, в крайнем случае сделают
    подобное
3) Кто-то забыл уже сеть 100.64.0.0/10 она ведь уже приватная для меж
    провайдерского взаимодействия)))

    Так что новостные агнства хайпуют, блогеры пилять видосики про переход на 6ую версию протокола всеми нами любимого, для "всепропальщиков" еще один повод подеприссовать, а инженеры, как мы тихо и спокойно работают, не замечая изменений

Всем спасибо!

вторник, 19 ноября 2019 г.

Кастомные патч-корды


        Нашел такой сайт в интернете https://patch.k-42.ru/ - мечта сисадмина.
Люблю заводские патч-корды. Практика показывает, что если хочешь избежать проблем в серверной только заводские патч-корды. С самодельными периодически что-то происходит, да, если сделать нормально, то служат долго, но работаешь не только ты + свой косяк быстро забываешь или можешь оправдать тем что тогда спешил, тут дернули, да и день фиговый.
        Мне говорили что попадался бракованый патч-корд с завода. На моей практике такого не было, за более чем 5 лет в запуске новых обектов связи: узлов/серверных/офисов/складов/магазинов и по мелочи прошло на вскидку более 30 тыс 0.5 - 2 метровых патч-кородов и НИРАЗУ не было брака. Проверено hyperline и Nexans, может есть еще кто-то лучше, но смысла не было.
        Возвращаясь к сайту: можно разнообразить серверную и превратить действительно укладку кабелей в полноценное искусство, да и оцените название - это же песня.








среда, 13 ноября 2019 г.

Серверный дистрибутив NethServer 7










Прочитав новость решил попробовать дистрибутив:

https://www.opennet.ru/opennews/art.shtml?num=46010


Отдельно понравился демо-режим для ознакомления:
  • User: root
  • Password: Nethesis,1234
Access the demo at demo.nethserver.org

Несколько скринов с демо режима:





      В работе конечно мне не пригодится, но для ознакомления всем рекомендую, в чем-то отражены все аспекты жизни в интернете, тут и файрволы и Веб-сервера и VPN с тунелями.

вторник, 12 ноября 2019 г.

FuryBSD

        Можно качать с https://github.com/furybsd , а можно как я с официального сайта(разницы нет): www.furybsd.org
        О себе они говорят следующее. FuryBSD - это совершенно новый рабочий стол FreeBSD с открытым исходным кодом. FuryBSD отдает дань уважения настольным проектам BSD прошлого, таким как PC-BSD и TrueOS с его графическим интерфейсом и добавляет дополнительные инструменты, такие как живой, гибридный образ USB / DVD. FuryBSD является полностью бесплатным для использования и распространяется под лицензией BSD.
       На момент написания актуальной была версия:

FuryBSD-12.0-XFCE-11-09-2019-02.iso

   Сам запускал в ProxMox, больше не где и тут косяк с управлением - мышь в упор нихотела видеть(вообще всегда много нюансов с запуском BSD систем под KVM), так что пока оценка только от управления клавиатурой( мне чем-то даже приятнее).
    Пробовать позже буду в качестве настолки, а сейчас пока сферичная и в вакууме, может быть в роли хорошего терминала управления.






понедельник, 11 ноября 2019 г.

Где мы используем подсети /31

           Есть такой у нас RFC3021 "Using 31-Bit Prefixes on IPv4 Point-to-Point Links", который как раз рассказывает про про это. Мы все привыкли что минимальная подсеть идет у нас по /30 - адрес у нас и значащий адрес клиенту, адрес сети и бродкаст идут в неизменный довесок и вроде все юзается так сказать и все устраивает, но вот можно допустим провести оптимизацию и адреса по беречь.
           Документ с мотивации собственно и начинается:

1. Introduction and Motivation

The perceived problem of a lack of Internet addresses has driven a number of changes in address space usage and a number of different approaches to solving the problem: - More stringent address space allocation guidelines, enforced by the IANA and the regional address assignment authorities [RFC2050]. - Use of Network Address Translators (NATs), where a small number of IANA-compliant addresses are shared by a larger pool of private, non-globally routed addresses topologically behind a NAT box [RFC1631].

Документ короткий и по сути ничего не рекомендует, а вот так элегантно обходит все аккуратно:

Цель этого документа - обсудить применимость и 
   работу 31-битных префиксов в двухточечных ссылках. Эффекты 
   (если таковые имеются) на другие типы интерфейсов не рассматриваются.

При такой маски у нас получается только два адреса:
адрес сети он же первый адрес сети
максимальный адрес совпадает с броадкастом

ВАЖНО: они все же не являются адресами сети и бродкаст, а только 
                адресами для работы точка - точка.

       Соответственно перестают работать все протоколы, которые работают на broadcast-трафике. В сети пишут, что это даже больше плюс, чем минус т.к. ибрает возможность атаки.
       
     Лично у меня на старенькой циски 1760 не получилось провернуть такое, но возможно надо обновится(если б можно было конечно).
А вот на JUNIPER SRX-110  прокатило, только надо привыкнуть к синтексу т.к. запись масок в октетах не понимает, только префиксы:

set interfaces ge-0/0/0 unit 0 family inet address 1.2.3.4/28

[edit]
root@SRX_110_CherTELECOM# show interfaces fe-0/0/1            
description to--->ACX_CENTEL_em0.0;
unit 0 {
    family inet {
        address 192.168.2.141/30;
        address 192.168.10.2/31;
    }
}


Причем, к моему идивлению принял такую маску и AddPac:

!
interface FastEthernet0/0
 ip address 10.20.201.36 255.255.255.254
 ip access-group 150 in
 bridge-group 1
 speed auto
 no qos-control
!


       Может на практике с ним что-то м вылезет, но пока весьма достойно смотрится

      Идея безусловно интересная и думаю со временем в провайдерах тема зайдет, а вот в карпорейт ценность этого относительная и условная, куда им такое прикрутить не понятно.

четверг, 7 ноября 2019 г.

Великое падение Microsoft

        Увидел новость о выпуске браузера Microsoft Edge под Linux (www.opennet.ru/opennews/art.shtml?num=51816), к которой не знаю до сих пор как относится. С одной стороны, после добавления Баша в виндовс, тенденция ясна и Windows проиграл и теперь мамонт, долгое время доминировавший на персональном рынке, будет медленно и уверенно сползать с пьедестала. С другой  стороны видна стратегия на сопряжение с Linux системами на дольнейшую агитацию в  духе по сути мы все одно и тоже  путем перетаскивание парочки фирменых фишек и портирование своих продукотов в *nix среду.
       Конечному пользователю будет сложно определить разницу между ОС, если и те и другие пользуются одними и теми же продуктами, одна и та же консоль, но при это дизайн интерфейса у Мелкомягких всегда был на высоте(хотя при этом не всегда и функциональный) - они знали чем брать массы.
      Справедливости ради, они не показали его, только объявили что будет кросс-платформенным и под любую ось, но пока нет его




Linux/UNIX: unixtimestamp - что заперевод, где играет и какая его роль?

         Сейчас, когда пишу, время у меня 1659086347 или  Fri Jul 29 2022 12:19:07 GMT+0300 (Москва, стандартное время)  Забегая вперед, спо...