w

Konfiguracja serwerów, usług, itp.
sono2020
Posty: 1
Rejestracja: 07 grudnia 2008, 20:12

włamanie na serwer i problem po włamaniu

Post autor: sono2020 »

Witam w nocy dziś miałem włamanie na serwer i teraz mam problem bo nie mogę go uruchomić do końca.

A mianowicie włamanie było na konto roota poprzez bruteforce. Zainstalowano mi lOvErBoY's Private Scanner i namieszano coś w systemie.
Teraz gdy się uruchamia na jądrze 2.6.22.12 dochodzi do startu INIT i wyrzuca błędy
nie mam również dostępu do drugiego dysku SATA sdb. Wykrywa go system podczas startu. Linux go podczas uruchamiania usług wykrywa jednak po starcie na jądrze standardowym, już go nie ma w systemie i nie można go ani podejrzeć ani zainstalować.
Błędy:
INIT: version 2.86 booting
/etc/init.d/rc: line 40; 1060 Segmentation fault stty onlcr 0>&1
/etc/rcS.d/S03udev: line 23: 1116 Segmentation fault chmod 700 /dev/.static/
Mount point '/dev/shm' does not exist. Skipping mount.
/etc/rcS.d/S10checkroot.sh: line 24: 1159 Segmentation fault rm -f /lib/init/rw/rootdev
The device node /dev/sda1 for the root filesystem is missing or incorect or the is no entry for the root filesystem listed in /etc/fstab.
The system is also unable to create a temporary node in /lib/init/rw
A maintenance shell will now be started
I szczerze powiem, że nie wiem jak to naprawić.
tadzik
Beginner
Posty: 183
Rejestracja: 29 grudnia 2007, 20:36
Lokalizacja: Warszawa/Izabelin

Post autor: tadzik »

Po pierwsze, nie ma potrzeby krzyczeć.
Po drugie, reinstalka będzie najszybszym i najpewniejszym wyjściem.
Utumno
Beginner
Posty: 432
Rejestracja: 09 listopada 2008, 13:04
Lokalizacja: Gdansk

Post autor: Utumno »

Po trzecie, w /etc/ssh/sshd_config PermitRootLogin=No.

Po czwarte, jezeli przesladuja cie kolesie probujacy sie zdalnie zalogowac do systemu, w ten sposob

Kod: Zaznacz cały

iptables -I INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent  --set
iptables -I INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent  --update --seconds 60 --hitcount 4 -j DROP
mozesz im pokazac palca - dodaj to do jakis skryptow startowych i od tej pory bedzie sie mozna zalogowac przez SSH tylko 3 razy na minute, co ich powaznie spowolni :)

Albo zainstaluj fail2ban.
Awatar użytkownika
lis6502
Member
Posty: 1798
Rejestracja: 05 listopada 2008, 20:14
Lokalizacja: Miasto Szybowców

Post autor: lis6502 »

Takie ustawienia(iptables) powinny być w defaultowych. Wtedy bruteforce traci jakikolwiek sens.
fair
Posty: 21
Rejestracja: 16 listopada 2008, 17:06
Lokalizacja: Wrocław

Post autor: fair »

Możemy dodać też ids-a na ssh w następującej postaci

Kod: Zaznacz cały

#!/bin/bash

log="/var/log/auth.log"
blokujemy="/home/user/skrypty/blokowane"
#robimy dump starej bazy
cat $blokujemy > /home/user/skrypty/blokowane.backup
ILE=1
for x in $(cat $log | grep 'invalid user' | awk '{print$13}' | grep -v -f $blokujemy | sort | uniq && /
cat $log | grep 'string from' | awk '{print$12}' | grep -v -f $blokujemy | sort | uniq ); do
echo $x >> $blokujemy
ILE='expr $ILE + 1'
if [ "$x" != 0 ]
 then
   /etc/init.d/firewall rebotnij
   exit 1
 fi
done
exit 0
Skrypt powyżej wrzucony do crona np. co godzinę będzie nam sprawdzał czy nie ma prób bruta na ssh i jeśli coś znajdzie wrzuci to do blokowanych. Teraz tworzymy sobie regułkę w naszym skrypcie firewall

Kod: Zaznacz cały

$F -N ssh_blocked
# dla atakow slownikowych na ssh
$F -A ssh_blocked -m recent --name sshd --rcheck --hitcount 2 --seconds 3000 -j REJECT --reject-with icmp-host-unreachable
$F -A ssh_blocked -m recent --name sshd --update
$F -A ssh_blocked -m recent --name sshd --rcheck -j ACCEPT
$F -A ssh_blocked -m recent --name sshd --set
$F -A ssh_blocked -j ACCEPT
$F -A INPUT -p TCP --dport 22 --syn -m state --state NEW -j ssh_blocked

oraz skrypt który będzie nam zasysał ip z blokowanych

Kod: Zaznacz cały

ILE=1
for x in $(cat /home/user/skrypty/blokowane); do
$F -A INPUT -s $x -j DROP
ILE='expr $ILE + 1'
done
To wystarczy aby uniemożliwić włam na ssh oraz przy okazji stworzyć sobie listę abuserów
Rad
Member
Posty: 1208
Rejestracja: 28 czerwca 2006, 15:05

Post autor: Rad »

Do ochrony ssh służy także fail2ban oraz denyhosts.
JarekMk
Beginner
Posty: 220
Rejestracja: 30 marca 2007, 11:11
Lokalizacja: Malbork

Post autor: JarekMk »

A nie lepiej zmienić port na jakiś wysoki i włączyć logowanie dl SSH jedynie z naszego adresu IP?
Rad
Member
Posty: 1208
Rejestracja: 28 czerwca 2006, 15:05

Post autor: Rad »

JarekMk pisze:A nie lepiej zmienić port na jakiś wysoki i włączyć logowanie dl SSH jedynie z naszego adresu IP?
Zamiana portu - oczywiście + do tego denyhosts. Pozwolenie na logowanie z jednego ip bywa czasami uciążliwe, kiedy trzeba dostać się na maszynę z dziwnego miejsca. Oczywiście mowa tutaj o zwykłych serwerach bez wyrafinowanych form dostępu.
Awatar użytkownika
ShinnRa
Beginner
Posty: 457
Rejestracja: 05 marca 2007, 23:05
Lokalizacja: Gdynia

Post autor: ShinnRa »

Ja zawsze wyłączam roota z logowania, zmieniam port na wyższy i zabraniam logowania tylko z hasłami. Jedyna dozwolona forma logowania to klucze publiczne.

A w logach znajduje masze prób połączenia z portami 22, 222, 2222.
JarekMk
Beginner
Posty: 220
Rejestracja: 30 marca 2007, 11:11
Lokalizacja: Malbork

Post autor: JarekMk »

ShinnRa, może coś więcej napiszesz?
ODPOWIEDZ