Showing posts with label Secure. Show all posts
Showing posts with label Secure. Show all posts

June 26, 2015

Quản lý cơ sở dữ liệu với SSH

1. Giới thiệu:
Bạn có thể kết nối tới máy chủ qua SSH (*) để quản lý cơ sở dữ liệu MySQL. Tuy nhiên việc tạo cơ sở dữ liệu mới trực tiếp qua SSH bị khóa vì lý do bảo mật và bạn phải thực hiện qua cPanel (xem hướng dẫn). 

2. Các thao tác thực hiện:
Để kết nối bạn sử dụng dòng lệnh sau:

mysql --protocol tcp -h 127.0.0.1 -u username -p 

trong đó username là tên đăng nhập vào cPanel của bạn. Hệ thống sẽ yêu cầu bạn nhập mật khẩu xác nhận. Mật khẩu nhập qua giao diện SSH sẽ không được hiển thị, do đó bạn cần lưu ý gõ mật khẩu chính xác, hoặc dùng dòng lệnh

mysql --protocol tcp -h 127.0.0.1 -u username -p passwordđể thay thế (trong trường hợp này password là mật khẩu của bạn và sẽ hiện lên đầy đủ). Để bỏ qua việc nhập mật khẩu khi kết nối với MySQL qua SSH, bạn có thể thay đổi nội dung file .my.conf nằm trong thư mục gốc của bạn với nội dung sau

[client]
user="username_của_bạn"
pass="password_của_bạn"


Sau đó bạn có thể dùng các lệnh SQL để quản lý cơ sở dữ liệu của mình.

June 16, 2015

Quản lí dịch vụ SSH

Với những ai làm Linux System Admin hoặc DevOps thì việc quản lí vài chục, vài trăm server là chuyện bình thường. Việc nhớ các địa chỉ IP, port để SSH vào sẽ rất khó. Dưới đây là cách mình dùng để quản lý các truy cập SSH của mình rất tiện dụng và đỡ phải nhớ nhiều.
Cách này áp dụng cho những ai xài Linux hoặc Mac, SSH từ terminal.

1. Cách thông thường

Nếu không quản lý thì cách thông thường để ta SSH vào server như sau:
ssh xluffy@1.2.3.4 
or
ssh xluffy@2.3.4.5 -p 5050 -> nếu port mặc định ssh được đổi
or
ssh root@3.4.5.6
or
ssh root@4.5.6.7 -p 2222
or 
ssh -i ~/.ssh/ruby.xyz.private root@5.6.7.8
Như cách thông thường này bạn sẽ phải nhớ 4 thông số
  • User đăng nhập vào server đó (nếu bạn quản lí nhiều server với nhiều vai trò khác nhau)
  • Địa chỉ IP của server
  • Port của server (nếu port được đổi khác port mặc định 22)
  • Chỉ định private key

2. Quản lý với SSH client

Để quản lý ta có thể cấu hình SSH client như sau (~/.ssh/config)
Host kipalog.com
  User xluffy
  Hostname 1.2.3.4
  Port 5050
Host ruby.vn
  User xluffy
  Hostname 2.3.4.5
Host ruby.xyz
  User root
  Hostname 3.4.5.6
  Port 2222
Host x.ruby.xyz
  User root
  Hostname 4.5.6.7
  IdentityFile ~/.ssh/ruby.xyz.private
Với
  • Host: là tên tùy ý
  • User: user dùng để SSH
  • Hostname: địa chỉ IP của server
  • Port: port SSH, nếu bỏ trống có nghĩa là dùng port 22 mặc định
  • IdentityFile: chỉ tới private key, trong trường hợp bạn có nhiều cặp khóa
Từ bây giờ để SSH tới server bạn có thể làm như sau
ssh kipalog.com <=====> ssh xluffy@1.2.3.4 -p 5050
ssh ruby.vn <=====> ssh xluffy@2.3.4.5
ssh ruby.xyz <=====> ssh root@3.4.5.6 -p 2222
Rất dễ nhớ và không phải gõ nhiều

3. Quản lý SSH like a boss

Ngoài cách quản lý như trên mình có dùng thêm một gói storm. Với gói này bạn có thể dễ dàng add, edit, delete, list... các cấu hình quản lý SSH dễ dàng.
Ví dụ:
storm list
 Listing entries:
    kipalog.com -> xluffy@1.2.3.4:5050
    ruby.vn -> xluffy@2.3.4.5:22
    ruby.xyz -> root@3.4.5.6:2222
    x.ruby.xyz -> root@4.5.6.7:22 
        [custom options] identityfile=~/.ssh/ruby.xyz.private

storm search ruby
Listing results for ruby:
    ruby.vn -> xluffy@2.3.4.5:22
    ruby.xyz -> root@3.4.5.6:222i2
    x.ruby.xyz -> root@4.5.6.7:22

Nguồn : http://kipalog.com/posts/Quan-li-dich-vu-SSH

June 12, 2015

Các bước thay đổi SSH Port của server

Port 22 mặc định được sử dụng để kết nối SSH đến Linux Server, do đó sẽ có nhiều người lợi dụng điều này để tìm cách tấn công tài khoản root của VPS.
Để tăng thêm tính bảo mật cho VPS, các bạn nên thay đổi port đăng nhập SSH trên VPS thay vì dùng port 22 mặc định.

Các bước thay đổi port đăng nhập SSH

– Login vào VPS sử dụng quyền root
– Chỉnh sửa file sshd_config
nano /etc/ssh/sshd_config
– Tìm kiếm dòng #Port 22, bỏ dấu # ở đầu và thay bằng port bạn muốn dùng, ví dụ 2222 (Port này được sử dụng trên Windows chứ không dùng trên Linux)
Port 2222
Lưu ý port cần phải  free và không có service nào sử dụng để tránh xung đột. Xem thêm danh sách TCP và UDP port.

Mở port nếu dùng firewall

– Stop iptables
service iptables stop
– Mở port 2222
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 2222 -j ACCEPT
– Khởi động lại SSHD service
service sshd reload
– Khởi động lại iptables
service iptables start
Vậy là xong rồi đó, hãy login lại SSH sử dụng port mới xem nào.

June 6, 2015

Hướng dẫn đổi port mặc định của DirectAdmin và SSH

1. Giới thiệu
Server hay VPS nếu có sử dụng control DirectAdmin thì người quản trị không thể tránh khỏi việc thường xuyên nhận được email thông báo có tiêu đề dạng "Brute-Force Attack detected in service log from IP(s) 80.82.70.167"
Vậy Brute-Force Attack là gì? Câu trả lời là:
Trên môi trường internet thì một trong những hình thức phổ biến để hacker tấn công là "Attack Brute Force" hay còn gọi là "Dictionary Attack". Các script được tạo ra để cố gắng truy cập vào tài khoản của bạn như (web,ftp,mail..) thông qua một bộ từ điển tạo sẳn. Trong bộ từ điển chứa danh sách các tên người dùng và mật khẩu phổ biến. Script này sẽ cố gắng truy dò ra được user và password của chúng ta. Nếu thành công thì chúng sẽ login vào hệ thống của chúng ta đường đường chính chính.
Lúc này, đặt ra câu hỏi phải làm gì để hạn chế vấn đề này, làm gì để hệ thống được an toàn và bảo mật hơn. Bài viết này vHost sẽ hướng dẫn cách đơn giản và hiệu quả nhất là thực hiện thay đổi port mặc định của DirectAdmin (port 2222) và port SSH (port 22)
2 Thực hiện
Thay đổi port truy cập DirectAdmin
Step 1: SSH vào server với quyền root, ở đây vHost sử dụng phần mềm putty để SSH
Step 2: Thực hiện chỉnh sửa thiết lập và thay đổi port truy cập DirectAdmin
  • vim /usr/local/directadmin/conf/directadmin.conf
Tìm đến dòng port=2222 và thực hiện thay đổi
Step 3: Chỉnh sửa và thay đổi port 2222 bằng port mà ta muốn tại /var/www/html/redirect.php
  • vim /var/www/html/redirect.php

Step 4: Restart lại dịch vụ DirectAdmin
  • /etc/init.d/directadmin restart
Thay đổi port SSH
Cũng tương tự như DirectAdmin, chúng ta cần thay đổi port default truy cập vào SSH với quyền root (quyền cao nhất)
Ban đầu, sau khi truy câp SSH với quyền root vào Server hay VPS với port default là 22

Step 1: Chỉnh sửa file config ssh
  • vim /etc/ssh/sshd_config
Bỏ dấu # trước dòng Port 22 và thay đổi port truy cập SSH bằng port mới mà ta muốn (lớn nhất là 65536)

Nếu trường hợp server có nhiều hơn 1 IP, chúng ta có thể dùng 1 IP cho việc public ra internet, 1 IP để ta truy cập SSH (IP này chỉ có chúng ta biết), đối với trường hợp này, 1 IP public cho người dùng có thể truy cập vào website, nếu IP này thực hiện kết nối SSH thì lúc này sẽ không chấp nhận cho IP này có thể truy cập SSH vào hệ thống. Để thực hiện điều này, chúng ta cần bỏ dấu # trước dòng ListenAddress 0.0.0.0 và thay 0.0.0.0 thành IP mà không dùng để public ra internet cho người truy cập website.
Step 2: Sau khi đã thực hiện thay đổi và lưu lại hoàn tất, chúng ta cần restart lại SSH
  • /etc/init.d/sshd restart
Note: Trong trường hợp nếu hệ thống VPS, Server sử dụng Firewall, cần thực hiện như sau:
Step 1: Thực hiện stop service iptables
  • /etc/init.d/iptables stop
Step 2: Sửa file cấu hình iptables
  • vim /etc/sysconfig/iptables
Chỉnh sửa hoặc cập nhật các dòng sau:
## delete or comment out port 22 line ##
## -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
## open port 2020
-A INPUT -m state --state NEW -m tcp -p tcp --dport 2020-j ACCEPT
Với 2020 là port ssh cần đổi.
Step 3: Khởi động lại service sshd
  • /etc/init.d/sshd reload
Step 4: Khởi động lại service iptables

  • /etc/init.d/iptables start

June 5, 2015

How to enable telnet server on Centos 5

TELNET (TELetype NETwork) is a network protocol used on the Internet or local area network LAN connections.

Telnetd is normally invoked by the internet server inetd or xinetd for requests to connect to the telnet port as indicated by the /etc/services file. Usaually telnet listen on port TCP port 23.

Telnet in is insecure protocol and it is recommended that you use ssh server. But some time you really need telnet then first install telnet server as according to version of Linux distribution.

Telnet server installation:

[root@lecuong ~]# yum install telnet-server

Configure telnet server: 

The configuration file for telnet is /etc/xinetd.d/telnet. To enable telnet server you need to open this file and make sure disable = no read asdisable = yes.

[root@lecuong ~]# vi /etc/xinetd.d/telnet

Alternately:

[root@lecuong ~]# chkconfig telnet on

To start telnet server type command:

[root@lecuong ~]# /etc/init.d/xinetd restart


Finish !!

Installing Telnet In CentOS/RHEL/Scientific Linux 6 & 7

Disclaimer:

Before installing and using Telnet, keep the following in mind.
  • Using Telnet in public network(WAN) is very very bad idea. It transmits login data in the clear format. Everything will be sent in plain text.
  • If you still need Telnet, It is highly recommended use it in the local area network only.
  • Alternatively, you can use SSH. But make sure you’ve disabled root login in SSH.

What Is Telnet?

Telnet is a network protocol which is used to connect to remote computers over TCP/IP network. Once you establish a connection to the remote computer, it becomes a virtual terminal and will allow you to communicate with the remote host from your local system.
In this brief tutorial, let us see how to install Telnet, and how to access remote systems via Telnet.

Installation

Open your terminal and type the following command to install telnet:
yum install telnet telnet-server -y
Now, the telnet has been installed in your server. Next, edit the telnet configuration file /etc/xinetd.d/telnet;
vi /etc/xinetd.d/telnet
Set disable = no:
# default: on
# description: The telnet server serves telnet sessions; it uses \
#       unencrypted username/password pairs for authentication.
service telnet
{
        flags           = REUSE
        socket_type     = stream
        wait            = no
        user            = root
        server          = /usr/sbin/in.telnetd
        log_on_failure  += USERID
        disable         = no
}
Save and quit the file. Be mindful that you don’t have do this step in CentOS 7.
Now restart the telnet service using the following command:
On CentOS 6.x systems:
service xinetd start
Make this service to start automatically on every reboot:
On CentOS 6:
chkconfig telnet on
chkconfig xinetd on
On CentOS 7:
systemctl start telnet.socket
systemctl enable telnet.socket
Allow the telnet default port 23 through your firewall and Router. To allow the telnet port through firewall, Edit file/etc/sysconfig/iptables on CentOS 6.x systems:
vi /etc/sysconfig/iptables
Add the line as shown in red color:
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW --dport 23 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
Save and exit the file. Restart iptables service:
service iptables restart
On CentOS 7, run the following commands to enable telnet service through firewall.
firewall-cmd --permanent --add-port=23/tcp
firewall-cmd --reload
Thats it. Now telnet server is ready to use.

Creating users

Create a test user, for example “sk” with password “centos“:
useradd sk
passwd sk

Client Side Configuration

Install telnet package:
yum install telnet
On DEB based systems:
sudo apt-get install telnet
Now, open Terminal, and try to access your server(remote host).
If your client is Linux system, open the terminal and type the following command to connect to telnet server.
telnet 192.168.1.150
Enter username and password which we have created in the server:
Sample output:
Trying 192.168.1.150...
Connected to 192.168.1.150.
Escape character is '^]'.

Kernel 3.10.0-123.13.2.el7.x86_64 on an x86_64
server1 login: sk
Password: 
[sk@server1 ~]$
As you see in the above output, the remote system has been successfully accessed from the local machine.
If your client is windows system, then go to Start -> Run -> Command Prompt.
In the command prompt, type the command:
telnet 192.168.1.150
Where 192.168.1.150 is remote host IP address.
Now you will be able to connect to your server.
That’s it.