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方式。
支持该方式的服务器存在跨站脚本漏洞,通常在描述各种浏览器缺陷的时候,把"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
本文来自:银河网安官网[WWW.YHSAFE.NET] 请尊重作者原创,转载时带上版权信息.详情参考:http://www.yhsafe.net/linux_security_10_tools

linux服务器安全配置10大技巧的更多相关文章

  1. Linux服务器时间同步配置

    Linux服务器时间同步配置   以CentOS7 做时间服务器,其他服务器(Centos 6.RHEL7)同步该服务器时间 RHEL 7.CentOS 7 默认的网络时间协议 为Chrony 本教程 ...

  2. 在Linux服务器上配置phpMyAdmin

    使用php和mysql开发网站的话,phpmyadmin是一个非常友好的mysql管理工具,并且免费开源,国内很多虚拟主机都自带这样的管理工具,配置很简单,接下来在linux服务器上配置phpmyad ...

  3. [亲测]ASP.NET Core 2.0怎么发布/部署到Ubuntu Linux服务器并配置Nginx反向代理实现域名访问

    前言 ASP.NET Core 2.0 怎么发布到Ubuntu服务器?又如何在服务器上配置使用ASP.NET Core网站绑定到指定的域名,让外网用户可以访问呢? 步骤 第1步:准备工作 一台Liun ...

  4. 本地Linux服务器上配置Git

    当我们需要拉取远程服务器代码到本地服务器时,我们首先要确定已经配置了正确的Git账号,可以从~/.gitconfig文件(为隐藏文件,需要使用ls -a查看),以及~/.ssh下的id_rsa.pub ...

  5. [亲测]七步学会ASP.NET Core 2.0怎么发布/部署到Ubuntu Linux服务器并配置Nginx反向代理实现域名访问

    前言 ASP.NET Core 2.0 怎么发布到Ubuntu服务器?又如何在服务器上配置使用ASP.NET Core网站绑定到指定的域名,让外网用户可以访问呢? 步骤 第1步:准备工作 一台Liun ...

  6. linux服务器上配置多个svn仓库

    linux服务器上配置多个svn仓库 1.在指定目录建立仓库保存总目录,本文示例目录设定为:/usr/local/svn/svnrepos # mkdir -p /usr/local/svn/svnr ...

  7. 快速开发 jQuery 插件的 10 大技巧(转)

    1. 把你的代码全部放在闭包里面 这是我用的最多的一条.但是有时候在闭包外面的方法会不能调用.不过你的插件的代码只为你自己的插件服务,所以不存在这个问题,你可以把所有的代码都放在闭包里面.而方法可能应 ...

  8. Linux服务器安全配置

    众所周知,网络安全是一个非常重要的课题,而服务器是网络安全中最关键的环节.Linux被认为是一个比较安全的Internet服务器,作为一种开放源代码操作系统,一旦Linux系统中发现有安全漏洞,Int ...

  9. (转)linux服务器安全配置攻略

    引言: 最小的权限+最少的服务=最大的安全 所以,无论是配置任何服务器,我们都必须把不用的服务关闭.把系统权限设置到最小话,这样才能保证服务器最大的安全.下面是CentOS服务器安全设置,供大家参考. ...

随机推荐

  1. redis数据类型(五)set类型

    一. set类型 set是无序集合,最大可以包含(2 的 32 次方-1)个元素. set 的是通过 hash table 实现的,所以添加,删除,查找的复杂度都是 O(1). hash table ...

  2. springboot主从数据库

    是从springmvc的思路上来做的,主要就是配置主.从DataSource,再继承AbstractRoutingDataSource,重写determineCurrentLookupKey方法,通过 ...

  3. Markdown 语法整理大集合2017

    简明教程:https://ouweiya.gitbooks.io/markdown/ 1.标题 代码 注:# 后面保持空格 # h1 ## h2 ### h3 #### h4 ##### h5 ### ...

  4. LINQ-Where子句与select子句

    1.Where子句 where子句的作用就是筛选元素,除了开始喝结束位置,where子句几乎可以出现在LINQ表达式的任意位置.一个LINQ表达式中可以有Where子句,也可以没有:可以有一个,可以有 ...

  5. Spring学习(二)--- Bean 作用域

    概述 本文介绍的Spring 中bean的作用域. 问题 : bean的作用域有几种,有那些应用场景 bean 装配过程 下图为bean在容器中从创建到销毁的若干阶段. bean 作用域 作用域介绍 ...

  6. 第7天:javascript-DOM 获取标签、注册事件改变属性的值、innerText、改变属性的值等

    javascript WEB api------DOM document object model 案例 为元素注册点击事件,弹出对话框 <input type="button&quo ...

  7. SublimeText3 插件的使用和本身的配置

    --------------------20180109----------------------- Part1:如何设置代码字体变大变小 1.点击菜单栏 Sublime Text 中prefere ...

  8. 1、类、封装(私有private、this关键字)

    类与对象 对象在需求中的使用 ​ 对面向对象有了了解之后,我们来说说在具体问题中如何使用面向对象去分析问题,和如何使用面向对象. ​ 我们把大象装冰箱为例进行分析. ​ 在针对具体的需求,可以使用名词 ...

  9. Spring Boot 打包jar部署服务器

    部署方式:打包成jar部署 部署方式有两种,一种是传统的war包,另一种是打包成jar,推荐第二种方式部署 部署准备 1. jar包内置tomcat,无需服务器安装tomcat环境 2.需要JDK,且 ...

  10. C#语言总结1

    C#C#定义: C#是一门面向对象.面向组件的一门语言,是.NET的一部分. 程序结构: 命名空间 类{ 属性 方法 main函数入口 } 数据类型: C#的数据类型分为:值类型(Value type ...