Tydyt:Linux: Porovnání verzí
(→IP tables) |
(→Riční kopírování) |
||
(Není zobrazeno 15 mezilehlých verzí od stejného uživatele.) | |||
Řádka 59: | Řádka 59: | ||
* https://www.ipv6.cz | * https://www.ipv6.cz | ||
* [http://www.potaroo.net/cgi-bin/ipv6addr Ověření IP6 adresy] | * [http://www.potaroo.net/cgi-bin/ipv6addr Ověření IP6 adresy] | ||
+ | |||
+ | == IP Forward == | ||
+ | Po základní instalaci systému je forward mezi jednotlivými síťovými porty blokovaný. Aktuální stav můžeme ověřit z jedním z příkazů: | ||
+ | sysctl net.ipv4.ip_forward | ||
+ | |||
+ | cat /proc/sys/net/ipv4/ip_forward | ||
+ | Pro trvalou změnu je nutné provést edit souboru | ||
+ | /etc/sysctl.conf: | ||
+ | net.ipv4.ip_forward = 1 | ||
+ | |||
== Rozdělení disku == | == Rozdělení disku == | ||
Řádka 80: | Řádka 90: | ||
== Vytvoření uživatele == | == Vytvoření uživatele == | ||
+ | |||
Přidání uživatele: | Přidání uživatele: | ||
add user "jméno_uživatele" | add user "jméno_uživatele" | ||
Řádka 89: | Řádka 100: | ||
/bin/false | /bin/false | ||
/usr/bin/scponly | /usr/bin/scponly | ||
+ | |||
+ | == SSH přístup == | ||
+ | === Vygenerování klíče === | ||
+ | Pokud chceme umožnit přístup na vzdálené zařízení baz zadávání hesla, můžeme vytvorit ssh klíč. Ten následně nakopírujeme na vdálený systém. Při tvorbě se vždy generuje pár souborů, kdy první je privátní. Ten musíme střežit a nikde nezveřejnit ! | ||
+ | |||
+ | Vygenerování klíče provedeme příkazem: | ||
+ | ssh-keygen | ||
+ | Pokud přidáme parametr ''-b 4096'' zvýšíme tím velikost kíče na 4096 bitů pro vyšší bezpečnost. | ||
+ | |||
+ | Při spuštění generování budeme následně vyzváni k možnosti změnit umístění klíče a zadání hesla pro klíč. Vše stačí potvrdit a následně se vygenerují klíče bez hesla. | ||
+ | Generating public/private rsa key pair. | ||
+ | Enter file in which to save the key (/home/tydyt/.ssh/id_rsa): | ||
+ | Enter passphrase (empty for no passphrase): | ||
+ | Enter same passphrase again: | ||
+ | Your identification has been saved in /home/tydyt/.ssh/id_rsa. | ||
+ | Your public key has been saved in /home/tydyt/.ssh/id_rsa.pub. | ||
+ | The key fingerprint is: | ||
+ | SHA256:8VIC0jO0i7w3Ml+FAXvk4HdTRs1EQuZwkf6YOGmv6Ho tydyt@TydytPC | ||
+ | The key's randomart image is: | ||
+ | +---[RSA 2048]----+ | ||
+ | | .o= . .oXBo | | ||
+ | | o+O B..o | | ||
+ | | +oB +.. | | ||
+ | | . . + O .. | | ||
+ | | o . S oo + | | ||
+ | | . o= o . | | ||
+ | | + o .. o | | ||
+ | | = oE. . | | ||
+ | | o+o .. | | ||
+ | +----[SHA256]-----+ | ||
+ | Pokud již dříve jsme měli klíč na zvoleném místě vygenerovaný, budeme dotázáni zda se klíč má přepsat: | ||
+ | Generating public/private rsa key pair. | ||
+ | Enter file in which to save the key (/home/tydyt/.ssh/id_rsa): | ||
+ | /home/tydyt/.ssh/id_rsa already exists. | ||
+ | Overwrite (y/n)? | ||
+ | Pokud potvrdíme ''y'' bude původní klič zrušen a nebude možný vzdálený přístup na něj vázaný. | ||
+ | === Zobrazení otisku klíče === | ||
+ | Pro kontrolu o jaký klíč se jedná, můžeme se podívat na otisk klíče. ten nám zobrazí velikost vlastního klíče, typ sifrování, vlastní otisk a poznámku. | ||
+ | ssh-keygen -l | ||
+ | Následně budeme požádání o potvrzení, nebo změnu umístění klíče a poté se otisk zobrazí: | ||
+ | Enter file in which the key is (/home/tydyt/.ssh/id_rsa): | ||
+ | 2048 SHA256:8VIC0jO0i7w3Ml+FAXvk4HdTRs1EQuZwkf6YOGmv6Ho tydyt@TydytPC (RSA) | ||
+ | === Kopírování klíče na server === | ||
+ | Pokud chceme překopírovat klíč (vždy jen veřejnou část) na vzdálený server, máme několik možností: | ||
+ | ==== Pomocí ssh-copy-id ==== | ||
+ | Na větčině serverů je k dispozici utilita ''ssh-copy-id'' která nám umožní jednoduchá přidání klíče. K tomu ale také potřebujeme mít přihlašovací ůdaje z heslem. Zadáme: | ||
+ | ssh-copy-id username@remote_host | ||
+ | Po spuštění budeme vyzváni k potvezení a zadání hesla vzdáleného serveru: | ||
+ | /usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/tydyt/.ssh/id_rsa.pub" | ||
+ | The authenticity of host 'ansible.moderntv.eu (188.246.114.145)' can't be established. | ||
+ | ECDSA key fingerprint is SHA256:eFgPuDO1hrHgZBH0W6ZzNqJqvKVbQMpMWLHwfWETzBo. | ||
+ | Are you sure you want to continue connecting (yes/no)? yes | ||
+ | /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 | ||
+ | Password: | ||
+ | |||
+ | Number of key(s) added: 1 | ||
+ | |||
+ | Now try logging into the machine, with: "ssh 'username@remote_host'" | ||
+ | and check to make sure that only the key(s) you wanted were added. | ||
+ | |||
+ | ==== Bez ssh-copy-id ==== | ||
+ | Pokud příkaz ''ssh-copy-id'' není k dispozici, ale máme na server ssh přístup pomocí loginu a hesla, můžeme provést nakopírování následovně: | ||
+ | cat ~/.ssh/id_rsa.pub | ssh username@remote_host "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys" | ||
+ | Po spuštění budeme vyzváni k uložení vzdáleného klíče a hesla na vzdálený server. | ||
+ | |||
+ | ==== Riční kopírování ==== | ||
+ | Ruční kopírování přináší ryziko chyby při kopírování a je nejpracnější. Přesto v některých případech je potřebné. Nejdříve si na místním počítači zobrazíme vlastní veřejný klíč: | ||
+ | cat ~/.ssh/id_rsa.pub | ||
+ | Zobrazený obsah zkopírujeme do schránky pro skopírování na vzdáleném serveru. | ||
+ | |||
+ | Na vzdáleném serveru zkontrolujem že existuje adresář .ssh. | ||
+ | ls -l ~/.ssh | ||
+ | pokud neexistuje, tak jej vytvoříme a vstoupíme do něj | ||
+ | mkdir -p ~/.ssh | ||
+ | Nasledně přidáme klíč do patřičného souboru | ||
+ | echo sem_vlozte_retezec_verejneho_klice >> ~/.ssh/authorized_keys | ||
== Rychlost spojů == | == Rychlost spojů == | ||
Řádka 111: | Řádka 199: | ||
== IP tables == | == IP tables == | ||
+ | Možnosti (základní): | ||
+ | -L: slouží k vypsání pravidel | ||
+ | -S: slouží k vypsání pravidel | ||
+ | |||
+ | -P: zadání hlavního pravidla (politika) | ||
+ | |||
+ | -A: přidání nového pravidla na konec seznamu | ||
+ | -I: přidání nového pravidla na začátek seznamu | ||
+ | |||
+ | -D: slouží k smazání pravidla | ||
+ | -F: slouží k vymazání pravidel | ||
+ | |||
+ | -N: založení nového řetězce | ||
+ | -X: smazání námi vytvořeného řetězce | ||
+ | -E: přejmenování řetězce | ||
+ | Pravidla (základní): | ||
+ | -s: zdrojová IP paketu, popřípadě rozsah adres, adresa může být doplněna maskou | ||
+ | -d: cílová IP paketu a nebo rozsah adres | ||
+ | -i: vstupní zařízení, kterým paket přijde do PC např. eth0 | ||
+ | -o: výstupní zařízení, kterým odejde paket z PC | ||
+ | --sport: zdrojový port paketu | ||
+ | --dport: port na který paket putuje | ||
+ | |||
+ | |||
+ | |||
#politiky FW | #politiky FW | ||
/sbin/iptables -P INPUT DROP # vše co jde na vstup PC zahoď | /sbin/iptables -P INPUT DROP # vše co jde na vstup PC zahoď |
Aktuální verze z 11. 4. 2020, 10:03
Obsah
Instalace Linux
netstat
- netstat -lp - Zobrazí otevřené porty na PC
Odkaz na příkazy
Změna vlastnictví:
- chown [-R] usernsme filename
- chgrp [-R] usernsme filename
IP6
Přikazy
Výpis routy:
- route -A inet6
- ip -6 route show
Výpis pravidel:
- ip6tables -L
Teredo – IPv6 jednoduše
Pokud používáte distribuci Debian nebo Ubuntu (GNU/Linux), ke zprovoznění stačí jeden příkaz:
apt-get install miredo
Aplikace by se po instalaci měla sama spustit a teredo tunel vytvořit. Kontrolu provedeme pomocí příkazu ifconfig:
teredo Link encap:NEZNÁM HWadr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 inet6-adr: fe80::ffff:ffff:ffff/64 Rozsah:Linka inet6-adr: 2001:0:d91f:cca0:8e5:7cbc:a18e:ca17/32 Rozsah:Globál AKTIVOVÁNO POINTOPOINT BĚŽÍ NEARP MULTICAST MTU:1280 Metrika:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:3 errors:0 dropped:0 overruns:0 carrier:0 kolizí:0 délka odchozí fronty:500 RX bytes:0 (0.0 B) TX bytes:144 (144.0 B)
Nakonec zkusíme příkazem ping6 ověřit dostupnost IPv6 sítě:
$ ping6 -c 4 ipv6.google.com PING ipv6.google.com(fra07s07-in-x69.1e100.net) 56 data bytes 64 bytes from fra07s07-in-x69.1e100.net: icmp_seq=1 ttl=59 time=78.7 ms 64 bytes from fra07s07-in-x69.1e100.net: icmp_seq=2 ttl=59 time=25.5 ms 64 bytes from fra07s07-in-x69.1e100.net: icmp_seq=3 ttl=59 time=25.4 ms 64 bytes from fra07s07-in-x69.1e100.net: icmp_seq=4 ttl=59 time=26.6 ms --- ipv6.google.com ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3002ms rtt min/avg/max/mdev = 25.410/39.075/78.764/22.919 ms
Pro kvalitnější připojení pro ČR ještě změníme v souboru /etc/miredo/miredo.conf teredo server na server CZ.NICu přidáním řádku (původní adresu zakomentovat):
ServerAddress teredo.nic.cz
a miredo restartujeme:
/etc/init.d/miredo restart
Odkazy
IP Forward
Po základní instalaci systému je forward mezi jednotlivými síťovými porty blokovaný. Aktuální stav můžeme ověřit z jedním z příkazů:
sysctl net.ipv4.ip_forward cat /proc/sys/net/ipv4/ip_forward
Pro trvalou změnu je nutné provést edit souboru
/etc/sysctl.conf: net.ipv4.ip_forward = 1
Rozdělení disku
/ - kořenový souborový systém /home - Domovsý adresář uživatelů /tmp - Dočasné soubory /usr - neměnná data /var - proměnlivá data /srv - data pro služby poskytované systémem /opt - přídavný software třetích stran /usr/local - lokální hierarchie mkfs.ext4 /dev/sda3 - formátuje disk sda3 na ext4
Výpis informací
cat /proc/partitions - vypíše seznam disků v PC df - vypíše využití jednotlivých připojených disků du -h - vypíše využití jednotlivých adresářů ( parametr --max-depth=N omezí úroveň adresářů ) blkid - Vypíše seznam UUID jednotlivých partišen disků (místo UUID je možné použít LABEL, pokud existuje)
Vytvoření uživatele
Přidání uživatele:
add user "jméno_uživatele"
Změna shelu při přihlášení
chsh -s /bin/false "jméno_uživatele"
nebo
chsh "jméno_uživatele" /bin/false /usr/bin/scponly
SSH přístup
Vygenerování klíče
Pokud chceme umožnit přístup na vzdálené zařízení baz zadávání hesla, můžeme vytvorit ssh klíč. Ten následně nakopírujeme na vdálený systém. Při tvorbě se vždy generuje pár souborů, kdy první je privátní. Ten musíme střežit a nikde nezveřejnit !
Vygenerování klíče provedeme příkazem:
ssh-keygen
Pokud přidáme parametr -b 4096 zvýšíme tím velikost kíče na 4096 bitů pro vyšší bezpečnost.
Při spuštění generování budeme následně vyzváni k možnosti změnit umístění klíče a zadání hesla pro klíč. Vše stačí potvrdit a následně se vygenerují klíče bez hesla.
Generating public/private rsa key pair. Enter file in which to save the key (/home/tydyt/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/tydyt/.ssh/id_rsa. Your public key has been saved in /home/tydyt/.ssh/id_rsa.pub. The key fingerprint is: SHA256:8VIC0jO0i7w3Ml+FAXvk4HdTRs1EQuZwkf6YOGmv6Ho tydyt@TydytPC The key's randomart image is: +---[RSA 2048]----+ | .o= . .oXBo | | o+O B..o | | +oB +.. | | . . + O .. | | o . S oo + | | . o= o . | | + o .. o | | = oE. . | | o+o .. | +----[SHA256]-----+
Pokud již dříve jsme měli klíč na zvoleném místě vygenerovaný, budeme dotázáni zda se klíč má přepsat:
Generating public/private rsa key pair. Enter file in which to save the key (/home/tydyt/.ssh/id_rsa): /home/tydyt/.ssh/id_rsa already exists. Overwrite (y/n)?
Pokud potvrdíme y bude původní klič zrušen a nebude možný vzdálený přístup na něj vázaný.
Zobrazení otisku klíče
Pro kontrolu o jaký klíč se jedná, můžeme se podívat na otisk klíče. ten nám zobrazí velikost vlastního klíče, typ sifrování, vlastní otisk a poznámku.
ssh-keygen -l
Následně budeme požádání o potvrzení, nebo změnu umístění klíče a poté se otisk zobrazí:
Enter file in which the key is (/home/tydyt/.ssh/id_rsa): 2048 SHA256:8VIC0jO0i7w3Ml+FAXvk4HdTRs1EQuZwkf6YOGmv6Ho tydyt@TydytPC (RSA)
Kopírování klíče na server
Pokud chceme překopírovat klíč (vždy jen veřejnou část) na vzdálený server, máme několik možností:
Pomocí ssh-copy-id
Na větčině serverů je k dispozici utilita ssh-copy-id která nám umožní jednoduchá přidání klíče. K tomu ale také potřebujeme mít přihlašovací ůdaje z heslem. Zadáme:
ssh-copy-id username@remote_host
Po spuštění budeme vyzváni k potvezení a zadání hesla vzdáleného serveru:
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/tydyt/.ssh/id_rsa.pub" The authenticity of host 'ansible.moderntv.eu (188.246.114.145)' can't be established. ECDSA key fingerprint is SHA256:eFgPuDO1hrHgZBH0W6ZzNqJqvKVbQMpMWLHwfWETzBo. Are you sure you want to continue connecting (yes/no)? yes /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 Password: Number of key(s) added: 1 Now try logging into the machine, with: "ssh 'username@remote_host'" and check to make sure that only the key(s) you wanted were added.
Bez ssh-copy-id
Pokud příkaz ssh-copy-id není k dispozici, ale máme na server ssh přístup pomocí loginu a hesla, můžeme provést nakopírování následovně:
cat ~/.ssh/id_rsa.pub | ssh username@remote_host "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
Po spuštění budeme vyzváni k uložení vzdáleného klíče a hesla na vzdálený server.
Riční kopírování
Ruční kopírování přináší ryziko chyby při kopírování a je nejpracnější. Přesto v některých případech je potřebné. Nejdříve si na místním počítači zobrazíme vlastní veřejný klíč:
cat ~/.ssh/id_rsa.pub
Zobrazený obsah zkopírujeme do schránky pro skopírování na vzdáleném serveru.
Na vzdáleném serveru zkontrolujem že existuje adresář .ssh.
ls -l ~/.ssh
pokud neexistuje, tak jej vytvoříme a vstoupíme do něj
mkdir -p ~/.ssh
Nasledně přidáme klíč do patřičného souboru
echo sem_vlozte_retezec_verejneho_klice >> ~/.ssh/authorized_keys
Rychlost spojů
Výsledek testu rychlosti v různé technoligii
Typ připojení, protokol | Rychlost: | Poznámka: |
Ubnt - NstationM5 | 35 Mbit/s | Při zaplá kompresi se zvýší rychlost, ale odezva se zvýší okolo 3ms |
RB433AH - 5GHz/N WDS | 35 Mbit/s | |
RB433AH - 5GHz/N Klient | 42 Mbit/s | |
RB433AH - 5GHz-turbo | 39 Mbit/s | |
RB433AH - 5GHz Nstreme Dual | 38 Mbit/s | |
RB433AH - 5GHz-turbo Nstreme Dual | 58 Mbit/s |
IP tables
Možnosti (základní):
-L: slouží k vypsání pravidel -S: slouží k vypsání pravidel -P: zadání hlavního pravidla (politika) -A: přidání nového pravidla na konec seznamu -I: přidání nového pravidla na začátek seznamu -D: slouží k smazání pravidla -F: slouží k vymazání pravidel -N: založení nového řetězce -X: smazání námi vytvořeného řetězce -E: přejmenování řetězce
Pravidla (základní):
-s: zdrojová IP paketu, popřípadě rozsah adres, adresa může být doplněna maskou -d: cílová IP paketu a nebo rozsah adres -i: vstupní zařízení, kterým paket přijde do PC např. eth0 -o: výstupní zařízení, kterým odejde paket z PC --sport: zdrojový port paketu --dport: port na který paket putuje
- politiky FW
/sbin/iptables -P INPUT DROP # vše co jde na vstup PC zahoď /sbin/iptables -P FORWARD DROP # vše co chce jen projít počítačem zahoď /sbin/iptables -P OUTPUT ACCEPT # vše co odchází z PC nech odejít
- NAT
echo "1" > /proc/sys/net/ipv4/ip_forward # povolení forwardingu v jádře /sbin/iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE # změna zdrojové LAN adresy na zdrojovou WAN adresu /sbin/iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT #povolí vše z eth0 směřující na eth1 /sbin/iptables -A FORWARD -i eth1 -o eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT #povolí přeposílání z rozhraní WAN na rozhraní LAN u existujících a nebo souvisejících spojení
- FW pravidla
/sbin/iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT # propust spojeni která byla inicializovaná zevnitř /sbin/iptables -A INPUT -i lo -j ACCEPT #propust na vstup vše pokud je vstupní rozhraní loopback /sbin/iptables -A INPUT -p tcp --dport 80 -j ACCEPT #HTTP server, propustí vstupní data na port 80 /sbin/iptables -A INPUT -p tcp --dport 22 -j ACCEPT #SSH server, propustí vstupní data na port 22 /sbin/iptables -A INPUT -p tcp --dport 20:21 -j ACCEPT # FTP server, povolen rozsah portů 20-21 /sbin/iptables -A INPUT -p udp --dport 4672 -j # aMule , povolen UDP port 4672 /sbin/iptables -A INPUT -p tcp --dport 4662 -j # aMule , povolen TCP port 4662 /sbin/iptables -A INPUT -p ICMP --icmp-type echo-request -j ACCEPT
Asterisk
Přihlášení tranku - obecně
PEER Details: username="login" type=peer secret="heslo" qualify=10000 insecure=very host="sip.pbx.net" context=from-trunk Register String: "login":"heslo"@"sip.pbx.net"
Přihlášení k 802.cz
PEER Details: username="tel_cislo" type=friend secret="heslo" qualify=10000 insecure=very host=hlas.802.cz context=from-trunk Register String: "tel_cislo":"heslo"@hlas.802.cz/"tel_cislo"
Propojení dvou systémů - vázáno na IP
PEER Details: type=peer defaultip="IP protistrany" nat=no canreinvite=no insecure=yes dtmfmode=rfc2833 host="IP protistrany" USER Details: type=peer host="IP protistrany" context=in_operator defaultip="IP protistrany" nat=no canreinvite=yes insecure=yes dtmfmode=rfc2833