Strona 1 z 1

włamanie na serwer i problem po włamaniu

: 07 grudnia 2008, 20:29
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ć.

: 07 grudnia 2008, 20:45
autor: tadzik
Po pierwsze, nie ma potrzeby krzyczeć.
Po drugie, reinstalka będzie najszybszym i najpewniejszym wyjściem.

: 08 grudnia 2008, 03:11
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.

: 08 grudnia 2008, 03:19
autor: lis6502
Takie ustawienia(iptables) powinny być w defaultowych. Wtedy bruteforce traci jakikolwiek sens.

: 08 grudnia 2008, 11:10
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

: 08 grudnia 2008, 15:44
autor: Rad
Do ochrony ssh służy także fail2ban oraz denyhosts.

: 09 grudnia 2008, 19:18
autor: JarekMk
A nie lepiej zmienić port na jakiś wysoki i włączyć logowanie dl SSH jedynie z naszego adresu IP?

: 10 grudnia 2008, 00:53
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.

: 10 grudnia 2008, 12:23
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.

: 10 grudnia 2008, 22:50
autor: JarekMk
ShinnRa, może coś więcej napiszesz?