サーバー上のログファイルを調べていたところ、次の行が見つかりました:/var/log/.auth.log.1
:
pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruse r= rhost=218.87.109.156 user=root
Failed password for root from 218.87.109.156 port 7612 ssh2
message repeated 5 times: [ Failed password for root from 218.87.109.156 port 7 612 ssh2]
error: maximum authentication attempts exceeded for root from 218.87.109.156 po rt 7612 ssh2 [preauth]
Disconnecting: Too many authentication failures [preauth]
PAM 5 more authentication failures; logname= uid=0 euid=0 tty=ssh ruser= rhost= 218.87.109.156 user=root
PAM service(sshd) ignoring max retries; 6 > 3
pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruse r= rhost=218.87.109.156 user=root
Failed password for root from 218.87.109.156 port 50092 ssh2
message repeated 5 times: [ Failed password for root from 218.87.109.156 port 5 0092 ssh2]
Failed password for invalid user service from 188.187.119.158 port 52722 ssh2
pam_unix(sshd:auth): check pass; user unknown
Failed password for root from 113.195.145.79 port 6500 ssh2
Received disconnect from 121.18.238.39 port 58070:11: [preauth]
Failed password for root from 121.18.238.119 port 57538 ssh2
Failed password for root from 121.18.238.39 port 57268 ssh2
Failed password for root from 121.18.238.106 port 34360 ssh2
Disconnected from 92.222.216.31 port 58960 [preauth]
Invalid user truman from 92.222.216.31
Received disconnect from 92.222.216.31 port 33922:11: Normal Shutdown, Thank you for playing [preauth]
input_userauth_request: invalid user truman [preauth]
そして、数千行にわたってこのように続けられます!
そしてまたどこかに私が持っています:
Nov 30 13:17:01 Aran CRON[6038]: pam_unix(cron:session): session opened for user root by (uid=0)
ここでCRONとはどういう意味ですか?だから誰かが私にこれらのログが何であるか説明してもらえますか?私は危険にさらされていますか?自分自身をより安全にするにはどうすればよいですか?
この答えは、実際にホストにログインしようとしている人には答えませんが、その人がどこから来たのかを知ることができます。
Sshを介してログインするためにパスワードを使用する場合は、システムにハッキングしようとしている人々に対していくつかの予防措置を講じる必要があります。個人的に使用する場合は、fail2ban
を使用し、iptables
およびipset
を使用する独自のスクリプトを作成します。後者は、国のIPがポート22でホストに着信するのを完全にブロックするために使用します。また、国をブロックするかどうかを判断するためにIPの送信元を確認する方法としてgeoiplookup
をインストールしましたか否か。以下のスクリプトは、ipdeny.com
からIPのセットを取得します。ほとんどの場合ポート22を開いたままにしておくので、ホストでの試行回数が大幅に減少しました。
fail2ban
のインストール:
Sudo apt install fail2ban
通常、fail2ban
を使用すると、デフォルト設定で問題ありません。変更する場合は、/etc/fail2ban/jail.conf
を/etc/fail2ban/jail.local
としてコピーし、作成したjail.local
ファイルに変更を加えてください。 /var/log/fail2ban.log
ファイルで失敗した試行を確認することもできます。
geoiplookup
のインストール:
Sudo apt install geoip-bin
その後、IPアドレスの送信元を確認できます。
~$ geoiplookup 218.87.109.156
GeoIP Country Edition: CN, China
作成した国ブロックスクリプト。
カントリーブロックに必要なアプリケーションはipset
です。このアプリケーションでは、iptables
のステータスを確認するときに、個々のIPアドレスを表示する代わりに、iptables
がIPのブロックを使用できます。
Sudo apt install ipset
クリーンアップできるものはたくさんあると確信しています。私は自分のホームフォルダに私のものを入れてcountry_block.bsh
と呼びました。 スクリプトはiptables
に変更を加えるため、Sudo
から呼び出す必要があります。スクリプトにチェックを追加しました。
#!/bin/bash
function custom(){
echo "Removing CUSTOM_IP set..."
prts=$(iptables -nvL INPUT | grep "CUSTOM_IP" | awk '{print $15}')
iptables -D INPUT -p tcp -m set --match-set CUSTOM_IP src -m multiport --dport ${prts} -j DROP 2>/dev/null
ipset destroy CUSTOM_IP
ipset -N CUSTOM_IP hash:net
echo "Creating CUSTOM_IP set..."
for i in $(cat custom.zone); do ipset -A CUSTOM_IP $i; done
echo "Creating rules for CUSTOM_IP set..."
iptables -A INPUT -p tcp -m set --match-set CUSTOM_IP src -m multiport --dports ${ports} -j DROP
}
function tablecheck(){
iptables -S INPUT | grep -v ACCEPT
}
# Check for ipset
which ipset >/dev/null
case $? in
1) echo "ipset not found on system. Please install ipset application."
exit 1;;
0);;
esac
# Check for root
if [ "$EUID" -ne 0 ]; then
echo "Please run this script as root"
exit 1
fi
# Set ports
ports=22,10000
# Check for country codes, if none, print list.
if [[ $@ == "" ]]; then
curl http://www.ipdeny.com/ipblocks/ 2>/dev/null | grep "<td>" | awk -F'<p>' '{print $2}' | awk -F'[' '{print $1}' | grep -v -e '^$'
echo "Choose any of the countries by typing in the two letter code between the ( )."
exit
fi
if [[ $1 == "custom" ]]; then
if [ ! -f custom.zone ]; then
echo "Missing custom.zone file. Please create custom.zone file with IP addresses for blocking."
exit
fi
custom
tablecheck
exit
fi
#Set ISO to country code(s).
ISO=$@
#Start Loop for country IP blocks and creating IPTABLES chain(s).
for c in $ISO; do
#Convert to lowercase. If already lowercase, ignored.
c=$(echo $c | awk '{print tolower($0)}')
#Match code to country name
country=$(curl http://www.ipdeny.com/ipblocks/ 2>/dev/null | grep \($(echo $c | awk '{print toupper($0)}')\) | awk -F'<p>' '{print $2}' | awk -F'(' '{print $1}' | sed 's/ //g' | sed 's/,//g')
# Truncate to 31 characters if too long.
country=${country:0:31}
echo "Got country $country..."
echo "Removing Existing Rule for $country (if any)..."
prts=$(iptables -nvL INPUT | grep "$country" | awk '{print $15}')
iptables -D INPUT -p tcp -m set --match-set "$country" src -m multiport --dport ${prts} -j DROP 2>/dev/null
ipset destroy $country
ipset -N $country hash:net
rm $c.zone 2>/dev/null
echo "Downloading IP block for $country..."
wget -P . http://www.ipdeny.com/ipblocks/data/countries/$c.zone 2>/dev/null
echo "Checking for invalid IP ranges in $country zone..."
for i in $(seq 1 7); do grep "/$i$" $c.zone; if [[ $? == "0" ]]; then sed -i "s/\/${i}$/\/24/" $c.zone; echo "Fixed..."; fi; done
echo "Creating iptable block for $country..."
for i in $(cat $c.zone); do ipset -A "$country" $i; done
echo "Adding rule to firewall..."
iptables -A INPUT -p tcp -m set --match-set "$country" src -m multiport --dports ${ports} -j DROP
echo "Added Firewall Rule for $country"
rm $c.zone 2>/dev/null
done
if [[ $# == "1" || $1 -ne "custom" ]]; then
tablecheck
else
if [ ! -f custom.zone ]; then
echo "Missing custom.zone file. Please create custom.zone file with IP addresses for blocking."
tablecheck
exit
fi
custom
fi
if [[ $# -ne "1" ]]; then
tablecheck
fi
#iptables -S INPUT | grep -v ACCEPT
その後、custom.zone
ファイルと同じフォルダーにcountry_block.bsh
ファイルを作成し、システムをハッキングするために何度も何度もIPだけを試すことができます。 /32
のようなIPアドレスの末尾に256.99.265.106/32
を追加します。独自のカスタムIPを追加したら、次を実行するだけでそれらをリロードできます。
Sudo ./country_block.bsh custom
自分の国や自分のパブリックIPをブロックしないように注意してください。
また、開いていない他のポートをブロックしないように注意してください。ポート80をブロックすると、その国のWebサイトにアクセスしても、ポート80でシステムに戻ることができないため、ロードされない可能性があります。
次に、cb_update.bsh
という別のスクリプトをホームフォルダーに作成します。このスクリプトには、ブロックするすべての国が含まれています。
#!/bin/bash
cd /home/terrance/scripts/
./country_block.bsh cn ru nl de dk fr id ie it kr sg tw vn br ua pt il gb jp pk ar co fi in
次に、/etc/crontab
ファイルに次の行を追加しました。システムがリブートするたびに対応し、午前1時5分にリストを更新します。
$ cat /etc/crontab
@reboot root /bin/bash -c 'sleep 20 && /home/terrance/cb_update.bsh'
01 05 * * * root /home/terrance/cb_update.bsh
スクリプトを単独で実行すると、国コードが表示されます。
terrance@terrance-ubuntu:~/scripts$ Sudo ./country_block.bsh
AFGHANISTAN (AF)
LAND ISLANDS (AX)
ALBANIA (AL)
ALGERIA (DZ)
AMERICAN SAMOA (AS)
ANDORRA (AD)
ANGOLA (AO)
ANGUILLA (AI)
ANTIGUA AND BARBUDA (AG)
ARGENTINA (AR)
ARMENIA (AM)
ARUBA (AW)
AUSTRALIA (AU)
AUSTRIA (AT)
AZERBAIJAN (AZ)
BAHAMAS (BS)
BAHRAIN (BH)
BANGLADESH (BD)
BARBADOS (BB)
BELARUS (BY)
BELGIUM (BE)
BELIZE (BZ)
BENIN (BJ)
BERMUDA (BM)
BHUTAN (BT)
BOLIVIA (BO)
BOSNIA AND HERZEGOVINA (BA)
BOTSWANA (BW)
BRAZIL (BR)
BRITISH INDIAN OCEAN TERRITORY (IO)
BRUNEI DARUSSALAM (BN)
BULGARIA (BG)
BURKINA FASO (BF)
BURUNDI (BI)
CAMBODIA (KH)
CAMEROON (CM)
CANADA (CA)
CAPE VERDE (CV)
CAYMAN ISLANDS (KY)
CENTRAL AFRICAN REPUBLIC (CF)
CHAD (TD)
CHILE (CL)
CHINA (CN)
COLOMBIA (CO)
COMOROS (KM)
CONGO (CG)
CONGO, THE DEMOCRATIC REPUBLIC OF THE (CD)
COOK ISLANDS (CK)
COSTA RICA (CR)
COTE D'IVOIRE (CI)
CROATIA (HR)
CUBA (CU)
CYPRUS (CY)
CZECH REPUBLIC (CZ)
DENMARK (DK)
DJIBOUTI (DJ)
DOMINICA (DM)
DOMINICAN REPUBLIC (DO)
ECUADOR (EC)
EGYPT (EG)
EL SALVADOR (SV)
EQUATORIAL GUINEA (GQ)
ERITREA (ER)
ESTONIA (EE)
ETHIOPIA (ET)
FAROE ISLANDS (FO)
FIJI (FJ)
FINLAND (FI)
FRANCE (FR)
FRENCH GUIANA (GF)
FRENCH POLYNESIA (PF)
GABON (GA)
GAMBIA (GM)
GEORGIA (GE)
GERMANY (DE)
GHANA (GH)
GIBRALTAR (GI)
GREECE (GR)
GREENLAND (GL)
GRENADA (Gd)
GUADELOUPE (GP)
GUAM (GU)
GUATEMALA (GT)
GUINEA (GN)
GUINEA-BISSAU (GW)
GUYANA (GY)
HAITI (HT)
HOLY SEE (VATICAN CITY STATE) (VA)
HONDURAS (HN)
HONG KONG (HK)
HUNGARY (HU)
ICELAND (IS)
INDIA (IN)
INDONESIA (ID)
IRAN, ISLAMIC REPUBLIC OF (IR)
IRAQ (IQ)
IRELAND (IE)
ISLE OF MAN (IM)
ISRAEL (IL)
ITALY (IT)
JAMAICA (JM)
JAPAN (JP)
JERSEY (JE)
JORDAN (JO)
KAZAKHSTAN (KZ)
KENYA (KE)
KIRIBATI (KI)
KOREA, DEMOCRATIC PEOPLE'S REPUBLIC OF (KP)
KOREA, REPUBLIC OF (KR)
KUWAIT (KW)
KYRGYZSTAN (KG)
LAO PEOPLE'S DEMOCRATIC REPUBLIC (LA)
LATVIA (LV)
LEBANON (LB)
LESOTHO (LS)
LIBERIA (LR)
LIBYAN ARAB JAMAHIRIYA (LY)
LIECHTENSTEIN (LI)
LITHUANIA (LT)
LUXEMBOURG (LU)
MACAO (MO)
MACEDONIA, THE FORMER YUGOSLAV REPUBLIC OF (MK)
MADAGASCAR (MG)
MALAWI (MW)
MALAYSIA (MY)
MALDIVES (MV)
MALI (ML)
MALTA (MT)
MARSHALL ISLANDS (MH)
MARTINIQUE (MQ)
MAURITANIA (MR)
MAURITIUS (MU)
MAYOTTE (YT)
MEXICO (MX)
MICRONESIA, FEDERATED STATES OF (FM)
MOLDOVA, REPUBLIC OF (MD)
MONACO (MC)
MONGOLIA (MN)
MONTENEGRO (ME)
MONTSERRAT (MS)
MOROCCO (MA)
MOZAMBIQUE (MZ)
MYANMAR (MM)
NAMIBIA (NA)
NAURU (NR)
NEPAL (NP)
NETHERLANDS (NL)
NEW CALEDONIA (NC)
NEW ZEALAND (NZ)
NICARAGUA (NI)
NIGER (NE)
NIGERIA (NG)
NIUE (NU)
NORFOLK ISLAND (NF)
NORTHERN MARIANA ISLANDS (MP)
NORWAY (NO)
OMAN (OM)
PAKISTAN (PK)
PALAU (PW)
PALESTINIAN TERRITORY, OCCUPIED (PS)
PANAMA (PA)
PAPUA NEW GUINEA (PG)
PARAGUAY (PY)
PERU (PE)
PHILIPPINES (PH)
POLAND (PL)
PORTUGAL (PT)
PUERTO RICO (PR)
QATAR (QA)
REUNION (RE)
ROMANIA (RO)
RUSSIAN FEDERATION (RU)
RWANDA (RW)
SAINT KITTS AND NEVIS (KN)
SAINT LUCIA (LC)
SAINT PIERRE AND MIQUELON (PM)
SAINT VINCENT AND THE GRENADINES (VC)
SAMOA (WS)
SAN MARINO (SM)
SAO TOME AND PRINCIPE (ST)
SAUDI ARABIA (SA)
SENEGAL (SN)
SERBIA (RS)
SEYCHELLES (SC)
SIERRA LEONE (SL)
SINGAPORE (SG)
SLOVAKIA (SK)
SLOVENIA (SI)
SOLOMON ISLANDS (SB)
SOMALIA (SO)
SOUTH AFRICA (ZA)
SPAIN (ES)
SRI LANKA (LK)
SUDAN (SD)
SURINAME (SR)
SWAZILAND (SZ)
SWEDEN (SE)
SWITZERLAND (CH)
SYRIAN ARAB REPUBLIC (SY)
TAIWAN (TW)
TAJIKISTAN (TJ)
TANZANIA, UNITED REPUBLIC OF (TZ)
THAILAND (TH)
TIMOR-LESTE (TL)
TOGO (TG)
TOKELAU (TK)
TONGA (TO)
TRINIDAD AND TOBAGO (TT)
TUNISIA (TN)
TURKEY (TR)
TURKMENISTAN (TM)
TURKS AND CAICOS ISLANDS (TC)
TUVALU (TV)
UGANDA (UG)
UKRAINE (UA)
UNITED ARAB EMIRATES (AE)
UNITED KINGDOM (GB)
UNITED STATES (US)
UNITED STATES MINOR OUTLYING ISLANDS (UM)
URUGUAY (UY)
UZBEKISTAN (UZ)
VANUATU (VU)
VENEZUELA (VE)
VIET NAM (VN)
VIRGIN ISLANDS, BRITISH (VG)
VIRGIN ISLANDS, U.S. (VI)
WALLIS AND FUTUNA (WF)
YEMEN (YE)
ZAMBIA (ZM)
ZIMBABWE (ZW)
Choose any of the countries by typing in the two letter code between the ( ).
その後、システムに発生する可能性のあるヒットをいつでも確認できます。
$ Sudo iptables -nvL INPUT
Chain INPUT (policy ACCEPT 9523 packets, 3125K bytes)
pkts bytes target prot opt in out source destination
0 0 ACCEPT udp -- virbr0 * 0.0.0.0/0 0.0.0.0/0 udp dpt:53
0 0 ACCEPT tcp -- virbr0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:53
0 0 ACCEPT udp -- virbr0 * 0.0.0.0/0 0.0.0.0/0 udp dpt:67
0 0 ACCEPT tcp -- virbr0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:67
0 0 f2b-proftpd tcp -- * * 0.0.0.0/0 0.0.0.0/0 multiport dports 21,20,990,989
2847 170K f2b-sshd tcp -- * * 0.0.0.0/0 0.0.0.0/0 multiport dports 22
12 548 DROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 match-set CHINA src multiport dports 22,10000
4 176 DROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 match-set RUSSIANFEDERATION src multiport dports 22,10000
1 44 DROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 match-set NETHERLANDS src multiport dports 22,10000
2 88 DROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 match-set GERMANY src multiport dports 22,10000
0 0 DROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 match-set DENMARK src multiport dports 22,10000
157 8156 DROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 match-set FRANCE src multiport dports 22,10000
0 0 DROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 match-set INDONESIA src multiport dports 22,10000
0 0 DROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 match-set IRELAND src multiport dports 22,10000
0 0 DROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 match-set ITALY src multiport dports 22,10000
4 180 DROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 match-set KOREAREPUBLICOF src multiport dports 22,10000
0 0 DROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 match-set SINGAPORE src multiport dports 22,10000
0 0 DROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 match-set TAIWAN src multiport dports 22,10000
947 48804 DROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 match-set VIETNAM src multiport dports 22,10000
2 92 DROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 match-set BRAZIL src multiport dports 22,10000
6 264 DROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 match-set UKRAINE src multiport dports 22,10000
0 0 DROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 match-set PORTUGAL src multiport dports 22,10000
0 0 DROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 match-set ISRAEL src multiport dports 22,10000
3 180 DROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 match-set UNITEDKINGDOM src multiport dports 22,10000
1 44 DROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 match-set JAPAN src multiport dports 22,10000
0 0 DROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 match-set PAKISTAN src multiport dports 22,10000
2 88 DROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 match-set ARGENTINA src multiport dports 22,10000
0 0 DROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 match-set COLOMBIA src multiport dports 22,10000
0 0 DROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 match-set FINLAND src multiport dports 22,10000
4 188 DROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 match-set INDIA src multiport dports 22,10000
0 0 DROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 match-set CUSTOM_IP src multiport dports 22,10000
お役に立てれば!
これらの試行されたログインはすべてrootユーザー用であるため、SSHを介した基本的な総当たり攻撃のように見えます。
一般に公開されているサーバーでは、1日に多数のSSHブルートフォース攻撃が行われることは完全に正常です。それは人生の事実です。 IPアドレスを所有しているISPにそれらのレポートを開始できますが、それはモグラであり、大きな違いはありません。彼らはインターネット上で侵害されたコンピューターを使用している、および/または偽の詳細の下でサインアップしたホスティングアカウントを使用しています。
違いを生むのは、SSH経由のルートログインを無効にすること、および/またはルート(または全員)にキーベースのログインを要求することを全員が決定した場合です。これらのいずれかを実行している限り、ブルートフォース攻撃は基本的に効果がありません。しかし、十分な人数がプレーンルートログインを有効のままにして、推測可能なパスワードを持っているため、これらの攻撃は続きます。
別の人が推奨するもう1つのことは、SSHデーモンを非標準のポート番号に切り替えることですが、セキュリティ上の利点はそれほど大きくなく、標準ポート22を使用するのが好きなので、私はこれをしないことを好みます。
2番目の質問については、これはCronの実行です。これは、スケジュールされたタスクを実行するプログラムです。すべてのシステムには、システムによってデフォルトで設定された多数のスケジュールされたタスクがあります。 cronは異なるユーザーとして異なるタスクを実行できるため、pam_unixを使用して、rootであってもユーザーセッションの開始を処理するため、そのログに表示されます。
サーバーで利用可能なすべてのコンピューター/ネットワークに対する国家状態レベルの制御/アクセスがない限り、ログイン試行の背後にいる人物を見つけることは機能的に不可能です。ただし、サーバーの強化に取り組むことはできます。 SSHサーバーを強化する方法? 、および buntuサーバーを保護するために何ができるか? を参照してください。
IPアドレス218.87.109.156
はDNSになく、tracepath(カナダのオタワから)は次を示します。
w3@aardvark:~(0)$ tracepath 218.87.109.156
1?: [LOCALHOST] pmtu 1492
1: spark2y 0.739ms
1: spark2y 0.744ms
2: dsl-173-206-128-1.tor.primus.ca 31.017ms
3: 10.201.117.46 31.425ms asymm 5
4: 38.88.240.86 30.987ms
5: be4181.ccr31.yyz02.atlas.cogentco.com 30.872ms
6: be2993.ccr21.cle04.atlas.cogentco.com 38.281ms
7: be2717.ccr41.ord01.atlas.cogentco.com 45.373ms
8: sjo-b21-link.telia.net 92.369ms
9: be3035.ccr21.den01.atlas.cogentco.com 68.380ms
10: 202.97.50.77 96.352ms asymm 15
11: be3109.ccr21.sfo01.atlas.cogentco.com 96.099ms
12: be3179.ccr22.sjc01.atlas.cogentco.com 95.375ms
13: 202.97.57.26 233.831ms asymm 14
14: 202.97.82.126 278.546ms asymm 20
15: 117.44.130.118 250.081ms asymm 21
16: 111.74.206.105 249.725ms asymm 21
17: 117.44.130.146 245.893ms asymm 18
18: 202.97.57.26 232.033ms asymm 14
19: 202.97.39.58 241.135ms asymm 16
20: 111.74.207.46 268.148ms asymm 17
21: 218.87.109.156 246.090ms reached
残りのIPでDig -x
およびtracepath
を実行することは、演習として残されています。
私はあなたが攻撃を受けていると思います。ファイアウォールの内側にいない場合(およびそうでない場合)、fail2ban
パッケージを調査するか、使用していない場合はsshd
の実行を停止します。
CRON
はシステムのジョブスケジューラです。私のシステムでは、1日に何百も表示されます。
インターネット上のポート22が不要な場合は、デフォルトポートを別の非標準ポートに変更することもできます。
Fail2banを使用した場合でも、1日あたりの試行回数が失敗します。デフォルトのポートをインターネットに対して開いたままにしない。少なくともSSHの場合。最近では、大量のボットがブルートフォーシングされています。
これを行うには、ファイル/etc/ssh/sshd_config
を編集します。次のような行が必要です。
#Port 22
前の#を削除し、22を目的のポート値(1〜65535)に変更します
例:Port 1337
次に、構成の有効性をテストできます(余分な文字がないか、起動しない可能性があることを確認します-これは、sshdリモートを再起動するときに役立ちます。コマンド:/usr/sbin/sshd -t
覚えておいてください:出力は通常、エラーなしを意味します。
そして、sshdサービスを再起動する必要があります。
Sudo systemctl restart sshd
または
Sudo service sshd restart
または
Sudo killall -HUP sshd
その後、カスタムポートを使用してサーバーにSSH接続できます。他の端末から使用できます:
ssh <serverHostname> -p <port>
。
そして、私のような怠け者の場合、常にそのポートを指定したくない場合は、ファイル/etc/ssh/ssh_config
(これはsshコマンドのファイルです)で同じ方法でデフォルトのポートを変更できます。常に-p <port>
オプションを追加する必要はありません。