Zabawa z firewallem potrafi być fajna jednak jeden nieostrożny ruch i możemy utracić dostęp do naszej zdalnej maszyny. W tym wpisie przedstawię jak można trochę się wycwanić jeśli usługodawca oferuje nam maszynę ze zmienionym portem SSH i chcemy na niej uruchomić usługę firewalld. <center>![1.jpg](https://cdn.steemitimages.com/DQmZF9Q4CviXT3PkGeUeHt5Z7CBGmwMgz7m4K4oXf2b45wN/1.jpg)</center> <center>[Źródło](https://unsplash.com/photos/pgdaAwf6IJg)</center> Dla niewtajemniczonych SSH to usługa umożliwiająca zdalne podłączenie się do komputera z Linuksem, a firewalld to usługa ściany przeciwogniowej. Jedziemy! **Wszystkie czynności należy wykonywać jako root.** Załóżmy że dostaliśmy serwer, który domyślnie posiada zainstalowane SSH jednak działa ono na porcie np 5721. Niby nic strasznego, wystarczy podać ten port podczas połączenia i komunikacja z naszym serwerem zostanie zestawiona. Problem pojawia się jeśli chcemy zainstalować na tym serwerze usługę firewalld. Dlaczego? Zakładamy, że nasz system to CentOS zatem wykonujemy następujące operacje: ```text yum install firewalld systemctl start firewalld ``` ...i w tym momencie tracimy dostęp do maszyny. Dlaczego? Ponieważ firewalld nie wie że mamy usługę ssh, w dodatku na zmienionym porcie. W momencie utraty połączenia z naszą maszyną musimy ją albo zrestartować albo w drastycznych sytuacjach przeinstalować. Jak zatem zmienić port na wyłączonej usłudze i w jaki sposób zabezpieczyć się przed utratą dostępu do maszyny kiedy popełnimy błąd? Na samym początku wykonujemy polecenie: ```text cd /etc/firewalld/zones/ ls ``` Naszym oczom powinien pojawić się taki wynik: ```text public.xml public.xml.old ``` Jeśli w tym katalogu znajdują się jeszcze jakieś inne pliki to usuwamy je. Teraz musimy się dowiedzieć jak nazywa się karta sieciowa dzięki której mamy internet. Wpisujemy: ```text ip a ``` U mnie karta sieciowa nazywa się **ens32**. Wyposażeni w tę wiedzę bierzemy się za edycję pliku **public.xml**. Uruchamiamy zatem edytor tekstu np. nano, usuwamy wszystko co jest w tym pliku w taki sposób, aby zawartość **public.xml** wyglądała następująco: ```text <?xml version="1.0" encoding="utf-8"?> <zone> <short>Public</short> <description>For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted</description> </zone> ``` Gdy nasz plik wygląda dokładnie tak jak wyżej to możemy się zabrać za dodanie naszej karty sieciowej do strefy public oraz naszego portu, który chcemy otworzyć. Po edycji plik powinien wyglądać tak: ```text <?xml version="1.0" encoding="utf-8"?> <zone> <short>Public</short> <description>For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are a$ <interface name="ens32"/> <port protocol="tcp" port="5721"/> </zone> ``` ```<interface name="ens32"/>``` - dodaje naszą kartę sieciową do strefy public ```<port protocol="tcp" port="5721"/>``` - otwiera port w strefie public Zapisujemy zmiany. Teraz musimy napisać bardzo prosty skrypt, który w przypadku błędnej konfiguracji firewalla może uratować nam skrórę. Przechodzimy do domowego katalogu użytkownika root... ```text cd ~ ``` ...tworzymy plik i nadajemy mu uprawnienia do wykonywania: ```text touch ratunek.sh chmod +x ./ratunek.sh ``` Otwieramy edytor i wklejamy do tego pliku następującą zawartość: ```text #!/bin/bash systemctl start firewalld sleep 50 systemctl stop firewalld ``` Co ten skrypt robi? Uruchamia usługę firewalld, następnie czeka 50 sekund i ją wyłącza. Po co? Jeśli coś zepsuliśmy podczas konfiguracji firewalla to albo usługa nam nie "wstanie" albo wstanie i utracimy dostęp do naszej maszyny... ale odzyskamy ją w momencie kiedy powyższy skrypt wyłączy firewalla. Dzięki temu z powrotem będziemy mogli zalogować się do maszyny. Oczywiście wartość 50 możemy zmienić na dowolnie inną. Do uruchomienia tego skryptu potrzebujemy jeszcze aplikacji screen. Screen to program który potrafi coś uruchomić i sprawić, że będzie to działać nie jako "w tle". Instalujemy zatem: ```text yum install screen ``` I teraz odpalamy nasz skrypt: ```text screen -S ratunek -md <ścieżka do pliku> ``` Po wciśnięciu przycisku Enter jeśli dalej mamy dostęp do maszyny to wpisujemy polecenie: ```text systemctl status firewalld ``` Gdy otrzymamy taki komunikat: ```text firewalld.service - firewalld - dynamic firewall daemon Loaded: loaded (/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2019-03-15 13:25:19 CET; 48s ago ``` To znaczy, że usługa wstała i działa. Jeśli usługa się nie uruchomi to znaczy, że coś zepsuliśmy podczas konfiguracji. Gdy jednak po uruchomieniu firewalla utracimy dostęp do naszej maszyny to musimy poczekać aż firewall zostanie wyłączony przez skrypt i ponownie otrzymamy władzę nad serwerem. # Źródła Doświadczenia własne. # Wsparcie Podobało się? Obserwuj i [wspieraj!](https://docbox12.github.io/)
post_id | 71,470,285 |
---|---|
author | docbox |
permlink | firewalld-i-niestandardowy-port-ssh |
category | polish |
json_metadata | {"tags":["polish","pl-artykuly","pl-technologia","pl-linux","pl-blog"],"image":["https:\/\/cdn.steemitimages.com\/DQmZF9Q4CviXT3PkGeUeHt5Z7CBGmwMgz7m4K4oXf2b45wN\/1.jpg"],"links":["https:\/\/unsplash.com\/photos\/pgdaAwf6IJg","https:\/\/docbox12.github.io\/"],"app":"steemit\/0.1","format":"markdown"} |
created | 2019-03-14 19:00:57 |
last_update | 2019-03-15 12:26:48 |
depth | 0 |
children | 5 |
net_rshares | 6,416,357,202,656 |
last_payout | 2019-03-21 19:00:57 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 3.323 SBD |
curator_payout_value | 1.033 SBD |
pending_payout_value | 0.000 SBD |
promoted | 0.000 SBD |
body_length | 5,072 |
author_reputation | 6,261,331,052,795 |
root_title | "FirewallD i niestandardowy port SSH" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 SBD |
percent_steem_dollars | 10,000 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
noisy | 0 | 1,690,250,175,789 | 50% | ||
innuendo | 0 | 364,511,347,692 | 50% | ||
lukmarcus | 0 | 108,295,231,850 | 54% | ||
yavinlecretin | 0 | 1,558,819,277 | 60% | ||
cardboard | 0 | 3,647,500,098 | 100% | ||
steemitboard | 0 | 13,034,010,502 | 1% | ||
planter | 0 | 836,416,547,195 | 30% | ||
ocisly | 0 | 8,603,648,831 | 100% | ||
imperfect-one | 0 | 5,449,247,496 | 5% | ||
fervi | 0 | 15,924,049,333 | 60% | ||
sekhmet | 0 | 79,378,410,110 | 60% | ||
mys | 0 | 6,051,494,012 | 5% | ||
tomosan | 0 | 269,507,849 | 100% | ||
aditor | 0 | 4,550,597,272 | 100% | ||
rafalski | 0 | 25,940,376,105 | 90% | ||
nicniezgrublem | 0 | 154,116,735,515 | 100% | ||
alcik | 0 | 18,876,887,703 | 100% | ||
kuc-prawica | 0 | 219,577,916,548 | 81% | ||
breadcentric | 0 | 19,741,439,748 | 100% | ||
tipu | 0 | 414,367,872,256 | 0.61% | ||
bocik | 0 | 18,015,691,344 | 100% | ||
astromaniak | 0 | 23,202,760,498 | 20% | ||
barbarossastudio | 0 | 11,220,837,324 | 60% | ||
mmmmkkkk311 | 0 | 1,346,092,138,204 | 30.45% | ||
remizer | 0 | 336,300,044 | 50% | ||
technocracy | 0 | 5,153,686,483 | 100% | ||
santarius | 0 | 33,532,621,978 | 100% | ||
acronyms | 0 | 1,066,718,983 | 100% | ||
cfminer | 0 | 2,265,574,465 | 100% | ||
marcon | 0 | 60,929,738,757 | 100% | ||
cezarys | 0 | 71,813,422,668 | 100% | ||
lesiopm | 0 | 108,950,807,088 | 54% | ||
steemnova | 0 | 3,029,261,931 | 60% | ||
sarmaticus | 0 | 17,016,494,147 | 60% | ||
kargul09 | 0 | 3,253,831,877 | 100% | ||
beleg | 0 | 33,731,435,686 | 100% | ||
mizej | 0 | 1,719,860,919 | 60% | ||
diosbot | 0 | 456,253,814,560 | 60% | ||
herbacianymag | 0 | 8,128,188,035 | 100% | ||
hellobot | 0 | 829,062,837 | 60% | ||
informator | 0 | 2,254,446,075 | 15.22% | ||
kurator-polski | 0 | 30,110,513,619 | 60% | ||
kacperski | 0 | 654,875,056 | 100% | ||
glodniwiedzy | 0 | 18,269,659,066 | 100% | ||
ciekawski | 0 | 2,013,697,299 | 100% | ||
freakout-pl | 0 | 740,984,878 | 100% | ||
nero12 | 0 | 106,417,293,058 | 60% | ||
xara | 0 | 127,867,639 | 100% | ||
dgameshop | 0 | 2,087,639,663 | 60% | ||
steemfounders | 0 | 607,125,144 | 100% | ||
bdpss | 0 | 70,754,074 | 100% | ||
nieidealna.mama | 0 | 17,422,479,744 | 100% | ||
anshia | 0 | 3,105,005,504 | 100% | ||
gameeit | 0 | 1,479,539,272 | 100% | ||
bitinfobot | 0 | 669,486,899 | 60% | ||
bgornicki | 0 | 944,066,486 | 100% | ||
anshia-tv | 0 | 283,669,477 | 100% | ||
moonwind | 0 | 1,867,441,881 | 100% | ||
pl-spolecznosc | 0 | 659,668,587 | 60% | ||
tipu.curator | 0 | 20,361,107,716 | 50% | ||
dmusicshop | 0 | 678,364,867 | 60% | ||
qncept | 0 | 553,748,604 | 100% | ||
myslnarodowa | 0 | 3,141,053,950 | 100% | ||
mizej-studio | 0 | 785,126,606 | 60% | ||
pl-pszczelarstwo | 0 | 307,342,926 | 60% | ||
psychebtc | 0 | 1,140,764,924 | 60% | ||
beleg2 | 0 | 158,111,359 | 100% | ||
narodowcy.net | 0 | 834,185,714 | 100% | ||
notzna | 0 | 1,507,119,560 | 60% |
Nic nie rozumiem, ale i tak lubię to 👍 Posted using [Partiko Android](https://partiko.app/referral/sarmaticus)
post_id | 71,470,819 |
---|---|
author | sarmaticus |
permlink | sarmaticus-re-docbox-firewalld-i-niestandardowy-port-ssh-20190314t191737562z |
category | polish |
json_metadata | {"app":"partiko","client":"android"} |
created | 2019-03-14 19:17:39 |
last_update | 2019-03-14 19:17:39 |
depth | 1 |
children | 0 |
net_rshares | 4,506,176,735 |
last_payout | 2019-03-21 19:17:39 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 SBD |
curator_payout_value | 0.000 SBD |
pending_payout_value | 0.000 SBD |
promoted | 0.000 SBD |
body_length | 111 |
author_reputation | 1,929,992,207,692 |
root_title | "FirewallD i niestandardowy port SSH" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 SBD |
percent_steem_dollars | 10,000 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
docbox | 0 | 4,506,176,735 | 100% |
!tipuvote hide Posted using [Partiko Android](https://partiko.app/referral/nieidealna.mama)
post_id | 71,472,904 |
---|---|
author | nieidealna.mama |
permlink | nieidealna-mama-re-docbox-firewalld-i-niestandardowy-port-ssh-20190314t201908238z |
category | polish |
json_metadata | {"app":"partiko","client":"android"} |
created | 2019-03-14 20:19:09 |
last_update | 2019-03-14 20:19:09 |
depth | 1 |
children | 0 |
net_rshares | 4,458,020,478 |
last_payout | 2019-03-21 20:19:09 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 SBD |
curator_payout_value | 0.000 SBD |
pending_payout_value | 0.000 SBD |
promoted | 0.000 SBD |
body_length | 92 |
author_reputation | 13,081,774,742,601 |
root_title | "FirewallD i niestandardowy port SSH" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 SBD |
percent_steem_dollars | 10,000 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
docbox | 0 | 4,458,020,478 | 100% |
Congratulations @docbox! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) : <table><tr><td>https://steemitimages.com/60x70/http://steemitboard.com/@docbox/posts.png?201903142010</td><td>You published more than 60 posts. Your next target is to reach 70 posts.</td></tr> </table> <sub>_You can view [your badges on your Steem Board](https://steemitboard.com/@docbox) and compare to others on the [Steem Ranking](http://steemitboard.com/ranking/index.php?name=docbox)_</sub> <sub>_If you no longer want to receive notifications, reply to this comment with the word_ `STOP`</sub> To support your work, I also upvoted your post! **Do not miss the last post from @steemitboard:** <table><tr><td><a href="https://steemit.com/drugwars/@steemitboard/drugwars-early-adopter"><img src="https://steemitimages.com/64x128/https://cdn.steemitimages.com/DQmYGN7R653u4hDFyq1hM7iuhr2bdAP1v2ApACDNtecJAZ5/image.png"></a></td><td><a href="https://steemit.com/drugwars/@steemitboard/drugwars-early-adopter">Are you a DrugWars early adopter? Benvenuto in famiglia!</a></td></tr></table> ###### [Vote for @Steemitboard as a witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1) to get one more award and increased upvotes!
post_id | 71,474,634 |
---|---|
author | steemitboard |
permlink | steemitboard-notify-docbox-20190314t211356000z |
category | polish |
json_metadata | {"image":["https:\/\/steemitboard.com\/img\/notify.png"]} |
created | 2019-03-14 21:13:54 |
last_update | 2019-03-14 21:13:54 |
depth | 1 |
children | 0 |
net_rshares | 0 |
last_payout | 2019-03-21 21:13:54 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 SBD |
curator_payout_value | 0.000 SBD |
pending_payout_value | 0.000 SBD |
promoted | 0.000 SBD |
body_length | 1,308 |
author_reputation | 38,705,954,145,809 |
root_title | "FirewallD i niestandardowy port SSH" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 SBD |
percent_steem_dollars | 10,000 |
Sprytne rozwiązanie z tym skryptem. Co do odcięcia się tak ogólnie, to wtedy docenia się IPMI w serwerze, jeśli istnieje. :)
post_id | 71,495,062 |
---|---|
author | ciekawski |
permlink | re-docbox-firewalld-i-niestandardowy-port-ssh-20190315t063238190z |
category | polish |
json_metadata | {"community":"busy","app":"busy\/2.5.6","format":"markdown","tags":["polish"],"users":[],"links":[]} |
created | 2019-03-15 06:32:42 |
last_update | 2019-03-15 06:34:30 |
depth | 1 |
children | 0 |
net_rshares | 0 |
last_payout | 2019-03-22 06:32:42 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 SBD |
curator_payout_value | 0.000 SBD |
pending_payout_value | 0.000 SBD |
promoted | 0.000 SBD |
body_length | 125 |
author_reputation | 1,980,006,731,117 |
root_title | "FirewallD i niestandardowy port SSH" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 SBD |
percent_steem_dollars | 10,000 |
Spoko. Ja na niektórych swoich maszynach, w szczególności takich na których często się bawię firewallem, mam w cronie zadanie, które sprawdza czy na pewno mój niestandardowy port SSH jest otwarty. Jeśli nie, to odpala się konkretne polecenie `iptable`, które ten port otwiera. Czyli jakby na odwrót, niż u Ciebie, ale lepsze dla mojej paranoi, bo nie wyłączam firewalla ani na chwilę.
post_id | 71,510,371 |
---|---|
author | alcik |
permlink | re-docbox-firewalld-i-niestandardowy-port-ssh-20190315t142058645z |
category | polish |
json_metadata | {"tags":["polish"],"app":"steemit\/0.1"} |
created | 2019-03-15 14:21:03 |
last_update | 2019-03-15 14:21:03 |
depth | 1 |
children | 0 |
net_rshares | 1,394,573,154 |
last_payout | 2019-03-22 14:21:03 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 SBD |
curator_payout_value | 0.000 SBD |
pending_payout_value | 0.000 SBD |
promoted | 0.000 SBD |
body_length | 386 |
author_reputation | 1,230,268,770,812 |
root_title | "FirewallD i niestandardowy port SSH" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 SBD |
percent_steem_dollars | 10,000 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
ciekawski | 0 | 1,394,573,154 | 100% |