Index krize v ČR.
Úvod Hledání On-line hry On-line testy Odkazník Registrace Jak podpořit Blogovník Provozní podmínky Zásady ochrany osobních údajů
 



Návštěvy
Celkem:645140
Tento rok:93346
Měsíc:6245
Včera:389
Dnes:208
Online:12
počítadlo ALAWARE.CZ

Úvodní strana  Prohlížení článků  SSHD server na Linuxu OpenSuse, instalace, konfigurace.




SSHD server na Linuxu OpenSuse, instalace, konfigurace.

Jistě znáte klienta PuTTY. Tento klient slouží pro komunikaci s druhou stranou za pomocí protokolů SSH, Telnet, rlogin i nešifrovaného TCP. Abychom však mohli komunikovat, musí na druhé straně být nějaký server se službou, která bude komunikaci zajišťovat. V následujícím textu si vysvětlíme instalaci a konfiguraci SSHD serveru na systému Linux OpenSuse. Pevně věřím, že to pro vás bude přínosné.

Co je to SSHD?

SSHD se skládá z těchto slov: Secure SHell Daemon. Jedná se o tzv. "démona" nebo-li službu, která běží nepřetržitě na serveru nebo prostě nějakém operačním systému, a zajišťuje komunikaci s klienty jako je právě klient PuTTY.

SSH slouží jako náhrada za zastaralý TELNET. Lze jej s výhodou použít pro bezpečnější komunikaci skrz intranet nebo internet. Pokročilejší uživatelé dokáží snadno vytvořit tzv. tunel, kterým na určitém portu přistupují na internet "zevnitř". Tento tunel je šifrovaný a komunikace pro vnějšího pozorovatele nesrozumitelná. Tunel lze implementovat v internetových prohlížečích jako výchozí "proxy". V budoucnosti si přineseme článek s postupem pro zřízení takového bezpečného tunelu. Výhoda takové komunikace je, že nikdo, ani ten, kdo má přístup k HTTPS šifře, nedokáže rozklíčovat posílaná data. A proč? Šifrovací klíč k asymetrické šifře používáte "off-line", nepřenáší se po síti a to zvyšuje bezpečnost tohoto způsobu komunikace. Výsledkem je tedy nejen šifrování SSH, ale také přenos již šifrované komunikace např. v rámci HTTPS (nejčastěji šifrování SSL). Některá přenášená data jsou tedy z pohledu externího šmíráka na váš tunel šifrována hned DVAKRÁT.

Postup instalace SSHD (OpenSSH) na operačním systému Linux OpenSuse 13.1 a pravděpodobně vyšší

1. Zkontrolujte, jestli SSHD je přítomen ve vašem systému. Napište do konzole např. "man sshd". SSHD by mělo být defaultně v systému nainstalováno a mělo by běžet. Dalším příkazem lze otestovat, zda je SSHD aktivní: "/etc/init.d/sshd status".
Další místo, kde můžeme zjistit, jak je to s SSHD, je přes YAST (nebo jiný správce nainstalovaných programů) - zvolit menu Správce programů - a dáme najít "ssh". Vpravo v seznamu uvidíme "openssh". To je ono. Na záložce Seznam souborů můžeme vidět, kde všude je v adresářové struktuře "zasyslen". Pokud není nainstalován, tak jej doinstalujeme a dostaneme se tak na správný výchozí stav. Pokud jsme něco "zprasili", můžeme odinstalovat a následně nainstalovat.

2. Je třeba ošetřit systémový firewall (o kterém předpokládám, že jej používáte).
V konzoli dáme "kwrite /etc/sysconfig/SuSEfirewall2". Najdeme si řádek s parametrem FW_SERVICES_EXT_TCP a dopíšeme např. toto:
FW_SERVICES_EXT_TCP="ssh 10331 smtp www bla bla bla"
Tímto jsme nastavili, aby firewall byl povolený pro příjem dat na portu 10331 (vy si vyberete jiný port) a předtím si zkontrolujete, jestli tento port není obsazený jinou aplikací příkazem: netstat -ltnup | grep ":10331"

3. Restartujeme firewall v konzoli:
/sbin/SuSEfirewall2 off
/sbin/SuSEfirewall2 on

4. Nastavení portu pro SSHD
Nyní nastavíme portu 10331 (vámi vybraný jiný port) pro SSHD.
V konzoli: kwrite /etc/ssh/sshd_config
Odkomentujeme řádek s defaultním portem (22) a přepíšeme na port 10331.

Dále musíme nastavit toto:
PermitRootLogin no  (nepovolíme přihlašování roota)
MaxAuthTries 2 (maximální počet pokusů o zalogování)
RSAAuthentication no (povolení RSA autentifikace)
PermitEmptyPasswords no (povolení prázdného hesla)
LoginGraceTime 2m (max. prodleva)
Protocol 2 (typ protokolu)
X11Forwarding no (povolení X11 protokolu)
MaxSessions 10 (maximální počet relací v jednom okamžiku)
ChallengeResponseAuthentication no  (negací si vynucujeme certifikační přihlášení s privátním klíčem, což chceme, jinak by si server vystačil pouze s heslem a bezpečnost by byla nižší)
PermitTunnel no (pokud nepovolíme, tak tunel např. pro surfování po netu bude zakázaný, pokud povolíme, tak vytvoření tunelu bude povoleno). Tj. v případě varianty "no" budeme moci pouze pracovat vzdáleně na stanici, kde jsme se přes PuTTY přihlásili, pokud dáme "yes", rozšíříme si možnost nastavit komunikační tunel přes daný port a přistupovat přes net šifrovaně skrze server s SSHD.

5. Restartujeme SSHD
V konzoli:
/etc/init.d/sshd stop
/etc/init.d/sshd start

6. Zajistění spuštění SSHD po startu, pokud se po startu nespouští a je neaktivní:
V konzoli:
chkconfig --level 3 sshd on

7. Zajistění a nastavení privátního šifrovacího klíče
Nejrychlejší variantou pro mě bylo stažení putty souborů z oficiálního webu a použití aplikace na windowsech "puttygen.exe", kterou jsem si klíč "openssh" vygeneroval. Tento klíč jsem zkopíroval na operační systém Linux, konkrétně do souboru: /home/Uzivatel/.ssh/authorized_keys

Na adresáři nastavíme správná práva: setfacl -m u:Uzivatel:rx .ssh

8. Otestování PuTTY klientem
Na PuTTY klientovi je potřeba nahrát privátní klíč (který jsme si uložili z aplikace puttygen.exe) ve volbě Auth - Private Key - Open. Nakonfigurujeme si zbytek nastavení PuTTY pro připojení (můžeme si ukázat v některém z dalších článků) a přihlásíme se k serveru.

Aby se šlo přihlásit zvenčí k serveru, je potřeba na routeru nastavit správný "port forwarding", tj. přesměrovat vnější volání na vnitřní.
např. zvenčí 10331 na 192.168.1.1 (IP serveru s SSHD)

9. Log SSHD
Log se nachází v souboru /var/log/messages, lze vygrepovat podle SSH.

10. Omezení přístupu na openssh server
Na závěr můžeme zeditovat soubor
kwrite /etc/security/access.conf

a upřesnit, kdo se může odkud hlásit k openssh serveru např. takto:

- : Uzivatel : 127.0.0.1
- : Uzivatel : 111.112.113.114
+ : Uzivatel : 111.112.113.115
- : Uzivatel : ALL
- : ALL : ALL

Chápete? Mínusem zakazujeme, plusem povolujeme. Uzivateli jsme povolili pouze přístup z IP adresy 111.112.113.115, ostatní přístupy jsou ZAKÁZANÉ. A tomu říkám zabezpečení :-).

Poslední řádek v konfiguráku MUSÍ být prázdný.

11. Editace souboru "sshd" v pam.d
Občas je potřeba zeditovat soubor "sshd" takto:

kwrite /etc/pam.d/sshd

Přidáme řádek (klidně na konec):
account required pam_access.so

Celkově by konfigurace tohoto souboru měla vypadat takto:

auth     requisite    pam_nologin.so
auth     include        common-auth
account  requisite      pam_nologin.so
account  include        common-account
password include        common-password
session     required    pam_loginuid.so
session  include        common-session
session  optional       pam_lastlog.so   silent noupdate showfailed
account required pam_access.so


HOTOVO

Tak. Je potřeba utřít pot z čela, právě jsme absolvovali poměrně běžnou konfiguraci, jakých se v Linuxu dělá mnógo mnógo jest.

Snad se vám tedy instalace úspěšně povedla, v budoucnu si vysvětlíme tunel = bezpečné surfování přes váš server a také si vysvětlíme nástrahy výměny privátního klíče. Ovšem... uvítal bych, kdybyste mi do diskuse napsali, že další pokračování bude přínos. K tomuto postupu jsem se dopracoval po MNOHA hodinách laborování.

Zdroj:
názor a zkušenosti autora
https://cs.wikipedia.org/wiki/PuTTY
https://cs.wikipedia.org/wiki/Secure_Shell
https://cs.wikipedia.org/wiki/HTTPS

--jun--
23.02.2017,14:52
Počet čtenářů: 0


název a sídlo firmy: Josef Nádběla - ALAWARE IČ: 75811511,  sídlo: Moravská 617/18, Chropyně
Firma je zapsána do živnostenského rejstříku pod názvem 'Josef Nádběla', odkaz zde.
Jsme neplátci DPH.

Webový systém NÁDBĚLA WEB INFINITY 1.1.21D - Copyright Josef Nádběla - ALAWARE 2020 - Všechna práva vyhrazena.
CSS 3.0, PHP 5.4.20 STRICT (verze PHP na hostingu: 5.4.20), XHTML 1.0 Strict
Odladěno pro Internet Explorer 9-11; Mozilla Firefox 12-57; Opera 11,12; Google Chrome 20-34, Maxthon Cloud Browser v4.0.3.6000.
v