Intâlnesc destul de des intrebări legate de protecţia serverului root. Mulţi webmasteri deţin un root server sau un vhosting şi se lovesc de problema administrării. Iată mai jos lista mea de comenzi salvate care îmi sunt de folos la nevoie:
Ce fac atunci când nimic nu merge şi vreau să îmi repar sistemul?
/etc/init.d/psa stopall
umount -a
xfs_check /dev/md1
xfs_repair /dev/md1
xfs_check /dev/md5
xfs_repair /dev/md5
xfs_check /dev/md6
xfs_repair /dev/md6
xfs_check /dev/md7
xfs_repair /dev/md7
xfs_check /dev/md8
xfs_repair /dev/md8
mount /dev/md1 /mnt
mount /dev/md6 /mnt/var
mount /dev/md5 /mnt/usr
mount /dev/md7 /mnt/home
mount /dev/md8 /mnt/srv
chroot /mnt
/etc/init.d/psa start
Bineînţeles, comenzile de mai sus trebuie să reflecte partiţionarea existentă pe serverul Dvs.
Cum văd ultimele comenzi efectuate de către un anumit utilizator?
less ~/.bash_history
sau
history
NB: Aceste două comenzi funcţionează DOAR dacă istoria nu a fost setată la 0 (de exemplu una din următoarele două comenzi a fost executată în sesiunea precedentă >.bash_history sau export HISTSIZE=0)
Cum activez optiunea de ftp upload resume?
vi /etc/proftpd.conf
/etc/init.d/xinetd restart
Ce procese ocupă memoria?
top
Unde tunez serverul Apache?
/etc/apache/httpd.conf
/etc/apache/server-tunning.conf
Unde găsesc logurile Apache?
/var/log/apache2
În cazul unui atac de boţi cum pot vedea IP-urile?
netstat -nt
Cum afişez IP-urile unice TCP?
netstat -anp |grep ‘tcp’ | awk ‘{print $5}’ | cut -d: -f1 | sort | uniq -c | sort -n
Cum afişez IP-urile unice UDP?
netstat -anp |grep ‘udp’ | awk ‘{print $5}’ | cut -d: -f1 | sort | uniq -c | sort -n
Cum banez un IP în tabela IP?
iptables -I INPUT -s 217.218.36.11 -j DROP
Cum pot face o salvare la baza de date MySql?
mysqldump –user=admin –password=SSSS –create-options database_name > /tmp/database_name.sql
or
mysqldump -user=admin –password= SSSS –all-databases -p –create-options | bzip2 -c > databasebackup.sql.bz2
or
mysqldump -uadmin -pSSSS –all-databases –create-options | bzip2 -c > databasebackup2.sql.bz2
Notă: Recomand cu căldură oprirea serviciului MySQL înainte de a lansa oricare din comenzile de backup de mai sus.
Cum import o bază de date MySql?
mysql -uadmin -pSSSS database_name < /tmp/database_name.sql
Notă: Dacă în momentul creării dump-ului s-a folosit parametrul –create-options, bazele de date vor fi create automat în momentul importului.
Cum reconstruiesc statisticile Webalizer?
rm -f /usr/local/psa/var/lib/webalizer/webalizer.cache
touch /usr/local/psa/var/lib/webalizer/webalizer.cache
chown root:root /usr/local/psa/var/lib/webalizer/webalizer.cache
chmod 644 /usr/local/psa/var/lib/webalizer/webalizer.cache
stat -f /usr/local/psa/var/lib/webalizer/webalizer.cache
cd /usr/local/psa/admin/sbin/
/usr/local/psa/admin/sbin/statistics
Cum repornesc servciul de MySql?
/etc/init.d/mysql restart
Cum fac o salvare remote?
/usr/local/psa/bin/pleskbackup all ftp://username:password@backup.onlinehome-server.info/httpdocs/backup.file
Cum fac o salvare completă?
/usr/local/psa/bin/pleskbackup all allbackup.file
tar czf /srv/www/vhosts backup
Cum pot arhiva un folder?
tar czf /volumes/myexternaldrive/backup01.tgz myfolder
Cum extrag un fisier?
tar -xzvf MyArchive.tgz Source_file
or
tar –extract –gunzip –verbose –file=MyArchive.tgz Source_file
tar xzvf /volumes/myexternaldrive/backup01.tgz myfolder/subfolder/thefiletorestore
Cum instalez extensia SOAP pentru PHP 5?
rpm -Uvh ftp://fr2.rpmfind.net/linux/SuSE-Linux/i386/update/10.2/rpm/x86_64/php5-soap-5.2.0-12.x86_64.rpm
Cum lansez un SQL pe o bază de date?
mysql -uadmin -pparola baza_date < /srv/www/vhosts/domeniu.com/httpdocs/clean.sql
Ce versiune de Linux folosesc?
cat /proc/version
cat /etc/issue
sau în funcţie de distribuţia folosită:
cat /etc/redhat-release
cat /etc/debian_version
Testare root viruses – Rhunter
wget http://superb-east.dl.sourceforge.net/sourceforge/rkhunter/rkhunter-1.3.4.tar.gz
tar -xzvf rkhunter-1.3.4.tar.gz
cd rkhunter-1.3.0.tar.gz
./installer.sh –layout /usr/local –install
add RHunter in cronjob
vi /etc/cron.daily/rkhunter.sh
and add
#!/bin/bash
/usr/local/bin/rkhunter -c | mail -s “RKhunter Scan Details” email@domain.com
exit 0
Testare root viruses – Chkrootkit
wget –passive-ftp ftp://ftp.pangeia.com.br/pub/seg/pac/chkrootkit.tar.gz
tar xvfz chkrootkit.tar.gz
cd chkrootkit-/
./chkrootkit
netstat -an |grep “[.:]${465}[^0-9.]”
netstat -e -p
netstat -a |grep 4000
netstat -e -p -n -a | grep 465
ps ax | grep 3456
Cum se schimbă portul SSH?
vi /etc/ssh/sshd_config (change to the port 8993)
/etc/rc.d/sshd restart
Cum limitez şi blochez incercările repetate de logare prin SSH?
iptables -A INPUT -m tcp -p tcp –dport 8993 -m state –state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -m tcp -p tcp –dport 8993 -m state –state NEW -m limit –limit 2/min –limit-burst 2 -j ACCEPT
iptables -A INPUT -m tcp -p tcp –dport 8993 -j DROP
Care sunt aplicaţiile legate la Internet şi porturile folosite?
netstat -lptu
Cum gasesc un fisier?
find / -name pleskbackup
sau mai rapid în momentul în care aţi create un index al fişierelor din sistem. Executaţi ca şi root updatedb (se recomandă rularea ei in cron zilnic sau săptămânal în funcţie de numărul de fişiere din sistem) şi o dată ce comanda a creat indexul pentru a localiza un fişier landaţi doar comanda: locate filename
Pentru a afla calea completă a comenzilor din PATH-ul Dvs. folosiţi: which filename
Cum găsesc fişierele mari pe harddisk?
du -a /var | sort -n -r | head -n 10
find . -type f -size +500000k -exec ls -lh {} \; | awk ‘{ print $9 “: ” $5 }’
rm -rf /fisier
Cum deactivez ZMD?
/var/lib/zmd/zmd.db
ps -axfu | grep parse-metadata
kill -9 32323 (pid-ul procesului găsit cu comanda anterioară)
rm /var/lib/zmd/zmd.db
/etc/init.d/novell-zmd start
Cum afişez utilizatorii cu drepturi de logare în sistem?
cat /etc/passwd |grep -v nologin | cut -d: -f1
Cine este logat?
w
who -a
users
last (include de asemenea lista tuturor utilizatorilor care s-au logat de la ultima iniţializare a bazei de date)
grep sshd /var/log/messages
În caz de cădere completă HDD (poate necesita prezenţă fizică la consola serverului)
fsck -fCV /dev/md1
mount /dev/md1 /mnt
chroot /mnt
lilo (e mai probabil să aveţi grub, care a înlocuit lilo)
exit
umount /mnt
Cum verific partiţiile existente pe un disc?
fdisk -l
Cum văd live fişierele jurnal?
tail -n 500 /var/log/messages
tail -f /var/log/messages
tail -f /var/log/mail.info
tail -f /var/log/warn
tail -f /var/log/mail.err
tail -f /var/log/mail.warn
tail -f /var/log/apache2/access_log
tail -f /var/log/apache2/error_log
