HƯỚNG DẪN Bảo mật nâng cao Linux kernel với sysctl.conf

Thảo luận trong 'KIẾN THỨC VPS/SERVER' bắt đầu bởi quyet1990, 7/12/16.

  1. quyet1990

    quyet1990 New Member

    Tham gia ngày:
    22/10/16
    Bài viết:
    220
    Đã được thích:
    0
    Làm thế nào để thiết lập các tùy chọn bảo mật nâng cao của giao thức TCP/IP và bộ nhớ ảo để cải thiện an ninh và tăng hiệu suất của hệ thống của tôi? Làm thế nào để cấu hình hạt nhân Linux để ngăn chặn một số loại tấn công bằng cách sử dụng /etc/sysctl.conf? Làm thế nào để thiết lập các thông số hạt nhân Linux? Để giải quyết những vấn đề đó ta hãy xem hướng dẫn sau đây.

    sysctl là một giao diện cho phép bạn thực hiện thay đổi cho một hạt nhân Linux đang chạy. Với /etc/sysctl.conf bạn có thể cấu hình các thiết lập mạng và hệ thống Linux như:
    • Giới hạn cấu hình truyền dữ liệu mạng cho IPv4
    • Giới hạn cấu hình truyền dữ liệu mạng cho Ipv6
    • Bật bảo vệ execshield
    • Ngăn chặn chống lại tấn công syn flood
    • Bật tính năng xác minh địa chỉ IP
    • Ngăn chặn một cracker sử dụng một cuộc tấn công giả mạo đối với các địa chỉ IP của máy chủ.
    • Ghi log về một số dạng của gói tin đáng ngờ, chẳng hạn như các gói giả mạo, các gói mã nguồn định tuyến và chuyển hướng.
    Lệnh sysctl
    Lệnh sysctl được sử dụng để thay đổi các tham số hạt nhân tại thời gian chạy. /etc/sysctl.conf là một tập tin văn bản có chứa các giá trị sysctl để được đọc và được thiết lập bởi sysct vào lúc khởi động. Để xem giá trị hiện tại, hãy nhập:
    Mã:
    sysctl -a
    sysctl -A
    sysctl mib
    sysctl net.ipv4.conf.all.rp_filter
    
    Để reload các thiết lập, hãy nhập:
    Mã:
     sysctl -p 
    Một ví dụ mẫu /etc/sysctl.conf
    Chỉnh sửa /etc/sysctl.conf và cập nhật nó như sau. Tập tin được ghi chép lại với nhiều ý kiến. Tuy nhiên, tôi khuyên bạn nên sử dụng tập tin cấu hình chính thức sysctl Linux kernel (xem dưới đây):
    Mã:
    # The following is suitable for dedicated web server, mail, ftp server etc.
    # ---------------------------------------
    # BOOLEAN Values:
    # a) 0 (zero) - disabled / no / false
    # b) Non zero - enabled / yes / true
    # --------------------------------------
    # Controls IP packet forwarding
    net.ipv4.ip_forward = 0
    
    # Controls source route verification
    net.ipv4.conf.default.rp_filter = 1
    
    # Do not accept source routing
    net.ipv4.conf.default.accept_source_route = 0
    
    # Controls the System Request debugging functionality of the kernel
    kernel.sysrq = 0
    
    # Controls whether core dumps will append the PID to the core filename
    # Useful for debugging multi-threaded applications
    kernel.core_uses_pid = 1
    
    # Controls the use of TCP syncookies
    #net.ipv4.tcp_syncookies = 1
    net.ipv4.tcp_synack_retries = 2
    
    ########## IPv4 networking start ##############
    # Send redirects, if router, but this is just server
    net.ipv4.conf.all.send_redirects = 0
    net.ipv4.conf.default.send_redirects = 0
    
    # Accept packets with SRR option? No
    net.ipv4.conf.all.accept_source_route = 0
    
    # Accept Redirects? No, this is not router
    net.ipv4.conf.all.accept_redirects = 0
    net.ipv4.conf.all.secure_redirects = 0
    
    # Log packets with impossible addresses to kernel log? yes
    net.ipv4.conf.all.log_martians = 1
    net.ipv4.conf.default.accept_source_route = 0
    net.ipv4.conf.default.accept_redirects = 0
    net.ipv4.conf.default.secure_redirects = 0
    
    # Ignore all ICMP ECHO and TIMESTAMP requests sent to it via broadcast/multicast
    net.ipv4.icmp_echo_ignore_broadcasts = 1
    
    # Prevent against the common 'syn flood attack'
    net.ipv4.tcp_syncookies = 1
    
    # Enable source validation by reversed path, as specified in RFC1812
    net.ipv4.conf.all.rp_filter = 1
    net.ipv4.conf.default.rp_filter = 1
    
    ########## IPv6 networking start ##############
    # Number of Router Solicitations to send until assuming no routers are present.
    # This is host and not router
    net.ipv6.conf.default.router_solicitations = 0
    
    # Accept Router Preference in RA?
    net.ipv6.conf.default.accept_ra_rtr_pref = 0
    
    # Learn Prefix Information in Router Advertisement
    net.ipv6.conf.default.accept_ra_pinfo = 0
    
    # Setting controls whether the system will accept Hop Limit settings from a router advertisement
    net.ipv6.conf.default.accept_ra_defrtr = 0
    
    #router advertisements can cause the system to assign a global unicast address to an interface
    net.ipv6.conf.default.autoconf = 0
    
    #how many neighbor solicitations to send out per address?
    net.ipv6.conf.default.dad_transmits = 0
    
    # How many global unicast IPv6 addresses can be assigned to each interface?
    net.ipv6.conf.default.max_addresses = 1
    
    ########## IPv6 networking ends ##############
    #Enable ExecShield protection
    kernel.exec-shield = 1
    kernel.randomize_va_space = 1
    
    # TCP and memory optimization
    # increase TCP max buffer size setable using setsockopt()
    #net.ipv4.tcp_rmem = 4096 87380 8388608
    #net.ipv4.tcp_wmem = 4096 87380 8388608
    # increase Linux auto tuning TCP buffer limits
    #net.core.rmem_max = 8388608
    #net.core.wmem_max = 8388608
    #net.core.netdev_max_backlog = 5000
    #net.ipv4.tcp_window_scaling = 1
    # increase system file descriptor limit 
    fs.file-max = 65535
    
    #Allow for more PIDs
    kernel.pid_max = 65536
    
    #Increase system IP port limits
    net.ipv4.ip_local_port_range = 2000 65000
    
    Bạn nhớ reload lại để áp dụng các thay đổi.
     

Chia sẻ trang này

Đang tải...