İLMİN ZEKATI...

SSH Portunun Değiştirilmesi

Merhabalar,

Burada bruteforce saldırılarını engellemek için banlama mekanizmasının kurulmasını anlatmıştım. Bu yazımızda ise SSH portunun değiştirilmesini anlatacağım.

SSH portunu değiştirmek, SSH saldırıları ile sunucunuza yetkisiz kullanıcıların erşimlerini zorlaştıracaktır. Bilindiği üzere SSH için kullanılan default port 22’dir ve port numarası 2 byte olduğundan dolayı; maksimum 65535 değerini verebilirsiniz. Ben bu yazımda portu 1453 olarak değiştireceğim. Tabi değişiklikleri yaptıktan sonra mevcut SSH bağlantınızı kapatmadan, yeni SSH bağlantınızın çalıştığından emin olmanızı öneririm :)

vi /etc/ssh/sshd_config

ile öncelikle SSH ayarlarımızın bulunduğu dosyayı açıyoruz ve aşağıdaki gibi bir alan göreceksiniz. Burada bulunan “#” işaretini kaldırıp portu değiştiriyoruz.

#Port 22
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::

Yeni ayarlarımız aşağıdaki gibi olacaktır;

Port 1453
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::

değişiklikleri kaydettikten sonra;

/etc/init.d/sshd restart

Centos’da ise;

systemctl restart  sshd.service

ile SSH servisini tekrar başlatıyoruz. Yeni gireceğiniz portun yaygın olarak kullanılan port olmamasına dikkat ediniz.

Uyarı;

Eğerki firewall kullanıyorsanız yeni port için firewalldan izin vermeyi unutmayınız;

firewall-cmd --permanent --add-port=1453/tcp

Mutlu kodlamalar.

VN:F [1.9.22_1171]
Rating: 10.0/10 (4 votes cast)

There were failed login attempts since the last successful login.

Linux sunucuma her giriş yaptığımda “There were 3313 failed login attempts since the last successful login.” şeklinde uyarı ile karşılaşmaktaydım. :) Artık bu durum canımı sıktı ve bunu engelledim. Bu yazımda sizin de bunu engellemenizi anlatacağım.

Bu uyarı ile siz de karşılaşıyorsanız sunucunuza brute force saldırısı yapıldığını bilmeniz gerekir. Tam da bu noktada fail2ban otomatik olarak kötü amaçlı davranışları engelleyecek bir yazılım olarak karşımıza çıkmaktadır. Bu uygulama tekrarlanan başarısız oturum açma girişimleri gibi eylemleri tespit eder ve banlar.

Step 1: Fail2Ban yazılımını kuruyoruz;

sudo yum install fail2ban

Step 2: Konfigurasyon dosyasının kopyalanması;

sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

Step 3: Konfigurasyon dosyasının ayarlanması;

sudo nano /etc/fail2ban/jail.local

ile yapılandırma dosyamızı açtığımızda aşağıdaki ayarları yapmanız yeterlidir;

[DEFAULT]

# "ignoreip" can be an IP address, a CIDR mask or a DNS host
ignoreip = 127.0.0.1/8
bantime  = 600
maxretry = 3

# "backend" specifies the backend used to get files modification. Available
# options are "gamin", "polling" and "auto".
# yoh: For some reason Debian shipped python-gamin didn't work as expected
#      This issue left ToDo, so polling is default backend for now
backend = auto

#
# Destination email address used solely for the interpolations in
# jail.{conf,local} configuration files.
destemail = root@localhost

ignoreip adres alanınına ip adresinizi yazarak, kendinizi banlamamanızı sağlayabilirsiniz. Birden fazla ip adresi girebilirsiniz. Bunun için ip adresleri arasında boşluk koymanız yeterlidir.

maxretry, azami deneme sayısıdır. Bu sayının üzerinde bir deneme yapıldığında bantime kadar saniye banlama yapılacaktır. Banlama süresi default olarak 10 dakikadır. Aynı şekilde maxrerty default değeri 5’tir.

Destemail; e-mail olarak size bilgi göndermesini sağlar.

Ayrıca fail2ban uygulamasının güzel tarafı bu durum oluştuğunda bir action aldırabilirsiniz.

Step 4: Restart Fail2Ban

sudo service fail2ban restart

 

Bu uygulamaya ek öneriler;

1) root kullanıcısını disable edebilirsiniz.

2) Default portu 22 olan SSH’ın portunu değiştirebilirsiniz.

VN:F [1.9.22_1171]
Rating: 9.7/10 (3 votes cast)

Centos üzerinde httpd.conf dosyasını bulma

Merhabalar,

httpd.conf dosyasının nerede olduğunu bulmak aslında basit bir iş ama basitce değinmek istedim. Genel olarak bilindiği gibi dosyayı bulmak için

find / -name httpd.conf

komutu işinizi görecektir. Fakat oldu da iki tane httpd.conf dosyası buldunuz hangisi doğru? Burada ise ikinci seçenek işinizi görecektir.

httpd -V

komutu ile karşınıza aşağıdaki gibi bir info gelecektir.

Server version: Apache/2.4.6 (CentOS)
Server built: Jan 12 2015 13:22:31
Server’s Module Magic Number: 20120211:23
Server loaded: APR 1.4.8, APR-UTIL 1.5.2
Compiled using: APR 1.4.8, APR-UTIL 1.5.2
Architecture: 64-bit
Server MPM: prefork
threaded: no
forked: yes (variable process count)
Server compiled with….
-D APR_HAS_SENDFILE
-D APR_HAS_MMAP
-D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
-D APR_USE_SYSVSEM_SERIALIZE
-D APR_USE_PTHREAD_SERIALIZE
-D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
-D APR_HAS_OTHER_CHILD
-D AP_HAVE_RELIABLE_PIPED_LOGS
-D DYNAMIC_MODULE_LIMIT=256
-D HTTPD_ROOT=”/etc/httpd”
-D SUEXEC_BIN=”/usr/sbin/suexec”
-D DEFAULT_PIDLOG=”/run/httpd/httpd.pid”
-D DEFAULT_SCOREBOARD=”logs/apache_runtime_status”
-D DEFAULT_ERRORLOG=”logs/error_log”
-D AP_TYPES_CONFIG_FILE=”conf/mime.types”
-D SERVER_CONFIG_FILE=”conf/httpd.conf”

bu bilgilerden HTTPD_ROOT + SERVER_CONFIG_FILE değerleri size dosyanın adresini verecektir. Benim sunucumda /etc/httpd/conf/httpd.conf dizinindeymiş. Sadece ilgili dataları almak için;

httpd -V | grep -e SERVER_CONFIG_FILE -e HTTPD_ROOT

komutu işinizi görecektir.

Mutlu kodlamalar.

VN:F [1.9.22_1171]
Rating: 9.7/10 (3 votes cast)

Laravel Error in exception handler: The stream or file app/storage/logs/laravel.log

Laravel ile çalışırken eğer ki konfigurasyonda eksiklik olursa aşağıdaki gibi bir hata alırsınız. http://laravel.com/docs/4.2/installation#configuration adresinde de belirtildiği gibi

Laravel may require one set of permissions to be configured: folders within app/storage require write access by the web server.

Laravel yüklenmesinden sonra, app/storage dizinlerine web sunucu yazma izinleri hakları tanımanız gerekebilir. Tabi bunu yaparken chmod -777 kötü bir seçim olabilir. Bunun yerine aşağıdaki gibi işlem yapabilirsiniz;

httpd.conf (httpd.conf dosyasını yerini bulamıyorsanız “find -name httpd.conf” işinizi görür) dosyası içerisinde aşağıdaki gibi bir parametre göreceksiniz.

User apache
Group apache

burada kullanıcıyı bulduktan sonra

cd app/
chown -R apache:apache storage
cd storage/
find . -type d -exec chmod 775 {} \; && find . -type f -exec chmod 664 {} \;

şeklinde yazma yetkisi verebilirsiniz.

 

VN:F [1.9.22_1171]
Rating: 10.0/10 (2 votes cast)