Debian Tabanlı Sistemlerde Paket Sorgulama İşlemleri

Debian tabanlı dağıtımlarda sistemde kurulu paketlerle ilgili sorgulama işlemleri dpkg üzerinden yapılabilmektedir.

Sistemde kurulu tüm paketleri listelemek için -l paramtresi kullanılabilir:

# dpkg -l

Çıktı şuna benzer olacaktır:

ii  0trace                                0.01-3                             amd64        A traceroute tool that can run within an existing TCP connection.
ii  acccheck                              0.2.1-1kali3                       amd64        Password dictionary attack tool for SMB
ii  accountsservice                       0.6.21-8                           amd64        query and manipulate user account information

Kurulu bir paketle ilgili detaylı bilgi almak için ise -s paramtresi kullanılabilmektedir:

# dpkg -s hping3
Package: hping3
Status: install ok installed
Priority: extra
Section: net
Installed-Size: 249
Maintainer: Guillaume Delacour <[email protected]>
Architecture: amd64
Version: 3.a2.ds2-6kali3
Depends: libc6 (>= 2.7), libpcap0.8 (>= 0.9.8), tcl8.4 (>= 8.4.16)
Description: Active Network Smashing Tool
 hping3 is a network tool able to send custom ICMP/UDP/TCP packets and
 to display target replies like ping does with ICMP replies. It handles
 fragmentation and arbitrary packet body and size, and can be used to
 transfer files under supported protocols. Using hping3, you can test
 firewall rules, perform (spoofed) port scanning, test network
 performance using different protocols, do path MTU discovery, perform
 traceroute-like actions under different protocols, fingerprint remote
 operating systems, audit TCP/IP stacks, etc.  hping3 is scriptable
 using the Tcl language.
Homepage: http://www.hping.org/

İlgili pakete ait sistem dosyalarını listelemek için ise -L parametresi kullanılabilmektedir:

# dpkg -L hping3
/.
/usr
/usr/sbin
/usr/sbin/hping3
/usr/share
/usr/share/doc
/usr/share/doc/hping3
/usr/share/doc/hping3/SPOOFED_SCAN.txt.gz
/usr/share/doc/hping3/changelog.gz
/usr/share/doc/hping3/BUGS
/usr/share/doc/hping3/MORE-FUN-WITH-IPID
/usr/share/doc/hping3/API.txt.gz
/usr/share/doc/hping3/README
...

Bir .deb paketinin içeriğini görüntülemek için ise -c parametresi kullanılmaktadır.

# dpkg -c rsync_3.1.0-3_amd64.deb
drwxr-xr-x root/root         0 2014-04-16 10:38 ./
drwxr-xr-x root/root         0 2014-04-16 10:38 ./lib/
drwxr-xr-x root/root         0 2014-04-16 10:38 ./lib/systemd/
drwxr-xr-x root/root         0 2014-04-16 10:38 ./lib/systemd/system/
-rw-r--r-- root/root       188 2013-09-30 10:54 ./lib/systemd/system/rsync.service
drwxr-xr-x root/root         0 2014-04-16 10:38 ./usr/
drwxr-xr-x root/root         0 2014-04-16 10:38 ./usr/bin/
-rwxr-xr-x root/root    390704 2014-04-16 10:38 ./usr/bin/rsync
drwxr-xr-x root/root         0 2014-04-16 10:38 ./usr/share/
drwxr-xr-x root/root         0 2014-04-16 10:38 ./usr/share/man/
drwxr-xr-x root/root         0 2014-04-16 10:38 ./usr/share/man/man5/
-rw-r--r-- root/root     15833 2014-04-16 10:38 ./usr/share/man/man5/rsyncd.conf.5.gz
drwxr-xr-x root/root         0 2014-04-16 10:38 ./usr/share/man/man1/
-rw-r--r-- root/root     56207 2014-04-16 10:38 ./usr/share/man/man1/rsync.1.gz
drwxr-xr-x root/root         0 2014-04-16 10:38 ./usr/share/doc/
...

dpkg ile ilgili daha fazla bilgi için ayrıca dpkg’nin sayfasına gözatmanızı tavsiye ederim.


mailsend – Komut Satırından Posta Göndermek

https://github.com/muquit/mailsend adresinde, komut satırından (ve SMTP) üzerinden email göndermeye yarayan küçük bir uygulama var.  Normalde, nix sistemlerde default mail komutunu kullanarak iletmek istediğiniz postayı, sunucu üzerinde bulunan default MTA’ya vererek gönderilmesini sağlayabiliyorsunuz. Ancak bu işlemi yaptığınız sunucu bir posta sunucusu değilse muhtemelen giden mail, alıcı tarafında Sarı Çizmeli Mehmet Ağa’dan gelen ne idüğü belirsiz bir email muamelesi görüp junk’a iletilecektir. İşte bu gibi bir probleminiz varsa mailsend kullanmak akıllıca olabilir. Zira, mailsend ile komut satırından örneğin gmail hesabınız üzerinden smtp ya da submission portundan mail gönderebiliyorsunuz.

Elbette bu yöntemi kullanmak için -mail komutu gibi sistemde default bulunan bir uygulama olmadığından dolayı- mailsend’i sisteminize kurmanız gerekiyor. Aşağıda bu kurulumu ve uzaktaki bir posta sunucusuna oturum açıp (örnek olarak gmail üzerinden) nasıl posta gönderilebileceğine değineceğim.

Yazinin devami icin tiklayin.


Advanced Copy – CP Komutu ve Progress Bar

http://mylinuxbook.com/advanced-copy-cp-command/ adresinde cp ve mv komutunun, kopyalama ya da taşıma işlemine ait gidişatı gösteren bir progress bar’a sahip patch’li bir versiyonu var. Aşağıda örnek bir çıktısı olan araç özellikle büyük dosya ve dizin kopyalama işlerinde durumu, ekstra bir araç ya da komuta ihtiyaç duymadan takip edebilmek açısından epey kullanışlı.

1469 files copied so far...                          130.2 MiB / 298.7 MiB
[|||||||||||||||||||||||||||||------------------------------------] 43.6 %
Copying at  23.4 MiB/s (about 0h 0m 31s remaining)
BigFolder/automation/delegates/class-list.jpeg         1.5 MiB /   2.0 MiB
[|||||||||||||||||||||||||||||||||||||||||||||||------------------] 75.0 %

Aşağıda advanced-copy’nin nasıl kurulup kullanılabileceği ile ilgili notlar mevcut.

Yazinin devami icin tiklayin.


Nmap ile Networkteki Sahte Gateway’lerin Tespiti

Geçenlerde ISC‘de, networklerdeki rogue gatewaylerin nmap ile nasıl tespit edilebileceğini anlatan güzel bir yazı yayınlandı. [1] Buna göre, nmap’in ip-forwarding scriptini kullanarak networkteki cihazların her birine özel bir icmp-ehco requesti gönderip, dönen cevaplardan ip forwarding’i etkin olan yani üzerinden trafik geçirebilecek durumda olan cihazları bulabiliyorsunuz. Bir başka deyişle, böyle bir taramada default gateway’iniz dışında ip forwarding’i açık olan bir cihaz listelenirse, ağınızda kontrolünüz dışında bir çıkış kapısı daha var demek olabilir ki arp poisoning ile tüm trafik bu noktadan geçiyor ve bu şekilde networkünüz sniff ediliyor bile olabilir.

Yukarıdaki örnek bir senaryo olsa da özellikle raspberry pi gibi küçük bilgisayarların networklerde arka kapı oluşturmak için kolayca kullanılabileceği bilindiğinden aslında pek de hafife alınacak bir konu değildir.

Netwörküzde böyle bir tarama yapmak için ip-forwarding scriptini şu şekilde kullanabilirsiniz:

nmap -sn 10.0.0.0/24 --script ip-forwarding --script-args="target=www.google.com"

Bu komuta göre öncelikle 10.0.0.0/24 networkünde ping scan yapılacak ve up durumdaki hostlar tespit edilecektir. Sonrasında da bu hostlara ip-forwarding scripti kullanılarak www.google.com için özel bir icmp-echo paketi gönderilecek ve ip forwarding yapan host var ise aşağıdaki gibi listelenecektir:

Nmap scan report for 10.0.0.98
Host is up (0.047s latency).
MAC Address: F4:6D:04:9D:92:ED (Asustek Computer)

Host script results:
| ip-forwarding:
|_  The host has ip forwarding enabled, tried ping against (www.google.com)

Bu şekilde de default gateway’iniz dışında ip forwarding yapan makinaları tespit etmeniz mümkün olacaktır.

Yazının orjinali şurada mevcut; detaylar için gözatabilirsiniz:

[1] http://isc.sans.edu/diary/Do+you+have+rogue+Internet+gateways+in+your+network+Check+it+with+nmap/16198


htaccess combiner ile Apache Performance Tunning

Apache üzerinde performansa direk etkisi olan en önemli konulardan birisi de “AllowOverride” direktifi ile devreye alınan htaccess kullanımıdır. Directory ya da vhost bazlı yapılandırma işlerinde oldukça kolaylık sağlayan bir özellik olmasına rağmen, bilindiği gibi AllowOverride direktifi None dışındaki bir değere set edildiğinde, apache kök dizini ve tüm alt dizinlerde .htaccess dosyası arayıp genel yapılandırmayı override edecek herhangi bir yapılandırma direktifi olup olmadığını kontrol eder. Özellikle çok sayıda alt dizinden oluşan bir klasör yapısı olan durumlarda performansa doğrudan etkisi olur.

Yukarıda bahsettiğim bu nedenden ötürü apache ile ilgili performans tavsiyelerinde mümkünse htaccess kullanımından tamamen kaçınılması, bunun yerine .htaccess içerisinde tanımlanması gereken direktifleri doğrudan ana yapılandırma dosyasında Directory blokları içerisinde belirtilmesi  önerilmektedir. Elbette ana yapılandırma dosyalarına erişemeyen vhost sahipleri için AllowOverride direktifini kullanmanız elzem olabilir ancak böyle bir ihtiyaç yoksa bu direktifi None yapabilir ve  apache’nin bahsi geçen .htaccess arama işi ile uğraşmasının önüne geçebilirsiniz.

 Yazının başlığında bahsettiğim htacess combiner da sunucunuzda halihazırda htaccess dosyaları olması durumunda (örnek olarak birden çok wordpress, drupal vs. gibi cms yayınlanıyorsa), tüm htaccess içeriklerini okuyarak hepsini kombine eden ve ana yapılandırma dosyanıza (httpd.conf vs.) ekleyebileceğiniz hale getiren bir shell script. https://gist.github.com/colinmollenhour/459311 adresinde yayınlanan bu scripti web sunucunuzun en üst dizininde çalıştırdığınızda aynı dizinde .htaccess-combined isimli bir dosya oluşturarak sunucudaki tüm .htaccess dosyalarının içeriğini doğru syntax ile bu dosyaya yazıyor. Bahsi geçen bu içeriği ana yapılandırma dosyanıza ekleyip, AllowOverride direktifini de None yaparsanız (apache restart sonrası) sunucu üzerinden yük almış oluyorsunuz.


MySQL Server Time Zone Değişikliği

MySQL sunucusu başladığı zaman time zone olarak sistem saatini kullanır ve system_time_zone değişkenine atar.  Bir nedenden ötürü MySQL’in zaman bilgisini sisteminkinden farklı bir time zone’a atamanız gerekirse bu işlemi global ve per-connection olmak üzere iki farklı şekilde yapabilirsiniz.

Global time zone MySQL sunucusunun default zaman bilgisini set ederken, per-connection time zone ise sadece ilgili session için zaman bilgisinin atanmasını sağlar; yani per-connection time zone özelliğini kullanarak aynı MySQL sunucusu üzerinde birden fazla uygulama için farklı zone’lar tanımlanabilir.

Yazinin devami icin tiklayin.


FreeBSD – Pure-ftpd: [ERROR] Unable to find the ‘ftp’ account”

FreeBSD sistemlerde port üzerinden pure-ftpd kurulumu yaptıktan sonra pure-ftpd’yi start etmek istediğinizde aşağıdaki gibi bir hata ile karşılaşabilirsiniz:

[ERROR] Unable to find the 'ftp' account"

Bu durumun nedeni kurulum sırasında ftpgroup isimli bir grup oluşturulup bu gruba dahil edilmesi gereken ftp isimli hesabın oluşturulmuyor olmasıdır. Sistemde ftp isimli bir hesap bulunamadığı için pure-ftpd teorik olarak bu kullanıcıya ihtiyaç duymuyor olsa da servisin başlatılması sırasında sorun çıkarmaktadır.

Sonuç olarak bu kullanıcıyı sisteminize eklemeniz gerekir:

# pw useradd ftp -u 14 -g 14 -s /sbin/nologin -d /dev/null

Böylece servisi bir kez daha başlatmayı denediğinizde sorun çıkarmayacaktır.


Linux Sistemlerde Komut Satırından Timezone Değişikliği

Linux sistemlerde timezone değişikliği yapmanın bir kaç yolu var; bunlardan birisi de /usr/share/zoneinfo dizini altında bulunan timezone dosyalarına /etc altında localtime ismi ile bir sembolik link oluşturmaktır. (Zaten sistemin kurulumu aşamasında da belirttiğiniz timezone bu şekilde set edilir.) Elbette ntpd gibi bu işleri otomatik olarak yapmaktan sorumlu bir servis çalıştırmak da bir yöntemdir ancak ESXi gibi üzerine ntpd vs. kuramayacağınız özel linux dağıtımlarında bu manual yönetimi kullanmak icap edebilmektedir.

Yazinin devami icin tiklayin.

Sonraki Sayfa »