CentOS test sunucumda birisi MySQL root şifresini değiştirdi. Şifreyi kim ve ne zaman değiştirdiğini bulmanın bir yolu var mı?
CentOS test sunucumda birisi MySQL root şifresini değiştirdi. Şifreyi kim ve ne zaman değiştirdiğini bulmanın bir yolu var mı?
Yanıtlar:
Öncelikle, kullanıcı uzak bir makineden “root” şifresi değişikliği yaptıysa ve MySQL günlüğü etkinleştirilmemişse, temel olarak, bir kullanıcıyı bu belirli bir eyleme bağlayacak herhangi bir yerde, herhangi bir değere erişemezsiniz. Ancak, kullanıcının bir komut satırı oturumu aracılığıyla oturum açtığını varsayarsak, bazı ipuçları sağlayabileceğini kontrol ettiğiniz birkaç şey vardır.
MySQL'i komut satırından çalıştıran herhangi bir kullanıcı .mysql_history
kendi dizininde otomatik olarak bir dizin oluşturacağından , sistemde bir şey olup olmadığını görmek için böyle bir komutu çalıştırabilirsiniz:
grep -i -e "password" /home/*/.mysql_history
Bu , MySQL istemcisinin kendisinde olduğu ve parolayı değiştirmek için istemcinin kendisini kullanarak parolayı değiştirdiğini varsayarak .mysql_history
sözcüğü arayan her kullanıcının dosyası üzerinde duyarsız bir arama yapar password
.
Ama aynı zamanda, .bash_history
MySQL kullanan birinin kimseyi kullandığını görmek ve daha sonra potansiyel bir şüpheli olarak onlara odaklanmak için de bakabilirsiniz.
grep -i -e "mysql" /home/*/.bash_history
Bu, her kullanıcının .bash_history
dosyası boyunca koştukları mysql
veya çalıştırmaya çalıştıkları anlamına gelen sözcüğü arayan MySQL'in komut satırından bağlanan bir şeyi duyarsız hale getirir .
Ama hepsi söz konusu kullanıcı silmek veya onların değiştirmediğini üstleniyor .bash_history
ya .mysql_history
da iz bırakmamak için dosyaları. Bu geçmiş dosyalarını silecek kadar bilgili olsalardı, MySQL günlüğü etkin olmadıkça bunları izleyebileceğinizden emin değilsiniz. Ve MySQL günlüğü, sistemdeki olumsuz performans etkisinden dolayı varsayılan olarak varsayılan olarak devre dışıdır.
Bu MySQL kurulumu diğer kullanıcıların, etkin belki birisi bir kullanıcı atandı fikrine açık olması sahipse, söz konusu tüm olabilir “kökünden” dan farklı olmuştur ama etkili bir verildi Aynı onlar Anlamı olarak izin düzeyini “root”. sözde “root” olmayan hesaplarını, ne yapmak istediklerini yapmak için kullanabilirlerdi.
Hızlı, gevşek ve güvenli olmayan MySQL hibeleri rahatsız edici şekilde yaygındır ve genellikle herhangi bir nedenden ötürü ayrı bir “root olmayan” hesap oluşturan ve ardından GRANT ALL PRIVILEGES ON *.* TO 'username'@'localhost';
yeni kullanıcıya haklar verirken bir tane kullanan veritabanı yöneticileri tarafından uygulanır. . Temelden bu kadar korkunç bir fikir GRANT ALL PRIVILEGES ON *.*
, “Bu kullanıcının herhangi bir veritabanında bir kök kullanıcımış gibi herhangi bir şey yapmasına izin verin” anlamına gelir.
mysqlbinlog
komutu.