服务器安全配置之linux服务器安全配置linux操作系统 -电脑资料

电脑资料 时间:2019-01-01 我要投稿
【www.unjs.com - 电脑资料】

    对于刚使用linux服务器的朋友来讲服务器安装是多么困难的一件事情,因为对系统不了解所以很多安全不会做,下面我给大家介绍一篇linux服务器安全配置,参考本文章可基本防一些小 了,

服务器安全配置之linux服务器安全配置linux操作系统

    1.禁止ping

    /etc/rc.d/rc.local

    echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all

    2.对用户和口令文件进行权限控制

    chmod 600 /etc/passwd

    chmod 600 /etc/shadow

    chmod 600 /etc/group

    chmod 600 /etc/gshadow

    3.给下面文件加上不可更改属性

    chattr +i /etc/passwd

    chattr +i /etc/shadow

    chattr +i /etc/group

    chattr +i /etc/gshadow

    4.对vsftp进行访问控制

    vi hosts.deny

    vsftpd: all –先禁止所有vsftp的请求

    vi hosts.allow

    vsftpd: 192.168.2.1 –再允许内网的vsftd请求

    5.关闭无用端口,只开启常规端口(21、22、80、443)

    service portmap stop

    chkconfig –level 35 portmap off –关闭111端口

    netstat -nap |grep 32768

    killall rpc.statd –关闭32768端口

    netstat -nap |grep 631

    killall cupsd –关闭631端口

    service sendmail stop

    chkconfig –level 12345 sendmail off –关闭25端口

    6.apache安全设置(先备份httpd.conf配置文件)

    vi /etc/httpd/httpd.conf

    ServerSignature Off

    ServerTokens Prod —隐藏Apache的版本号及其它敏感信息

    Options -ExecCGI -FollowSymLinks -Indexes –关闭CGI执行程序、includes、目录浏览

    将UserDir public_html改为UserDir disabled

    #ScriptAlias /cgi-bin “/usr/local/apache/cgi-bin/”

    注释掉manual

    7.vi /etc/profile

    HISTFILESIZE=30

    HISTSIZE=30 –这表示每个用户的“.bash_history”文件只可以保存30条旧命令

    tmout=600 –用户将在10分钟无操作后自动注销

    vi /etc/skel/.bash_logout

    rm -f $HOME/.bash_history –当用户每次注销时,“.bash_history”文件都会被删除。

    vi /etc/inittab

    ca::ctrlaltdel:/sbin/shutdown -t3 -r now

    改为:

    #ca::ctrlaltdel:/sbin/shutdown -t3 -r now

    /sbin/init q –让改动起作用

    8.删除无法帐户和组

    userdel adm

    userdel lp

    userdel sync

    userdel shutdown

    userdel halt

    userdel mail

    userdel news

    userdel uucp

    userdel operator

    userdel games

    userdel ftp

    groupdel adm

    groupdel lp

    groupdel mail

    groupdel news

    groupdel uucp

    groupdel games

    ==================================================================================================

    你的webserver支持TRACE 和/或 TRACK 方式。 TRACE和TRACK是用来调试web服务器连接的HTTP方式,

电脑资料

服务器安全配置之linux服务器安全配置linux操作系统》(https://www.unjs.com)。

    支持该方式的服务器存在跨站脚本漏洞,通常在描述各种浏览器缺陷的时候,把”Cross-Site-Tracing”简称为XST。

    攻击者可以利用此漏洞欺骗合法用户并得到他们的私人信息。

    解决方案: 禁用这些方式。

    如果你使用的是Apache, 在各虚拟主机的配置文件里添加如下语句:

    RewriteEngine on

    RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)

    RewriteRule .* – [F]

    ===================================================================================================

    下面简单的说一些修改那些服务Banner的方法

    apache

    彻底地去掉banner, 修改httpd.h:

    Include/httpd.h

    Define SERVER_BASEVENDOR “Apache Group”

    Define SERVER_PRODUCTVENDOR “Apache”

    Define SERVER_BASEVERSION “1.3.27″

    后从新编译Apache就能够完全去掉了

    Wu-ftp

    用十六进制文本编辑器修改/usr/sbin/in.ftpd文件,找到如下几行:

    /var/log/lastlog

    Could not write %.100s: %.100s

    Version wu-2.6.1-16

    改成

    Microsoft FTP Service (Version 5.0)

    或者

    Serv-U FTP Server v4.0 for WinSock ready…

    Telnet banner

    编辑文件/etc/issue.net,找到类似这行(不同版本的Linux内容不太一样):

    Red Hat Linux release 8.0 (Psyche)

    Kernel r on an m

    改成

    Microsoft Windows Version 5.00 (Build 2195)

    Welcome to Microsoft Telnet Service

    Telnet Server Build 5.00.99206.1

    由于issue.net重启后会自动恢复,为了保持这些伪造的信息,需要再编辑文件/etc/rc.local,在这些行前加“#”号,注释掉恢复的功能:

    # echo “” > /etc/issue

    # echo “$R” >> /etc/issue

    # echo “Kernel $(uname -r) on $a $SMP$(uname -m)” >> /etc/issue

    # cp -f /etc/issue /etc/issue.net

    # echo >> /etc/issue

    Apache

    在安装Apache前,在源文件/src/include目录下找到httpd.h头文件。此文件定义了apache的版本信息,apache安装时需要调用它。编辑http.h文件,找到如下几行:

    #define SERVER_BASEVENDOR “Apache Group”

    #define SERVER_BASEPRODUCT “Apache”

    #define SERVER_BASEREVISION “1.3.20″

    可以根据自己的意愿改成其他信息,笔者改的是Microsoft-IIS/5.0。

    SSH

    编辑文件/etc/ssh/sshd_config,找到这行:

    Banner /etc/issue.net

    在此行前加#进行注释就可以不显示SSH的Banner。

    Sendmail

    在sendmail.mc文件中去掉$v、$z这两个宏,并包含下面的内容:

    define(`confSMTP_LOGIN_MSG’,$j Sendmail Secure/Rabid;$b)

    然后生成sendmail.cf文件:

    #m4 /etc/mail/sendmail.mc > /etc/sendmail.cf

    如果sendmail.mc中没有include(`/usr/share/sendmail-cf/m4/cf.m4′)这一行就需要和Sendmail提供的预设的配置文件cf.m4一起使用来生成文件sendmail.cf:

    #m4 /usr/share/sendmail-cf/m4/cf.m4 /etc/mail/sendmail.mc > /etc/sendmail.cf

    php

    vi php.ini

    设置 expose_php = Off

最新文章