Öt egyszerű lépés, hogy megvédje az SSH ubuntu
Az egyik legfontosabb dolog, amit meg kell tennie, amint a kapcsolat a szerver Ubuntu az internetre - természetesen elleni védelmet az illetéktelen hozzáférést a menedzsment szerver SSH-n keresztül. Ha nem, akkor nagyon gyorsan speciálisan írt programok átkutat egy nagy kiterjedésű hálózaton, azt találjuk, hogy a szerver nyitott port 22, és hogy a teljes irányítást a rendszer elég kitalálni a jelszót a root felhasználó. Természetesen teljes védelem nem létezik, de bonyolítja a feladat, hogy a támadó, mi eléggé képes. A történet a védelmi módszereket ssh fogom vezetni, figyelembe véve a lehetséges funkciók dedikált szerverek teljes Ubuntu, valamint a VPS / VDS szervereket.
Biztonságos hozzáférés ssh-n keresztül mindenképpen szükség van. Ha még nem tette meg, akkor csak nézd meg /var/log/auth.log fájlt fájlt. Bizonyára van egy rekord kísérlet a jogosulatlan hozzáférést a rendszer.
sudo nano / etc / ssh / sshd_config
Az egyik első sorban Port irányelvet. Cserélje a port számát 22 az egyik nem szabványos portok, mint például a 4117.
# Milyen portokat, IP protokollok és hallgatni a
Port 4117
Ezután indítsa újra az ssh-kiszolgáló:
sudo service ssh restart
... és előre elveszítjük a kapcsolatot a szerverrel. Ezért újra kapcsolódni az ssh, de most rámutat arra, hogy csatlakozzon az új port beállításokat, mint például:
ssh -p 4117 [email protected]
Változás ssh port szám lehetővé teszi, hogy megszabaduljunk a legtöbb nyers erő kísérleteit automatizált programok. Azonban a több szakmai törekvései a jogosulatlan hozzáférést a rendszer, ez a lépés nem fogja megmenteni. Együtt kell használni más védelmi módszereket.
sudo passwd -l root
Ezután meg kell találni, aki a rendszert hagyjuk, hogy végre parancsokat, a kulcsszó sudo. Ehhez meg kell vizsgálnunk a visudo file:
Ebben a fájlban, akkor meg a következő sorokat:
A fentiek szerint azt jelentik, hogy futtatni parancsokat nevében a szuper rendszergazda root felhasználó és a felhasználók, amelyek a csoportban sudo és admin. Ezért elegendő helyet az új felhasználó az egyik ilyen csoport. visudo fájlt, eközben le kell zárni anélkül, hogy változtatásokat. Ezután adjuk hozzá a teszt felhasználói csoport sudo:
usermod -a -G sudo teszt
Annak érdekében, hogy a felhasználói teszt került a sudo-csoport, akkor futtassa a következő parancsot:
Ezután zárja le a ssh root felhasználóként jelentkezzen be a felhasználói teszt (ne felejtsük, hogy megváltozott a port számát az első lépés), és tiltsa le a fiókot root:
logout
ssh -p 4117 [email protected]
sudo passwd -l root
Az alapértelmezett kulcs tárolja a felhasználó home könyvtárában fájlok
/.ssh/id_rsa (privát kulcs) és
scp -P 4117 [email protected]:
Ez a parancs betölti a id_rsa.pub fájlt a kiszolgálón example.org a home könyvtár a felhasználó vizsgálat. Szintén ebben ssh port Állítsa be az egyéni szám: 4117. Ezután már a távoli szerveren felvenni kívánt tartalmát id_rsa.pub fájlt egy fájlba
/.ssh/authorized_keys a home könyvtár a felhasználó, amelyek alapján szeretnénk bejelentkezni, a kapcsolatfelvételi generált kulcsot. Hozzáadása után az authorized_keys forrás fájlt a nyilvános kulcsot el lehet távolítani.
ssh -p 4117 -v [email protected]
# Váltás nincs meg kikapcsolni alagutakat, tiszta szöveges jelszóval
PasswordAuthentication nincs
Marad, hogy indítsa újra a ssh:
sudo service ssh restart
sudo aptitude install denyhosts
Annak érdekében, hogy az új beállítások életbe léptetéséhez újra kell indítani a denyhosts:
sudo service denyhosts újraindul
Nagyjából már leírtam a négy lépést kell több, mint elég ahhoz, hogy javítsa a szerver biztonságát, több mint ssh hozzáférést. Az elmúlt ötödik lépés, amiről szeretnék mondani, lehet használni, ha szükséges szinte paranoid megközelítés szerver biztonságát. A módszer, amely leírásra kerül az ötödik lépésben, a technológia használatára.
Ennek lényege abban rejlik, hogy a szerver fut egy speciális szolgáltatás knockd, amely „figyel” a kapcsolatokat az összes porton, és a készítmény néhány várt szekvencia a csatlakozások végez egy előre meghatározott parancs a rendszergazda. Ez a technológia egy további lehetőséget a távoli szerver irányítását. Már csak azt, hogy lezárja az ssh port és állítsa Service knockd ezt a parancsot, melynek hatására a tűzfal megnyitásához port ssh fogadásakor egy bizonyos sorrendben kapcsolódni a szerverhez port. Ezután fogom leírni, hogy a legtöbb egyszerű és gyors csinálni Ubuntu.
lépésben öt
A távoli szerver az összes alábbi intézkedéseket kell tenni rendkívül óvatosan, mivel fennáll annak a veszélye, hogy elveszítik a kapcsolatot a szerver hiba esetén.
Először meg kell telepíteni knockd csomagot. Együtt is létrehozott segédprogram kopogás, amelyen keresztül lehet „zörgés” portok egy távoli szerveren.
sudo aptitude install knockd
Ennek része az Ubuntu van egy egyszerűsített tűzfal ufw, ami sokkal könnyebb megérteni, mint iptables. Ezért a megnyitása a port ssh szolgáltatás knockd fogjuk használni ufw, ami lényegében egy felépítmény iptables. Csomag ufw telepítve az alapértelmezett Ubuntu. Ha ufw csomag nem, akkor telepíteni. Azonban azt kell figyelmeztetni, hogy ha van ufw csomagot virtuális dedikált szerver (VPS / VDS), akkor jobb, hogy nem telepíti. Ezeken a szervereken, általánosan használt speciális linux kernel, amelyek közül néhány összeegyeztethetetlen tűzfal ufw.
És így, ha a tűzfal ufw összes port zárva van. Ezért, mielőtt kezdetét ufw megnyitni a portot, amelyen vagyunk ssh. A legtöbb esetben ez 22-es port, de egy korábbi cikkben, azt az 4117 portot erre a célra.
sudo ufw lehetővé 22
sudo ufw enable
Akkor kell beállítani a konfigurációs fájlok knockd szolgáltatást. Az alábbiakban egy példát egy konfigurációs fájlt, hogy nyissa 22-es port egy távoli szerveren.
[Options]
logfile = /var/log/knockd.log
[OpenSSH]
szekvenciát = 4561: TCP, 7127: UDP, 5934: a TCP, 3901: UDP
seq_timeout = 30
tcpflags = szin
START_COMMAND = ufw lehetővé from% IP% minden kikötő 22
cmd_timeout = 30
stop_command = ufw törölni lehetővé innen% IP% minden kikötő 22
# Ellenőrző ha elkezdjük knockd meg init-e vagy sem
# 1 = Start
# Bármi mást = nem indul
#
# Kérjük, módosítsa /etc/knockd.conf, mielőtt engedélyezné
START_KNOCKD = 1
Ezután indítsa újra a szolgáltatás maga:
sudo service knockd restart
Egy számítógépen, amellyel mi fog kapcsolódni a távoli kiszolgálóhoz, és telepíteni a szolgáltatást knockd és hajtsa végre a parancsot, hogy hozzáadja a tűzfal egy új szabályt:
sudo aptitude install knockd
kopogás 4561: tcp 7127: udp 5934: tcp 3901: udp
Annak ellenőrzésére, hogy az egy új szabály, meg kell 30 másodpercet, hogy végre egy parancsot egy távoli szerveren:
sudo ufw status
sudo ufw delete lehetővé 22
Így Port kopogás technológia lehet használni, mint egy másik módja annak, hogy megvédje a saját dedikált szerver ellenzői. Azonban be kell állítania a szolgáltatást knockd óvatosan, mert előfordulhat, hogy olyan helyzetben, amikor azt bezárja a hozzáférést a szerver között.